← Back to CRM · project planning pack

Skill · Version 1.0.0

Projects and resource planning

Connects customer orders to delivery work, capacity, approved time and the correct billing basis.

projects-resource-planning

Agents using this skill

See how it helps

When is it useful?

Use when project commitments exceed available people or billing loses its source records.

What does it help you do?

  • Preserves order-to-project lineage and delivery structure.
  • Compares assignments and demand against actual capacity.
  • Locks approved time or expenses and distinguishes milestone from time-based billing.

Try asking this

Plan delivery from a signed order with limited consultant availability and traceable milestone invoices. Assign two overlapping projects to the same consultant and expose the capacity conflict. Approved time and milestone invoices must retain their original order references.

Detailed documentation

Read the skill’s original instructions, examples and checks in their authored language.

Details…Show less

Projects & Resource Planning

When to Use

Use when building or extending project delivery, professional services automation (PSA), resource scheduling/capacity planning, timesheets, billable expenses, or order-to-project delivery workflows.

1. Order-to-Project Lineage & Delivery Structure

In service and hybrid businesses, a won Opportunity or confirmed SalesOrder triggers a delivery Project:

  • Link project.source_order_id / opportunity_id and account_id so budget, contracted hours, and milestone deliverables trace directly back to the commercial agreement.
  • Model Phases / Milestones and Tasks / Work Packages with explicit budgets (budgeted_hours, budgeted_amount_minor), target dates, and completion states (planned $\rightarrow$ in_progress $\rightarrow$ ready_for_acceptance $\rightarrow$ accepted).

2. Resource Allocation & Capacity vs. Demand

Prevent double-booking people, equipment, or rooms by modeling both Capacity Supply and Allocated Demand:

  • Available Capacity: Working calendar hours per resource (resource_id, role/skill tags, standard hours/day minus approved time off/holidays).
  • Resource Allocations (Soft vs. Hard Bookings):
    • soft_booked: Tentative hold from an open high-probability opportunity or draft project plan.
    • hard_booked: Confirmed commitment on an active project (start_date, end_date, allocated_hours_per_day or % utilization).
  • Utilization & Over-Allocation Detection:
    • Compute utilization = allocated_hours / available_capacity_hours per time bucket (day/week) and flag over-allocations (> 100%) or skill/role shortages early.

3. Time & Expense Capture with Approval Locks

  • Timesheet & Expense Entries:
    • Record resource_id, project_id, task_id, work_date, duration_minutes (or hours NUMERIC(6,2)), billable boolean, billing_rate_snapshot, cost_rate_snapshot, and status (draft $\rightarrow$ submitted $\rightarrow$ approved $\rightarrow$ invoiced).
  • Immutability After Approval / Invoicing:
    • Once a time or expense entry is approved or linked to an invoice_line_id, lock it against direct edits! Corrections must use an explicit adjustment/credit entry so project profitability and customer invoices never drift.

4. Project Billing Models (T&M vs. Fixed-Price Milestones)

  • Time & Materials (T&M): Aggregate approved, unbilled (billable = true AND invoice_line_id IS NULL) time and expense entries within the billing period, locking them atomically when generating the draft invoice.
  • Fixed-Price / Milestone Billing: Trigger invoice eligibility when a ProjectMilestone transitions to accepted, tracking contract_amount - billed_to_date = remaining_to_bill.

Included files 1

  • SKILL.md