Budget vs Actual Variance Reporter: Explain Every Variance Before the Package Goes Out
Import your budget and your GL actuals at the same account/department grain, and the tool computes MTD and YTD dollar and percent variances, flags everything over your thresholds, drafts a plain-English explanation for each, and waits for the analyst to edit and approve before the package is distributed to budget owners.
A logged-in tool where you import your budget and your GL/trial-balance actuals at the same account/department grain, the agent computes MTD and YTD dollar and percent variances, labels each favorable or unfavorable by account type, flags everything over your thresholds, drafts a plain-English explanation for each flagged line, the analyst reviews and edits the narratives and approves the package, and you export the variance report (CSV/PDF) and email each budget owner their section.
Before you start
- A Supabase account (free)
- A Vercel account (free)
- A Resend account (free)
- A budget export and an actuals / trial-balance export at the same account/department grain (CSV is fine)
- Your chart of accounts with each account typed as revenue or expense
- Claude Code or any AI coding agent
The problem this kills
Every month-end, somebody on the FP&A team rebuilds the same workbook. Paste in the budget. Paste in the trial balance. Pray the account codes line up — except department 400 uses a leading zero in one file and not the other, and three new accounts were opened last quarter that the budget never knew about. Then comes the part that actually takes the evening: hand-typing a variance explanation next to every line that moved, hoping you remembered why marketing overspent in May and whether that revenue beat was real or just a timing accrual that reverses next month.
The math is the easy part. The misery is everything around it: keys that don't match, a percent column that explodes to "infinity" because the budget cell was zero, expense overspends shown as a happy green positive number because nobody flipped the sign for cost accounts, and the endless copy-paste of "favorable due to lower-than-planned spend" into forty cells. And when it's finally assembled, it goes out as one undifferentiated PDF — so every budget owner has to scroll past everyone else's lines to find their three.
A variance package is a governed deliverable. It deserves to be a real tool that aligns the keys for you, gets favorable-versus-unfavorable right by account type, drafts the narratives, and makes the analyst sign off before a single number reaches a budget owner.
What you'll build
A small internal web app for your finance team. You import two files at the same grain — a budget (by account, or account + department) and your actuals (a trial balance or GL extract for the period). The tool aligns the account and department keys across both files, computes MTD and YTD variances in both dollars and percent, and labels each line favorable or unfavorable based on the account type — so an expense line that comes in under budget reads as favorable and a revenue miss reads as unfavorable, automatically.
It then applies your variance thresholds (a dollar amount, a percent, or both — and different by account type if you need) and flags only the lines worth explaining. For each flagged line, the agent drafts a plain-English variance explanation you can keep or rewrite. The analyst reviews the whole package, edits any narrative, and approves it. Only then can you export the variance report as CSV or PDF and email each budget owner their section through Resend. Re-import the same period and a duplicate guard stops the numbers from being double-counted.
What's inside the Implementation Plan
The downloadable plan is a step-by-step file you paste into an AI coding agent. It opens by interviewing you about your business — who assembles the package today and in what tool, where your budget and actuals come from, the exact column names and code formats for your account and department keys (and where the two files disagree), how you type accounts as revenue or expense, what thresholds make a variance worth explaining, and the messy exceptions like mid-year reforecasts, brand-new accounts, zero budgets, and reclasses. It reflects a short tailored spec back to you and gets your thumbs-up before it builds anything, so the tool matches your chart of accounts and your close — not a generic template.
From there it walks the agent through the data model, the budget/actuals import with key alignment and dedupe, the MTD/YTD variance engine with correct favorable/unfavorable signs, the threshold flagging, the AI-drafted explanations, the analyst review-and-approve gate, and the CSV/PDF export plus per-owner email. Every step ends with a ready-to-copy prompt. There's a full "No API yet?" path that uses Google Sheet / CSV imports as the data source and produces a clean CSV in the exact columns your downstream system expects — so you can build and run the whole thing this weekend no matter what ERP you're on.
The governance it includes (this is the point)
This package goes to budget owners and sometimes the board, so the controls aren't optional. The plan builds in login so only your finance team can use the tool, row-level security so you only ever see your own organization's numbers, a complete audit trail of who imported which file, who edited which narrative, and who approved the package, a hard human-approval gate so nothing is exported or emailed until the analyst signs off on the explanations, and duplicate guards keyed on account + department + period so re-importing a corrected trial balance can never double-count a line.
Who it's for
FP&A analysts, financial analysts, and controllers who assemble the monthly budget-vs-actual package — anyone who is tired of re-aligning account codes by hand, fighting the sign on expense variances, and typing the same explanations every close. If you can export a budget and a trial balance and tell us which accounts are revenue and which are expense, you can build this.
You've got this — start with the plan, paste the first prompt, and answer the interview. You'll have your first flagged-and-explained variance package on screen before the weekend's out.