Skip to content
See what's possible

No. 09 · Case study · Excel workbook

The Budget

A working Excel budget with 3,303 formulas, from one prompt

The budget of a made-up coffee chain's new app, six months in: the approved plan, what's been spent, where it will land and what the next decision costs. Nine sheets, 3,303 formulas and not one typed-in result, so when you change an assumption, everything moves. Claude Code built the Excel file from one prompt of mine and checked it by looking at it. Change the numbers right here, or download it.

Claude CodeExcel file written as codeRecalculates on this pageChecks itself Added October 2026
Try a what-if

Each sheet below is a table with the values the workbook calculates. Select a cell to read its formula. The three charts on the Dashboard have a description, and their numbers are below them and on the Monthly sheet.

tidewell-app-budget.xlsx 3,303 formulas, no typed-in results
100%
A1
Select a cell to see where its number comes from.
ABCDEFGHIJKLMN
1
2Tidewell App 2.0: budget status
3End of September 2026 · Tidewell Coffee Co. · USD
4
5● Amber: inside the approved budget, with less than 50% of the contingency left
6Checks: All 14 checks pass · Scenario: Current forecast
7
8Approved budgetSpent to dateForecast at completionContingency leftLaunchWork per dollar
9$1,925k$827k$1,871k$54kJan 20270.86
10
incl. $178k contingency
43% of the budget · plan: $810k
+$124k against the base budget
30% of the $178k reserve
On the approved date
$0.86 of planned work for each $1 spent
11
12Cumulative spendWhat moves the forecast
13Approved plan against actual to date plus forecast. The shaded months are forecast.Forecast minus budget per cost line, largest first
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35ContingencyDecisions this month
36What has used the $178k reserve so farNumbers to have ready for the steering committee
37One more month of build would cost$187k
38The contingency left pays for0.3 months
39Pending change requests, not yet decided$46k
40Contingency left if they are approved$8k
41Forecast at today's work per dollar$2,096k
42… against the approved budget+$171k
43Work per dollar: the cost performance index on Report.
44A month of build: the current plan's build team and platform for one month.
45Data behind the charts
46Formulas only. The charts and the colours above read these cells.
47StatusAmberAmber: inside the approved budget, with less than 50% of the contingency left
48Checks failing0ScenarioCurrent forecastMonths late0
49
50Over (under) budget by cost lineLargest firstOverUnderRoom
51Product management– 0Approved changes59,500 59,500 – (45,675)
52Product design(21,875)21875Android development41,040 41,040 –
53iOS development(780)780Product design(21,875)– (21,875)
54Android development41,040 41040Quality assurance21,660 21,660 –
55Backend & integrations– 0Cloud hosting12,800 12,800 –
56Quality assurance21,660 21660Test devices5,040 5,040 –
57Cloud & DevOps3,625 3625All other lines5,445 5,445 –
58Engineering lead– 0
59User research & testing– 0
60Security & accessibility2,500 2500
61Payment certification1,700 1700
62Test devices5,040 5040
63Launch content– 0
64Cloud hosting12,800 12800
65Software & tools(1,830)1830
66Third-party services230 230
67Approved changes59,500 59500
68
69Contingency reserve
70Approved changes59,500
71Overruns64,110
72Left54,145
73Reserve177,755
Cumulative spend chart. Baseline plan: $1.7M; Actual + forecast: $1.9M; Approved budget: $1.9M. Shaded months are forecast.$0.0M$0.5M$1.0M$1.5M$2.0M$2.5MApr26May26Jun26Jul26Aug26Sep26Oct26Nov26Dec26Jan27Feb27Mar27Apr27May27Jun27Forecast monthsBaseline planActual + forecastApproved budget
Bar chart of the largest differences between forecast and budget: Approved changes +$59.5k, Android development +$41.0k, Product design -$21.9k, Quality assurance +$21.7k, Cloud hosting +$12.8k, Test devices +$5.0k, All other lines +$5.4k.-$80k-$60k-$40k-$20k$0k$20k$40k$60k$80kApproved changes+$59.5kAndroid development+$41.0kProduct design-$21.9kQuality assurance+$21.7kCloud hosting+$12.8kTest devices+$5.0kAll other lines+$5.4kOver budgetUnder budget
Contingency reserve: Approved changes $59.5k, Overruns $64.1k, Left $54.1k.$0k$20k$40k$60k$80k$100k$120k$140k$160k$180k$200k$59.5k$64.1k$54.1kApproved changesOverrunsLeft

