Back to ControlFi Library

Financial Modeling

The 3-Statement Model:How to Build One That Survives Investor Scrutiny

How to build a 3-statement financial model that survives diligence — the linking points, driver-based structure, the circularity problem, and the five errors ranked by how often they actually appear across 100+ financial models reviewed.

September 8, 2026Bogdan Stepanov12 min read

A 3-statement model links your income statement, balance sheet and cash flow statement into one connected forecast, so that changing a single assumption — headcount, pricing, payment terms — flows correctly through all three.

The test of whether you have built one properly is simple: the balance sheet balances in every forecast period without a plug. If it doesn't, you have three spreadsheets sitting next to each other, not a model.

Most guides to this are written for analysts preparing for banking interviews. This one is written for founders, because the question you face is different. An analyst is asked to build the model. You are asked to defend it.


What is a 3-statement model?

Three statements, one system:

Statement What it shows Time frame
Income statement Revenue, costs, profit A period
Balance sheet Assets, liabilities, equity A point in time
Cash flow statement Cash in and out, reconciled to profit A period

Separately, each is a report. Connected, they become a forecasting instrument — because the three are not independent. Profit changes retained earnings. Retained earnings sit on the balance sheet. Balance sheet movements drive working capital. Working capital drives cash. Cash lands back on the balance sheet.

Break any one of those links and the model produces numbers that look plausible and are wrong.

Why founders need one, specifically

You do not need a 3-statement model to know last month's revenue. You need it to answer questions with second-order effects:

  • If we hire six engineers in Q2, when does cash get tight — and does the answer change if two enterprise deals slip a month?
  • If we move customers from annual prepay to monthly billing, what happens to revenue, and what separately happens to cash?
  • Can we service this debt facility under a downside case?

None of those can be answered on an income statement alone. Revenue and cash are different things, moving on different schedules, and the gap between them is where companies die. That gap is exactly what the balance sheet and cash flow statement describe.


This is the part most DIY models get wrong, so it is worth being precise. There are three connection points, and all three must hold.

# Link From To
1 Net income Income statement Retained earnings (BS) and top of cash flow (CF)
2 Working capital movements Balance sheet period change Operating cash flow (CF)
3 Closing cash Cash flow statement Cash line (BS)

Link 1 — net income goes two places. It increases retained earnings on the balance sheet, and it starts the cash flow statement. Miss the retained-earnings side and your balance sheet will be out by exactly cumulative net income.

Link 2 — working capital is a cash effect, not a P&L effect. An increase in receivables consumes cash without touching profit. An increase in payables generates cash the same way. These are period-over-period changes in balance sheet lines, flowing into the cash flow statement with the sign reversed for assets.

Link 3 — closing cash returns to the balance sheet. Opening cash plus net movement equals closing cash, and that figure is the cash line on the balance sheet for the same period.

If all three hold, the balance sheet balances automatically. You never plug it. A model with a plug is a model you cannot trust in diligence, because the plug hides whichever link is broken.


How to build one

Step 1 — Start with historicals, not forecasts

Load at least 12 months of actuals, ideally 24. You need them for two reasons: to derive real driver assumptions rather than guesses, and to prove the model reproduces the past before anyone trusts it about the future.

Reconcile the historical balance sheet first. If it doesn't balance in the actuals, it will never balance in the forecast, and you'll spend days hunting an error that was there before you started.

Step 2 — Build on drivers, not hardcoded numbers

This is the difference between a model and a picture of a model.

Hardcoded Driver-based
"Revenue grows 8% a month" Customers × ARPU, where customers = prior period + new − churned
"Payroll is $180k" Headcount by role × fully-loaded cost per role
"Receivables are $340k" Revenue × days sales outstanding ÷ days in period
"Hosting is $34k" Usage per customer × customers × unit cost

Driver-based models answer questions. Hardcoded ones only restate assumptions. When an investor asks "what if churn doubles," a driver-based model responds in one cell; a hardcoded one requires a rebuild.

Keep every assumption on a single inputs tab, color-coded, with nothing hardcoded inside a formula anywhere else in the workbook.

Step 3 — Build the income statement

Revenue by driver. Cost of sales split into genuinely variable components. Operating expenses by category, with headcount driving the largest of them. Down to EBITDA, then depreciation and amortization, interest, tax, and net income.

Keep your variable cost classification honest here — the same discipline that produces a correct contribution margin produces a correct model.

Step 4 — Build the supporting schedules

Three schedules do the real work, and each feeds both the balance sheet and the cash flow statement:

  • Fixed assets — opening balance, plus capex, less depreciation, equals closing. Depreciation flows to the income statement; capex flows to investing cash flow.
  • Debt — opening, plus drawdowns, less repayments, equals closing. Interest flows to the income statement; principal movements flow to financing cash flow.
  • Working capital — receivables from DSO, payables from DPO, inventory from DIO. Period changes flow to operating cash flow.

Most models that fail diligence fail here, not on the income statement. The revenue forecast gets all the attention; the schedules get none.

Step 5 — Build the balance sheet

Assets, liabilities and equity, each line either driven by a schedule or held flat with a stated reason. Retained earnings is opening plus net income less dividends. The cash line is left blank at this stage — it comes from the cash flow statement.

Step 6 — Build the cash flow statement

Indirect method. Start from net income. Add back non-cash items — depreciation, amortization, share-based compensation. Adjust for working capital movements. That gives operating cash flow. Then investing (capex, acquisitions) and financing (debt movements, equity raises).

