ExcelWhiz

EXCELWHIZ

Can ChatGPT Build a 3-Way Financial Model? One Year On

Can ChatGPT build a 3-way financial model? A year of testing says the arithmetic and the checks belong in a deterministic system, with a professional reviewing the outcome.

Kate Cui, CPA

Thirteen months ago I published a post about building a 3-statement financial model with ChatGPT. The short version: it did not work. Cash on the balance sheet refused to tie to the cash flow statement, none of the models I tested caught an input balance sheet that did not balance, and the outputs were confidently wrong. The post was called "Why ChatGPT isn't replacing Accountants anytime soon", and it found an audience. It ended up as one of the highest-rated posts in the history of r/accounting.

I need to correct part of it. The examples were real and they still reproduce. What needs correcting is the conclusion I drew from them, because I spent the year since discovering it was wrong, and the distinction matters for anyone building or buying AI tools for finance.

The Part I Got Wrong

In 2025 I tested ChatGPT, Claude and DeepSeek the way most people were using them: as a very smart chat window. Give it the task, give it good prompts, ask it to reason step by step, and let it produce the answer. It produced plausible financials that did not articulate, and I concluded the models were not capable of this work.

That was a fair test of a chat window and an unfair test of the technology. I treated the interface as the ceiling. The bottleneck was the scaffolding around the models.

Here is what I actually observed over the next thirteen months: the moment you stop asking one model to do everything in a single pass, and start building a system where the model delegates pieces of the work, the failures I documented in 2025 stop being failures of capability and become failures of design. If the arithmetic runs in code instead of in tokens, the balance sheet ties. If a loop re-checks the output until it verifies, the cash flow statement agrees with the balance sheet. If a workflow routes each step to the right tool, circular references converge instead of drifting.

This is what people mean by agentic AI, and finance is one of the few domains where the distinction is not academic. In most writing tasks, a wrong word is a style problem. In a model that a lender or an investor will rely on, a wrong number is a liability. The difference between a demo and a decision-grade tool is a system that refuses to present an unverified number.

Where Prompts Stop Working

The most common response to my 2025 post was some version of "you just need better prompts". I tried that. Chain-of-thought prompts, structured output schemas, few-shot examples of balanced statements, explicit instructions to check the cash tie before answering. The models agreed politely and produced the same unbalanced results. A prompt is a request. A model cannot be prompted into becoming a calculator, because it is not one. It predicts text. When the text happens to include arithmetic, the arithmetic is approximate by construction.

The useful question is whether the model should be doing the reconciling at all. In a properly built system the answer is no. The model's job is to understand intent, draft the structure, explain the output and flag judgment calls. The system's job is to compute, to check and to refuse. Every accounting identity I listed in 2025, the ones the models sailed past, becomes an automated check that runs in code on every build. The model does not need to remember that assets must equal liabilities plus equity. The system enforces it, every time, before anyone sees a number.

That split, and not any single model, is what changed my answer.

What Agentic Means in Practice

It is worth being concrete, because "agentic AI" has become one of those phrases that can mean anything. In financial modelling it means a specific thing: the build is decomposed into steps, and each step is handled by the component that suits it.

Take what a 3-way model needs. An opening balance sheet position. Revenue drivers and expense assumptions. A depreciation approach for fixed assets. Debt and repayment terms. A tax treatment. Working capital behaviour. Each of these is a defined piece of work with defined inputs and outputs. In a naive setup you ask the chat window to hold all of it in one answer and hope. In an agentic setup the model acts as the organiser: it translates what you said into a precise instruction for each piece, hands the instruction to a tool that computes that piece deterministically, and assembles the results.

Two mechanics make the difference between this working and not working, and both are worth understanding because they are how you tell a real system from a wrapper.

The first is tools. Arithmetic, depreciation schedules, debt waterfalls and balance-sheet articulation are done by code that the model calls. The model can draft the structure and explain the outputs, but it never touches the numbers that matter. This sounds like a subtle implementation detail. It is the entire ballgame. A model generating a depreciation schedule is guessing at arithmetic. Code running a depreciation schedule is computing it.

The second is loops. Financial models contain circular logic, most commonly interest on debt that depends on cash balances that depend on interest. In a chat window you ask the model to estimate and it guesses. In an agentic system the workflow iterates: compute, compare, feed the result back, repeat until the change between passes is below a tolerance. This is a loop, and loops are exactly the kind of thing computers do reliably and language models do unreliably.

When someone shows you an AI tool that produces financial statements, these are the two questions that separate a real system from a screen recording. Does the arithmetic happen in code or in the model? And does the system iterate until the statements verify, or does it present the first pass?

What the Year of Building Taught Me

I spent most of the year building this properly, in the messy middle between "ask ChatGPT for a model" and "hire a team of analysts". A few lessons are worth sharing because they apply to anyone trying the same thing.

First, the model is the cheapest and most replaceable part of the system. In a year the models got dramatically better, and my workflow barely noticed, because the hard parts sat in the layers around the model: turning a conversation into a precise set of assumptions, computing those assumptions into three articulating statements, checking the result against every identity, and producing something a professional can audit. Model upgrades are welcome. They are not the project.