Blue cells are inputs: select one, type a new value and press Enter, and the whole workbook recalculates. Everything else is a formula.

Download the Excel file 78 kB

Opens in Excel, Google Sheets, Apple Numbers and LibreOffice. No macros, no links to other files.

How to use it

Click
Any cell: its formula appears at the top. Click a reference in it to go there.
Type
Into a blue cell, then Enter: the whole workbook recalculates.
What-if
Four buttons that each change one input, the way you would.
Download
The Excel file, with its charts, checks and print setup.

What you’re looking at

Tidewell Coffee Co. is a coffee chain Claude Code made up, and it’s building a new app: order ahead, pay at the counter, collect rewards. It’s October 2026, six months into a twelve-month project. In March the steering committee approved $1.925 million. $827,000 is spent, and the forecast says the project will land at $1.871 million.

This is the project’s budget as an Excel workbook of nine sheets: a cover, a dashboard, a report by cost line and a monthly view for the people who read it; three sheets of inputs; one sheet with every calculation; and one with the checks the workbook runs on itself. It holds 3,303 formulas and not a single typed-in result. Every number on the dashboard comes from the inputs and the 64 bookings on the Actuals sheet, through a chain of formulas you can follow. Click a number above and its formula appears at the top. Click a reference in the formula and you’re there.

I wrote in my prompt that most people have never seen a really well-built spreadsheet, let alone one an AI made. So here’s the one Claude Code made, and you don’t need Excel to look inside it.

Talk it through, then have it built

You no longer have to spend days building a custom spreadsheet, or find a template that comes close and spend more days making it yours. Talk it through with an AI first, until what you need is fully specified: who reads the budget, what they decide with it, which numbers you know and which you’re guessing, what it has to answer every month. Then have it build exactly that.

I skipped the talking for this one. My prompt said “Don’t ask me questions”, because this budget was meant to show what Claude Code can do, not to run a real project. So Claude Code guessed: the company, the project, every number. For a budget you’ll actually use, let the AI ask its questions first.

I built this in Claude Code, but Claude Cowork or a chat with Claude could build it too, and ChatGPT and other models can do similar things. As far as I know, Microsoft’s own Copilot isn’t quite as strong in Excel yet. If it hasn’t caught up already, I think it will. For a budget at work, start with the assistant your company approved.

It’s a model, so change it

The four buttons above the sheet each change one input cell, the way you’d do it in Excel, and the whole workbook recalculates in your browser. Try them on the Dashboard:

  • The build slips a month. One more month of the whole team costs $187,000. The forecast jumps to $2.06 million, past the approved budget, the launch moves to February, and the status turns red.
  • Approve the gift cards. The one change request still waiting for a decision costs $46,000. Approve it and $8,000 is left of the contingency, the reserve set aside for surprises.
  • Contractors charge 10% more. Three of the eight roles are contractors on day rates. Their rise eats all but $17,000 of the contingency.
  • Close October before its costs are in. This one looks like good news: the forecast drops by $187,000, because October now counts as done and nothing was booked for it. But one of the workbook’s checks fails, and the dashboard says so in red.

Or select any blue cell, on the Inputs, Purchases or Actuals sheet, and type your own number.

Built to good spreadsheet practice