Note that this is the opposite of a 13-week cash flow forecast, which uses the direct method because it forecasts actual payment timing. Both are correct; they answer different questions at different resolutions.

Step 7 — Close the loop and check

Closing cash from the cash flow statement goes to the balance sheet. Now add a check row:

Balance check = Total assets − (Total liabilities + Total equity)

Format it to display red if it is anything other than zero, in every single period. This row is not optional. It is the only thing standing between you and a model that is quietly wrong.


The circular reference problem

If your model calculates interest on an average debt balance, and debt depends on the cash shortfall, and the shortfall depends on interest — you have a circular reference. Excel will complain.

There are three ways to handle it, and only two are acceptable:

Enable iterative calculation. File → Options → Formulas → Enable iterative calculation, maximum 100 iterations. Works, and it is what most professional models do. The cost is fragility: a single error anywhere can propagate as #VALUE! through the whole workbook and require a circuit breaker to clear.

Break the circularity. Calculate interest on the opening balance rather than the average. Slightly less precise, meaningfully more robust. For a founder model this is usually the right trade, and no investor has ever rejected a model for it.

Hardcode the interest. Do not. It defeats the point of building a model.


What investors actually check

Having sat on both sides of this, the model review is rarely about your growth rate. It is about whether the model is sound enough that the growth rate means anything. In practice they check:

  1. Does the balance sheet balance in every period? First thing, five seconds, and a failure here ends the conversation about everything else.
  2. Are the assumptions visible and separated? Hardcodes buried in formulas read as either carelessness or concealment.
  3. Does the cash flow statement reconcile to the balance sheet cash line? Same test as #1, from the other direction.
  4. Is the downside case actually modeled, or is it the base case with the growth rate reduced? A real downside changes collection timing and churn, not just one number.
  5. Do historical actuals reproduce? If the model can't recreate last quarter, its view of next quarter is decoration.

Across the models I have built and reviewed, the check that fails most often is not the balance sheet. It is the second one.

83% of the models that came to me for review had at least one hardcoded figure sitting inside a formula on a calculation tab — not on the inputs sheet, where an assumption belongs, but typed over the middle of a working calculation where no reviewer finds it without tracing precedents cell by cell.

Five in six. Founders are usually surprised by that, because it feels cosmetic next to a balance sheet that doesn't balance. It is the opposite. A broken balance sheet announces itself in five seconds and gets fixed. A hardcode buried in a formula produces a model that balances, reconciles, reproduces its historicals — and is still wrong. It passes every check on this list except a line-by-line audit.

It is also the most expensive failure in diligence, because of what it does to the rest of the review. Once an investor finds one hardcode, the question stops being "is this number right" and becomes "how many others are there." From that point you are not defending a forecast, you are defending a spreadsheet, and no founder wins that argument in a data room.

The origin is nearly always the same: one period that needed to look right, fixed by typing over a formula, and never unwound.

How to find them before an investor does. In Excel, select the whole calculation area and use Go To Special → Constants (Ctrl+G → Special → Constants). Every hardcoded number on the sheet highlights at once. On a properly built model, the only cells that light up are labels and dates. Anything else is a hardcode you have to justify or remove — and it takes about thirty seconds per tab.


Five errors that break founder models

Ordered by how often I actually see them, not by how dramatic they look.

1. Hardcoding over a formula to make a period "look right." The most common failure by a wide margin, and the hardest to catch. It always propagates: the period after it is now wrong too, silently, and every scenario you run afterwards inherits the error.

2. The balance sheet plug. A hardcoded number forcing assets to equal liabilities plus equity. A special case of the first error, but worse — it hides a broken link rather than a wrong number, and it is immediately visible to anyone who checks.

3. Forecasting revenue but not collections. Revenue on the income statement with no corresponding receivables assumption means cash arrives the instant a sale is booked. It doesn't.

4. Depreciation in the income statement but not in the fixed asset schedule. The two must agree. When they don't, the balance sheet breaks and the cause is hard to find.

5. No error checks. Balance check, cash tie-out, sum-of-parts checks. Without them you find errors when an investor does.


3-statement model vs the other tools

Tool Horizon Question it answers
3-statement model 3–5 years, monthly Is the business model viable, and what happens if X changes?
13-week cash flow 1 quarter, weekly Which specific week does cash get tight?
Annual budget 1 year, monthly What are we committing to spend?
DCF 5–10 years What is the business worth?

The 3-statement model is the foundation the others sit on. A DCF is a 3-statement model with a discounting layer. A budget is its first forecast year, locked.

Frequently Asked Questions

Clear answers to the questions founders ask most often.

Building one that holds up

The mechanics above are learnable. What separates a model that survives diligence from one that doesn't is the discipline underneath — real historicals, visible drivers, working schedules, and checks that fail loudly.

ControlFi builds investor-grade 3-statement models as the foundation of every engagement, with scenario and sensitivity layers on top.

Talk to us about your model

About the Author

Bogdan Stepanov

Founder, ControlFi

Bogdan has spent 9 years in private markets, M&A and strategic finance, advising on cross-border transactions, private capital financings, and investments across Europe, North America, the Middle East and Asia with aggregate deal value above $2B. He founded ControlFi in 2026 to bring that finance expertise to founders who need investor-grade financials without a full-time CFO. He has since built and reviewed 100+ financial models for companies across AI, FinTech, e-commerce, and software.

Connect on LinkedIn