← Back to Axel
AgentAxel

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

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.

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