Fpa excel model
The FP&A toolbelt for AI coding agents. Claude Code or Codex does the thinking; openfpa gives it a tested finance kernel, durable company memory, and a Karpathy inspired research loop that improves forecasts against your actuals. By Guiderail and Jeff Brines.
npx -y skills add JeffBrines/openfpa --skill fpa-excel-modelAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when the user wants their model in Excel with real working formulas - "export this to Excel", "a workbook I can hand my board", "something that recalculates when I change an assumption". Produces a live-formula workbook generated from the model structure and verified against the engine before delivery.
SKILL.md
3.0 KB, as published. Nobody here has run it
Live-Formula Excel Model (Operate)
Overview
Finance professionals ultimately want a workbook where changing an assumption
recalculates the model. This skill produces one from the model structure, with
named assumption cells and real formulas, then proves it reproduces the engine
before it ships. Static value dumps stay with forecast_to_excel; this skill
is for living models.
Core principle: no workbook ships unverified. The workbook is generated from the model, never hand-edited values.
The standard model
For the kernel's monthly model, one call:
import pyfpa
cfg = pyfpa.load_config("config.yaml")
pyfpa.model_to_excel(cfg, "model.xlsx")
Or via CLI: python3 -m pyfpa.cli model-export <company-root> --config config.yaml --out model.xlsx.
The workbook has an Assumptions sheet (every driver a named, editable cell: growth, COGS pct, seasonality, DSO/DIO/DPO, debt, tax, D&A, capex) and a Model sheet where every line of the monthly P&L and cash flow is a formula referencing those names.
Any other cadence or layout
Quarterly, weekly, a tab per segment, a lender view: these are YOUR work, not
kernel variants. Compose pyfpa.excel.toolkit (add_named_cell,
add_named_row, fill_formula_row, formats) in a company-specific exporter
under the generated namespace (models/generated/<name>/), then register it:
python3 -m pyfpa.cli entrypoint-register <root> --name excel-quarterly --kind report \
--description "Quarterly live-formula workbook" \
--command-json '["python3", "models/generated/<name>/excel_quarterly.py"]'
Keep formulas within the supported vocabulary (arithmetic, ^, SUM, MIN,
MAX, IF) so verification works.
Verify before delivering (always)
pip install formulas(verification-only dependency, not shipped at runtime).-
report = pyfpa.verify_workbook("model.xlsx", pyfpa.cashflow_from_config(cfg)) assert report.passed, report.failures - For a bespoke exporter, verify against the frame your exporter is meant to reproduce (the engine frame, or its quarterly/weekly aggregation).
- A failing report means the exporter is wrong. Fix the formulas, never the tolerance, and never deliver an unverified workbook.
Guardrails
- No workbook ships unverified.
- Generated from model structure; never paste computed values into formula cells.
- Supported formula vocabulary only; if you need a function outside it, restructure the formula (helper rows are fine) rather than expanding the vocabulary.
- Company-specific exporters live in generated namespaces and get tests like any other generated code.
Next
Workbook delivered, then fpa-board-briefing (the narrative that goes with it).