Use when deriving labor-only carve-out cost plans from schedule resource assignments, including category subtotals, totals, phase and category breakdowns, and CAPEX exclusions. Output is XLSX.
Create a standardized draft IT labor cost plan from schedule assignments, cross-checked against the risk register. Output is a formatted Excel workbook (XLSX). CSV is no longer the primary deliverable format.
{ProjectName}/{ProjectName}_Project_Schedule.xlsx — required input (task/resource data){ProjectName}/{ProjectName}_Risk_Register.xlsx — required inputgenerate_bravo_cost_plan.py) — XLSX format/structure reference only; never copy their resource names, cost figures, categories, or project-specific contentThe cost plan is the 3rd deliverable in the mandatory generation sequence:
| Step | Deliverable | Dependency |
|---|
| 1 | Project Schedule (CSV + XML) | None |
| 2 | Risk Register (.xlsx) | Schedule |
| 3 | Cost Plan | Schedule + Risk Register |
| 4 | Project Charter | Cost Plan |
| 5 | Executive Dashboard | Cost Plan + Risk Register |
| 6 | Management KPI Dashboard | Cost Plan + Risk Register |
| 7 | Monthly Status Report | All above |
Block cost plan generation if either schedule or risk register is missing.
Before writing any cost figures, perform all checks below. Fix any gap before proceeding.
{ProjectName}_Project_Schedule.xlsx.Resource Names column. If a schedule resource has no matching cost line, add one. If a cost line has no schedule counterpart, remove or rename it.{ProjectName}_Risk_Register.xlsx with Status = Amber or Red or Risk Rating ≥ 12.Risk Register #5)TBC with confirmation QG noted)Resource Names use + to separate multiple resources per task.+-split token that appears in the schedule must be traceable to at least one cost plan line.Integration Team if the schedule says App Teams + Test Team).CATEGORY, RESOURCE, TOTAL DAYS, TOTAL HRS, HOURLY RATE (EUR), TOTAL COST (EUR)
Based on: {ProjectName}_Project_Schedule.xlsx and Risk-aligned: {ProjectName}_Risk_Register.xlsx, grey fillFollow the Bosch blue theme used in generate_bravo_cost_plan.py:
| Element | Fill | Font |
|---|---|---|
| Title banner | #003B6E | White bold 13pt |
| Column headers | #0066CC | White bold 9pt |
| Metadata rows | #F2F2F2 | Black 8pt |
| Category section header | #0066CC | White bold 9pt |
| Detail rows (alternating) | White / #EFF4FB | Black 9pt |
| Subtotal rows | #C6D4E8 | Black bold 9pt |
| Overall total | #003B6E | White bold 10pt |
| Notes rows | #F2F2F2 | Black italic 8pt |
#,##0 on all EUR cost and rate cells.Create generate_{ProjectName}_cost_plan.py as a new script from scratch:
write_xlsx(path) function and Bosch blue theme styling.{ProjectName}/{ProjectName}_Cost_Plan.xlsx.TBC - to be approved at QG0 or QG1 if unknown).Cost plan output is complete when this file exists:
{ProjectName}/{ProjectName}_Cost_Plan.xlsx ← primary deliverable (XLSX, not CSV)