fpa-scaffold-modellisted
Install: claude install-skill ryanduguid/au-fpa-pack
# Scaffold a model (Phase 1)
## Overview
Turn a company's financials into a runnable `pyfpa` config. Read the business profile first (see **fpa-learn-business**), infer the chart-of-accounts → model-line mapping, and write a validated `EntityConfig` YAML following openfpa conventions. Output a runnable skeleton plus an explicit list of assumptions to confirm.
Map the real numbers onto the existing engine structure.
## When to use
- A trial balance / P&L (CSV, XLSX, or pasted) needs to become a forecast model
- Onboarding follow-on after `.fpa/business-profile.md` exists
## Workflow
1. **Normalise and ingest** the financials. For XLSX or pasted statements, first save a reviewed UTF-8 CSV with `Account,Amount` columns, one row per account and numeric signed amounts. Reconcile the conversion to the supplied statement and preserve its source reference. Then call `pyfpa.read_pl_csv(path)` → `{account: amount}`. The reader accepts CSV, not workbooks or pasted text.
2. **Map accounts to model lines** of the `EntityConfig` schema:
- revenue accounts → `channels[]` (one `Channel` per channel/segment, with `annual_revenue`, a 12-month `seasonality` weight list, `growth_rate`, `cogs_pct`)
- cost accounts → `opex[]` as `OpexLine(kind="fixed", monthly_amount=…)` or `kind="variable", pct_of_revenue=…`
- debt → `debt[]` (`term_loan` with `monthly_principal`, or interest-only `loc`)
- balance-sheet rhythm → `working_capital(dso_days, dpo_days, dio_days)` and `opening_balan