
FP&A Variance Analyzer — Budget vs Actual
FP&A Variance Analyzer — Budget vs Actual
Download · one-time · runs with your own model · zero dependencies
Your accounting export tells you salaries came in $20,000 over budget. It does not
tell you whether that is two new hires — permanent, raise the forecast by $40k —
or a one-off bonus you should ignore. That gap between the number and the
decision is the entire job of FP&A. This Agent does that job.
What you get
Point it at your export. In one run:
variance-report.csv— every line, every period: variance, variance %, favourable/unfavourable, material yes/no. Sortable, pivot-ready.variance-report.html— a clean, print-ready report. Material variances highlighted, favourable in green, unfavourable in red. Works in light and dark.- The written analysis — headline, a bridge that arithmetically reconciles budget to actual, the top 3 drivers with mechanisms, forecast implications, and actions.
What makes it different from a pivot table
It knows that sign is not favourability. A variance of +$20,000 is good news on
revenue and bad news on salaries. Every line is classified revenue or expense, so
"favourable" means favourable — not "positive".
It refuses to call an underspend a saving. Marketing 48% under budget is the
single most misread line in management reporting. It usually means the campaign
never launched, and the pipeline gap lands next quarter. The Agent names the
mechanism or says plainly that it is unknown. It never banks it as a win by default.
It finds what the net figure hides. A net variance near zero is the most
dangerous number in any report — it normally means a large unfavourable variance
is masked by an unrelated favourable one. When that happens, that is the headline.
Two materiality tests, not one. A percentage threshold alone promotes a $400
office-supplies line that came in 300% over. An absolute floor alone hides the
small line that is quietly accelerating. Both must clear. The floor adapts to your
revenue by default, or set your own if your finance team has a house rule.
It classifies timing vs permanent vs one-off. An invoice landing late
self-corrects and should not move the forecast. A lost customer should. Reports
that treat those the same are why nobody reads them twice.
What it will not do
It will not invent what your file does not contain — and this is a feature.
- Runway needs a cash balance and cash movements. A P&L has neither, so it says the number cannot be produced rather than proxying it with net profit. The gap between accrual profit and cash is exactly where companies die.
- Price/volume/mix needs units. Most exports have none, so it says so instead of inventing a split.
- It cannot see causation. It names the one fact that would settle the question — "the March payroll register would answer this" — instead of guessing confidently.
Your file
A long-format export — one row per line item per period. Column names are matched
loosely, in English or French:
Line,Period,Type,Actual,Budget
Subscription revenue,2026-03,Revenue,415000,445000
Salaries,2026-03,Expense,236000,216000
| Needed | Accepted headers |
|---|---|
| Label (required) | line, account, item, category, poste, libellé, compte |
| Actual (required) | actual, actuals, real, réalisé |
| Budget (required) | budget, plan, forecast, target, prévu |
| Period | period, month, date, mois |
| Type | type, nature — Revenue/Expense, Produit/Charge |
It tolerates what real exports actually contain: 1 234,56 and 1,234.56,(1234) for negatives, currency symbols, blank rows, and Excel date cells.
No install, ever
Pure Python standard library. Excel files are read natively — no pip install,
no openpyxl, no virtual environment. If you have Python, it runs. There is a
built-in demo dataset, so you can see the full output before touching your own
numbers.
Who it is for
Founders reading their own P&L. Fractional CFOs turning a client export into a
board note. Controllers who write the same commentary every month. Anyone who has
ever stared at a variance column and thought "yes, but which of these actually
matter?"
Ships with three reference guides — how to read a variance, FP&A formulas and
where each one lies, and how to structure the commentary — so the analysis is
consistent every month, not dependent on how you phrase the question.


