The three statements are the P&L (income statement), balance sheet, and cash flow statement. That's not controversial. What trips people up is the integration: exactly which cells drive which, in what direction, and what breaks when an assumption changes.
How the Three Statements Connect
The flow is directional. The P&L feeds net income into retained earnings on the balance sheet and into the cash flow statement as the starting line. The balance sheet feeds working capital changes (receivables, payables, inventory) into operating cash flow. Capex hits both the cash flow statement and the PP&E line on the balance sheet. Debt draws and repayments move cash and liabilities simultaneously.
Cash is the plug. After you've modeled every operating, investing, and financing flow, the ending cash balance on your cash flow statement must equal the cash line on your balance sheet. If it doesn't, something's wrong — a missing link, a double-counted item, or a formula that broke when you inserted a row.
A typical cross-tab reference looks like this:
='Cash Flow'!C45 // Ending cash on CF tab → Cash on Balance Sheet
Or for the working capital change driving operating cash flow:
=-(Assumptions!$B$5 * 'P&L'!C8) - (Assumptions!$B$5 * 'P&L'!B8)
// AR days * revenue change = change in receivables
The discipline is referencing source tabs directly rather than re-entering values. When your Assumptions tab holds DSO at 45 days, every downstream calc should pull from Assumptions!$C$3, not a hardcoded number somewhere in the CF tab.
The Income Statement → Balance Sheet Link
Net income hits the balance sheet through retained earnings. In most models:
='Balance Sheet'!C22 + 'P&L'!C42 - 'Assumptions'!C_dividends
// Prior period retained earnings + net income - dividends paid
This is where models often have subtle errors. If you're modeling on a rolling 12-month basis and the period boundaries aren't consistent across tabs, the retained earnings accumulation drifts. The balance sheet will still close (if you've got a working capital plug), but the composition will be wrong.
Depreciation is non-cash, so it adds back in operating cash flow but also reduces PP&E. That means the same D&A line appears in three places: EBITDA bridge on the P&L, operating section of the CF statement, and rolling PP&E schedule on the balance sheet. All three must reference the same source — not three separate inputs.
The Cash Flow Statement Is Not Calculated Independently
This is the most common misconception from analysts who learned by copying existing models without understanding the architecture. The cash flow statement isn't a separate forecast. It's derived from changes in balance sheet accounts plus P&L items.
Operating cash flow = Net income + non-cash charges (D&A, stock comp) + changes in working capital.
Working capital changes are calculated as the difference between balance sheet periods:
=−('Balance Sheet'!C14 − 'Balance Sheet'!B14)
// Decrease in AR = cash inflow; increase = outflow
// Note the sign: a rising AR balance uses cash
Investing cash flow = capex + asset sales + acquisitions. Financing cash flow = debt raises/repayments + equity issuances + dividends.
Add those three buckets, starting from beginning cash, and you get ending cash. That number must match the balance sheet. As of April 2026, this is still the most reliable integrity check in any model.
The Revolver Circularity Problem
Most three-statement models include a revolving credit facility: the company draws on the revolver when it runs short on cash, and repays when it's flush. The revolver balance drives interest expense on the P&L. Interest expense reduces net income. Lower net income changes cash flow. Cash flow determines whether you need the revolver. The revolver drives interest. You've got a circular reference.
This is handled one of two ways. Either you enable iterative calculation in Google Sheets (File → Settings → Calculation → enable iterative calculation, set max iterations to 100), or you model interest on the prior-period revolver balance to break the circularity. The latter is slightly inaccurate but avoids the instability that comes from badly-configured iteration.
According to Google's Sheets documentation, iterative calculation with circular references can produce unpredictable results if the formula doesn't converge — meaning you should always verify your revolver balance lands at a stable number rather than oscillating.
Why It Matters Beyond the Model Itself
A properly integrated three-statement model enforces internal consistency. You can't inflate EBITDA without showing the cash flow impact. You can't assume aggressive DSO improvement without it visibly releasing working capital. Every assumption is accountable because it flows through.
For board packs, this matters because executives will ask how the cash balance changed from last quarter. For bank syndicates, covenant compliance is calculated from balance sheet ratios, not P&L metrics alone. For LBO models, the leverage ratio and DSCR both depend on accurate cash generation that only a properly linked model produces.
A model where the analyst manually ties the balance sheet — manually entering ending cash instead of referencing the CF tab — isn't a three-statement model. It's three disconnected spreadsheets that happen to be in the same workbook.
Where Models Break in Practice
The balance sheet check (Assets = Liabilities + Equity) is the canonical test, but it's a necessary condition, not a sufficient one. A model can balance while being structurally wrong if errors cancel out. More useful checks:
The cash roll: Beginning cash + net cash flow = ending cash, verified against the balance sheet. A one-cent discrepancy means a broken link somewhere.
The retained earnings roll: Beginning RE + net income − dividends = ending RE. If this doesn't tie across every period, either the P&L or the dividend assumption is disconnected.
The debt schedule: Beginning debt + draws − repayments = ending debt. This should match the long-term debt line on the balance sheet exactly.
For more on what breaks and how to diagnose it, the balance sheet and cash flow troubleshooting guide covers the most common integration failures and how to trace them. If you're building from scratch in Google Sheets, this walkthrough covers the tab architecture and formula structure.
Where AI helps is in the iterative debugging — catching which cross-tab reference is broken when a model that used to balance suddenly doesn't after a structural change. ModelMonkey can interrogate your model across tabs, trace a specific cell's formula dependencies, and flag where the disconnect is. Try ModelMonkey free for 14 days — it works in both Google Sheets and Excel.