Second, verification is part of the build. Every number that reaches a client should have been checked by something that is not an LLM. The checks do not need to be clever. They need to be deterministic and they need to run every time. Balance the balance sheet. Roll retained earnings. Tie the cash flow statement to the balance sheet. Reconcile the fixed asset register. A human reviewer should be looking at whether the answer makes sense.

Third, the workflow is the product. The reason this took a year is that the value sits in the discipline around the model: what assumptions were used, why they changed, which scenario the lender saw, what the model would not let you do. Professionals do not buy a number. They buy the ability to defend it.

Fourth, the assumptions are where the real work lives. Once the mechanics are reliable, the entire game shifts to the inputs: the revenue ramp, the cost base, the working capital cycle, the downside case. A system that makes assumption changes cheap and visible is worth more than a system that generates statements beautifully, because the statements are only ever as good as the assumptions, and the assumptions are the part a human must own.

The Reconciliation Test

The test from my 2025 post is worth re-running with the new framing. Feed a deliberately broken input balance sheet to a well-prompted chat model and it will flow the imbalance through all three statements without complaint. Feed the same input to a properly built system and the workflow stops at the first check. Nothing is reported. The imbalance is surfaced as a validation failure before a single statement is produced.

The difference is a system that treats an unbalanced input the way an accountant does: as a reason to stop and fix the source.

The contrast is stark enough to summarise:

Chat window approachSystem approach
ArithmeticGuessed by the modelComputed in code
Cash tie checkAsked for, rarely doneEnforced before output
Circular logicEstimated onceLooped until converged
Broken inputFlowed through silentlyStops at validation
Human roleProofreader of plausible textOwner of assumptions and judgment

The Trap of the Impressive Demo

The other thing the year taught me is how many AI finance tools are wrappers with good demos. A screen recording shows a prompt producing a tidy profit and loss, and it looks like magic. What the recording does not show is whether the cash flow statement ties, whether the balance sheet was balanced before it was rendered, or what happens when the input is wrong.

I have seen the pattern from the inside, including in spreadsheets people built with AI and then handed to us to rescue. The outputs look structured and the logic falls apart on inspection, which is worse than an honest blank cell because it looks done. The same pattern appears at every level of ambition: plausible structure, unverified numbers, and the discovery happening downstream where it is expensive.

So when you evaluate an AI finance tool, ask what checks run before a number is shown. Ask whether the system can produce an unbalanced answer at all. Ask who reviews the output and what they see. A tool that cannot fail loudly is a tool that fails silently, and in finance silent failure is the expensive kind. My 2025 post was, in hindsight, a warning about exactly this, aimed at the wrong target. The warning stands, and the systems being sold around the interface deserve the scrutiny.

Where This Leaves the 2025 Argument

The 2025 post argued that accountants become more valuable, because AI output needs skilled review. That argument survives intact. Everything I have learned since has reinforced it. The accountant's job shifts from building the model to governing it: setting the assumptions, judging the scenarios, and standing behind the numbers. None of that work is automatable by a chat window, and none of it disappeared because the plumbing got more reliable. If anything, reliable plumbing raises the cost of a bad assumption, because the mechanical excuses are gone.

What I retract is the pessimism about the tools. A chat window is a terrible way to build a 3-way model. An agentic system with real tools, real checks and a human in charge is a different proposition entirely, and it is closer than I thought it was when I wrote the post.

If you are an accountant or a finance professional watching the AI debate from the side, the practical takeaway is short. Judge the technology by the systems people are building around the chatbots, and by whether those systems check their own work. And do not assume that because a demo looks impressive, the numbers survive contact with a lender. They only survive if something deterministic checked them first.

What Comes Next

This post is the second instalment of a story that started with the 2025 article. In the next one I want to talk about the gap between a tool that works on your own desk and one that has to survive contact with a real bank: what changes when a model becomes part of a loan application, and what I learned when that happened.

FAQs

Frequently asked questions

Does this mean ChatGPT can build a 3-way financial model now?

Not on its own, no. A raw chat model still cannot reliably keep three statements in balance. What changed is what you wrap around the model: tools that do the arithmetic, loops that check the output, and workflows that force verification. The model writes and explains; the system reconciles.

Were the examples in your 2025 post wrong?

The examples stand. Cash on the balance sheet really did not match the cash flow statement across multiple models, and no model caught an unbalanced input. What I got wrong was the lesson I drew: the real failure was the approach of asking a chat window to do everything.

What is an agentic framework in plain English?

The work is broken into steps. The model delegates to tools that compute and check deterministically, loops run until the output verifies, and a human reviews the result. Each step is small enough to check, which is exactly what financial work needs.

Are accountants still needed if the framework does the checking?

More than ever. A framework removes mechanical errors so the reviewer can spend time on judgment: whether the assumption is right, whether the scenario is plausible, whether the answer makes commercial sense. That was the point of my 2025 post and it has not changed.

Related reading