My prompt asked for the best practices of good spreadsheet design. Here’s what that turned into:

  • Inputs, calculations and results live on separate sheets. Inputs are in blue, assumptions on a yellow background, and they’re the only cells that aren’t locked. Every formula is protected, without a password, so nobody overwrites one by accident.
  • One timeline everywhere. Every month-by-month sheet has the same 15 months in the same columns, so column K always means September 2026.
  • One formula per row. Each row uses the same formula for every month. There’s no hand-edited exception in the middle, which is the most common way a spreadsheet goes quietly wrong.
  • The approved plan stays as it was. Today’s plan sits beside it in its own columns, and every difference is highlighted. Edit the approved plan anyway and a check fails.
  • The actuals look like a finance system’s export. One row per booking: invoices, staff costs charged to the project, costs booked before their invoice arrives, and credits. Next month you paste the new rows at the bottom, move “Actuals through” to the new month, and everything follows.
  • It checks itself. Fourteen checks: every booking has a known cost line, every closed month has actuals, the report adds up to the months, no purchase falls outside its phase, the plan fits the timeline. The result shows on the cover and the dashboard.
  • It explains itself. The cover says what the workbook is for, how to update it each month, what each sheet does, what the colours mean and what changed in each version. Every assumption says where it came from.
  • It prints. Every sheet is set up to print on A4, one page wide, and the long ones repeat their headings on every page.

Charts only where they answer something

My prompt said visualizations only where they help someone understand the budget or make a decision. There are three, all on the Dashboard:

  • Cumulative spend answers “are we on track, and where will we land?” The approved plan in grey, actuals plus forecast in blue, the forecast months shaded, the approved budget as a dashed line on top.
  • What moves the forecast answers “why?” The six cost lines furthest from their budget, largest first, plus everything else. The two approved change requests and an extra Android contractor explain most of what has used up the contingency.
  • Contingency answers “how much room is left?” Of the $178,000 reserve, approved changes took $59,500, overruns about $64,000, and about $54,000 is left.

The chart colours passed a colour-blindness check, and every bar carries its number, so colour is never the only clue. The rest of the dashboard is numbers, because a single number doesn’t need a chart: six key figures at the top, and a box with the figures to bring to the next steering committee. One of them: the contingency left pays for 0.3 months of delay.

The workbook disagrees with itself

The forecast is built bottom-up: today’s team, rates and plan for every month still to come. It says the project lands $54,000 inside its budget.

The Report sheet then asks a second question: how much of the planned work has actually been done for the money spent? (Project controllers call this earned value.) The engineering lead estimates the build at 50% done. By that measure, the first six months delivered 86 cents of planned work for every dollar. If the rest of the project goes the same way, it lands at $2.1 million, $171,000 over the approved budget.

Claude Code put both on the dashboard. One says the project is fine. The other says it isn’t, if the rest goes like the first six months. A steering committee would want to know which to believe, and why.

How it was made

Claude Code wrote the workbook as code: a Python script lays out every sheet and writes every formula, and the made-up company’s data sits in a separate file, from the day rates to the 64 bookings. LibreOffice, a free office suite, then opens the file and calculates it.

The first thing to get right was the story. In the first draft of the numbers, the project was already $108,000 over its approved budget: the build had slipped a month, and a month of this team costs $187,000. Claude Code judged that too dramatic for a project halfway through, so it put the schedule back on time and made the slip one of the what-if buttons.

A formula that points at the wrong row still gives a plausible number. So the same budget is computed a second time in plain Python, and if a single total or cost line differs, the build stops. It also stops when any cell shows an error or one of the workbook’s own checks fails.

Then Claude Code turned every sheet into an image and looked at it, over several rounds. That found problems you only see by looking:

  • The forecast shading was missing from the spend chart. LibreOffice didn’t draw anything placed on the chart’s hidden second scale, so the shading now sits on the main one, as tall as the approved budget.
  • The bar labels showed raw numbers like 59,500 and a stray dash for every zero: LibreOffice ignored the labels’ own number format until the file said explicitly not to copy it from the data.
  • One label collided with its neighbour: the label on the only bar that goes left ran into the cost line’s name. An invisible bar now keeps room for it. That fix then hid the wrong entry in the legend, because LibreOffice seems to count the entries from the other end. The invisible bar now sits in the middle, which is the same entry whichever end you count from.
  • Text spilled out of its cells, labels were cut off, and column headings overlapped.

Last, it checked the file against the specification of the Excel format. Every part of it passes.

The viewer on this page

What you see above is the workbook itself: its own cells and formulas. This page can’t run Excel, so Claude Code also wrote a small calculation engine for it: it reads the workbook’s formulas and works them out with the same 23 functions, following the rules spreadsheets use for blanks, text and dates. A test compares all 3,303 results, and the text every cell shows, with LibreOffice’s, then the results again for four sets of changed inputs. They all match.

