A three-statement model links the income statement, the balance sheet and the cash flow statement so that one change on the inputs sheet flows through all three and the balance sheet still balances. Lenders ask for one because it proves the projections hang together. Investors ask for one because it shows you understand where cash comes from. Below is what a good one contains, the links that make it work, and the one trap that lets a broken model pass its own balance check.
The anatomy
Sheets vary, but a model you can trust has these parts, in roughly this order, with each one reading only from the parts above it:
- Inputs. Every assumption on one sheet, each with a label, a unit and a source. Growth rates, margins, days sales outstanding, capex plans, the interest rate on the term loan, the tax rate. Nothing else in the workbook holds a typed number.
- Revenue build. Units times price, customers times average revenue, or whatever the business sells. A single growth rate applied to last year’s total is a placeholder, not a build.
- Operating costs. Payroll by role or by headcount, then everything else, with the fixed lines separated from the ones that scale with revenue.
- Working capital schedule. Receivables from days sales outstanding, inventory from days inventory outstanding, payables from days payable outstanding. The days are inputs; the balances are calculated.
- Fixed assets. Opening balance, plus capex, less depreciation, equals closing balance. Depreciation from this schedule is what the income statement uses.
- Debt schedule. Opening balance, draws, repayments, closing balance, and the interest expense calculated on it.
- Income statement. Reads from the builds above. Net income at the bottom.
- Balance sheet. Cash from the cash flow statement; receivables, inventory and payables from the working capital schedule; fixed assets and debt from their schedules; retained earnings rolled forward with net income.
- Cash flow statement. Net income, add back depreciation, the change in each working capital line, capex, debt draws and repayments, equity raised. Opening cash plus the net movement equals closing cash.
- Checks. A sheet of tie-outs, every one of them zero or TRUE, and a single cell at the top that says whether all of them pass.
The five links
These are the joins that make three statements into one model. If any one of them is typed rather than linked, the model is three separate spreadsheets that happen to share a file.
- Net income on the income statement is the first line of the cash flow statement and the movement in retained earnings on the balance sheet.
- Depreciation on the income statement is added back on the cash flow statement and reduces fixed assets on the balance sheet, all from the same schedule.
- Capex on the cash flow statement is the addition on the fixed asset schedule.
- Debt draws and repayments on the cash flow statement move the debt balance on the balance sheet, and interest on the income statement is calculated on that balance.
- Closing cash on the cash flow statement is the cash line on the balance sheet, every period.
The trap: a balance check that cannot fail
The working capital lines are where a three-statement model breaks without its balance check noticing. Here is why.
The cash flow statement needs the change in receivables. The lazy way to get it is from the balance sheet: this period’s receivables minus last period’s. Now type a wrong number into the receivables cell on the balance sheet. The cash flow statement picks up the change, closing cash adjusts by exactly that amount, cash flows to the balance sheet, and assets still equal liabilities plus equity. The balance check is green. The model is wrong.
A check that compares a number with itself by a longer route is a tautology. It can never fail, so it never tells you anything.
The fix is to recompute each working capital balance independently from its driver and compare. Receivables should equal revenue for the period, divided by the days in the period, times days sales outstanding. That recompute lives on the checks sheet as its own tie-out. Inventory and payables get the same treatment from their days drivers. Now a typed number in receivables breaks the recompute check even though the balance sheet still balances.
We found this exact hole in our own three-statement template. The balance check passed. What caught it was a negative control: we deliberately overwrote a receivables formula with a constant and watched every check stay green. The template now carries three independent recomputes alongside its other tie-outs, and the corruption test is part of how every workbook is signed off.
What the checks sheet should hold
A three-statement model with a serious checks sheet has at least these lines, each one evaluated in every period:
| Check | Passes when | |
|---|---|---|
| 1 | Balance sheet balances | Assets minus liabilities minus equity rounds to zero |
| 2 | Cash ties | Cash flow closing cash equals balance sheet cash |
| 3 | Net income ties | Income statement net income equals the first line of the cash flow |
| 4 | Retained earnings roll | Opening plus net income less dividends equals closing |
| 5 | Depreciation ties | Income statement depreciation equals the fixed asset schedule |
| 6 | Fixed assets roll | Opening plus capex less depreciation equals closing |
| 7 | Debt rolls | Opening plus draws less repayments equals closing, and interest is calculated on it |
| 8 | Receivables recompute | Revenue-driven receivables equal the balance sheet line |
| 9 | Inventory and payables recompute | Cost-driven balances equal the balance sheet lines |
Lines eight and nine are the ones that make line one honest. Write every check as a rounded difference that must be zero, never as “within a tolerance.” A tolerance is a drift you have decided not to see.
Reading one in ten minutes
Recalculate it. Look at the checks sheet. Pick a working capital formula on the balance sheet, overwrite it with a round number, and confirm the checks go red. Undo. Then double revenue on the inputs sheet and watch cash: it should rise, but by less than revenue did, because receivables and inventory absorb some of it first. If cash rises one for one with revenue, the working capital schedule is not connected. The longer version of this routine is in how to check a financial model you didn’t build.
Having one built
A three-statement model is a Models-plan request. Send the question it needs to answer, who is going to read it, and your last twelve months of actuals in whatever form you have them; the build comes back with the inputs marked, the checks sheet proved able to fail, and a walkthrough. The plans are on the home page, and what to send is covered in the guide on outsourced modeling.