Budget Version Control & Approval: One Locked Baseline, Every Change Tracked
Stop drowning in budget_final_v7_REALLY_final.xlsx. Import each budget version, diff it line by line against the official baseline, let the FP&A lead lock exactly one approved baseline, and bridge every later reforecast back to it — with a full audit trail of who changed what and why.
A logged-in tool where you upload budget versions, the agent diffs each one line by line against the locked baseline, the FP&A lead approves exactly one version as the immutable baseline, later versions are clearly marked as reforecasts, and you export the official numbers plus a complete change log.
Before you start
- A Supabase account (free)
- A Vercel account (free)
- A Resend account (free)
- A CSV of a budget version (account/department/period/amount, plus a note on what changed)
- Claude Code or any AI coding agent
The problem this kills
Somewhere on a shared drive there is a file called budget_final_v7_REALLY_final.xlsx. Next to it
is budget_final_v7_REALLY_final_USE_THIS_ONE.xlsx, and a third one with a colleague's initials on
the end. Nobody is completely sure which set of numbers the board actually signed off on, which
tab is the approved plan and which is somebody's what-if, or when a line item quietly changed and
who changed it.
That's not a spreadsheet problem — it's a version-control and approval problem, and Excel was never built to solve it. There is no locked baseline, no record of what moved between versions, no note explaining why marketing's Q3 number jumped 40%, and no way to prove which file is official. Every reforecast starts from a copy of a copy, and the moment two people edit at once, the trail is gone. When finance can't say with certainty "these are the approved numbers," every downstream report, variance analysis, and board deck inherits the doubt.
You don't need a six-figure planning system to fix this. You need one place that stores each budget version immutably, shows exactly what changed between any version and the official baseline, and makes one person formally approve the baseline before anyone treats it as real.
What you'll build
A small, private web app for your FP&A team. You import a budget version from a CSV — the same account / department / period / amount rows you already work with — and add a note describing what changed and why. The tool stores that version, then diffs it line by line against the current locked baseline: which lines went up, which went down, which are brand new, and which disappeared.
When a version is ready to become official, the FP&A lead approves it, and it locks as the one and only baseline — immutable, with exactly one active baseline allowed at a time. Every version you upload afterward is automatically marked as a reforecast and shown with its bridge back to the baseline, so anyone can see how the plan has drifted since it was approved. Re-import the same version name and the tool stops you — no accidental duplicates. And every action — upload, approve, lock, export — is written to a complete audit trail. At the end, you export the official version plus a change log as clean CSVs, ready for your ERP, your EPM tool, or the board pack.
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 — how you name and store budget versions today, who your FP&A lead is and who's allowed to lock a baseline, exactly what columns make a budget line unique (account code? department? cost center? period? scenario?), how your periods and codes are named, your typical and planning-season volumes, and the messy edge cases (new accounts mid-year, reorgs, restated baselines, partial uploads). It reflects a short tailored spec back to you and waits for your thumbs-up before it builds anything, so the tool matches your chart of accounts and your versioning habits — not a generic template.
From there it walks the agent through the data model, the CSV import with duplicate guards, the line-by-line diff/bridge engine, the FP&A approval gate that locks the immutable baseline, the reforecast handling, the audit trail, and the official-version-plus-change-log export. Every step ends with a ready-to-copy prompt. Because the import and export are plain CSV, there's a built-in "No API yet?" path — you can build and run the whole thing this afternoon without integrating to any system of record.
The governance it includes (this is the point)
Budget numbers are decisions with money attached, so the controls aren't optional. The plan builds in:
- Login so only your finance team can open it.
- Row-level security so each organization only ever sees its own versions and numbers.
- A complete audit trail — who uploaded which version, who approved the baseline, what changed, and when.
- A hard human-in-the-loop approval gate — the tool diffs and drafts, but no version becomes the official baseline until the FP&A lead reviews the diff and approves it.
- An immutable, single baseline — exactly one approved baseline at a time, locked against edits, so "the official numbers" can never silently change underneath you.
- Duplicate guards — re-importing the same version name (or the same lines) is caught, not double-counted.
Who it's for
FP&A analysts and leads, controllers, and finance-owning founders who are tired of guessing which spreadsheet is the real budget. If you can export a budget to CSV and say who is allowed to approve the baseline, you can build this — no developer required.
You've got this — open the Implementation Plan, paste the first prompt, and let the agent interview
you. By the end of the afternoon, budget_final_v7_REALLY_final.xlsx retires for good.