The charts are the one thing the page draws itself, from the same cells, colours and number formats. Excel and LibreOffice draw their own from the file, so there they may look a little different.

What isn’t perfect

  • Excel: nothing to fix. Excel doesn’t run where Claude Code works, so Claude Code’s checks and pictures ran in LibreOffice. I opened the first version in Excel and found nothing wrong. The Google Sheets fixes below came after that.
  • Google Sheets: one fix, not rechecked. In Google Sheets, the first check failed. Its formula added up the bookings for every cost line in one go, and Google Sheets doesn’t work that formula out the way Excel does. Claude Code replaced it with one plain formula per cost line. To be safe, it also rewrote the colour rules and two dropdown lists that relied on named cells, which Google Sheets handles differently. Nobody has opened the fixed version in Google Sheets yet.
  • Apple Numbers: not checked. It opens Excel files, but may drop the print setup, the protection and parts of the chart formatting.
  • The timeline has 15 months. A slip of more than three months runs past it. A check says so, but adding months means adding columns by hand.
  • The second opinion is only as good as its estimate. “Build 50% done” is the engineering lead’s judgment, and every earned-value number depends on it.
  • The protection is a trade-off. It stops accidents and annoys anyone who wants to rearrange things. Review > Unprotect Sheet, no password.
  • Every number is made up. The rates and costs are plausible, not market data.
  • It’s in English only, on all three language versions of this page.

What you can learn from this

  • Make “no typed-in results” a rule, and test it. Change an input and watch whether the total moves. If it doesn’t, someone typed it in.
  • Ask for checks. A workbook that tells you when it’s broken catches mistakes you’d otherwise only find by auditing it, and an AI can write the checks as easily as the formulas.
  • For every chart, ask which decision it helps with. If nobody can say, leave it out.
  • Follow a number back to where it comes from, the way the viewer above lets you. That’s how you review a workbook, whoever built it.

What I typed

My prompt, word for word

Next entry for the "What's possible" section, to complete the office set after The Blueprint (Word) and The Pitch (PowerPoint): an Excel workbook. I think most people have never seen a really well-built spreadsheet, let alone one an AI made. Build the budget for an app development project. Use a made-up company and a realistic project that people anywhere in the world would recognise, not something Swiss. Set it mid-project, so there's a plan, actual spending so far and a forecast to compare. It should be the kind of workbook a finance person respects and a project lead actually wants to use. Apply the best practices of good spreadsheet design and make it a working model: change an assumption and everything updates, no typed-in results. Make it aesthetically pleasant too. Add data visualizations where they help someone understand the budget or make a decision, and nowhere else. Like the other two, offer the original file for download plus a way to look at it on the page, and check your work by actually looking at it. Don't ask me questions, fill the gaps with your best guess. This is to show off what you can do, not to fit a real project 100%.

The budget itself didn't need my project: the company, the project and every number are Claude Code's invention. The prompt still leans on it. The office set, “the other two” and “a way to look at it on the page” only meant something because Claude Code was working inside this site's project and knew those pages. And “Don't ask me questions” was right for a showcase and wrong for a budget you'll use. The version below asks for your numbers and lets the AI ask first.

A prompt to start from

Try it yourself

Fill in the brackets:

Build an Excel workbook for [what it's for, e.g. the budget of our app project]. It's for [who reads it], to decide [what].

What I know so far: [the plan, the numbers you have, which of them are estimates, what has been spent].

Make it a working model a finance person would respect: inputs, calculations and results on separate sheets, inputs clearly marked, no typed-in results, so changing an assumption updates everything. Add checks that tell me when something doesn't add up. Add charts only where they help someone understand the budget or make a decision.

Before you build anything, ask me what you need to know, then propose the structure: which sheets, which cells are inputs, what gets calculated and what gets checked. Build it once I've agreed. Then open the result, look at every sheet and fix whatever looks wrong.

For a work budget, use the assistant your company approved. If it can only answer with formulas in a chat reply, you won't get a workbook like this. Whichever you use, open the result, change an input and follow a total back to where it comes from.

Stay in the loop

Don't miss what's next

One email when I've learned something worth sharing, roughly once a month.