Three-Statement Financial Model in Excel: A Step-by-Step Guide

March 29, 2026 · VeloraAI Team
Tips Financial Modeling Excel

Every valuation, every deal, and every serious financial analysis starts with the same foundation: a three-statement financial model in Excel. Whether you are preparing for an investment banking interview, building a forecast for your FP&A team, or evaluating an acquisition target, this integrated model is the single most important skill in financial modeling.

Yet most guides either oversimplify the linkages or gloss over the parts where analysts actually get stuck — circular references, the cash-debt plug, and validating that the balance sheet actually balances. This guide covers all of it.

What Is a Three-Statement Financial Model?

A three-statement financial model is an integrated Excel workbook that dynamically links a company's income statement, balance sheet, and cash flow statement. When you change a single assumption — say, revenue growth from 8% to 12% — all three statements update automatically.

This model serves as the backbone of virtually every other financial model. DCF valuations, LBO analyses, M&A accretion/dilution models, comparable company analyses, and credit analyses all start with a working 3-statement model. Master this, and you have the foundation for everything else.

Why It Matters

  • Investment banking: Required for pitchbook analyses, deal evaluation, and client advisory
  • Equity research: Powers earnings forecasts and price targets
  • FP&A and corporate finance: Drives budgeting, budget vs actual variance reporting, and strategic planning
  • Private equity: Underpins portfolio company operating models

Financial analyst reviewing linked spreadsheet data on dual monitors

How Do the Three Financial Statements Link Together?

The three statements connect through a series of formulas that mirror real accounting relationships. Understanding these linkages is what separates a static spreadsheet from a dynamic financial model.

Here are the critical connections:

Source Statement Line Item Destination Statement Where It Lands
Income Statement Net Income Balance Sheet Retained Earnings
Income Statement Net Income Cash Flow Statement Starting line of CFO
Income Statement Depreciation & Amortization Cash Flow Statement Added back in CFO
Balance Sheet Change in Working Capital Cash Flow Statement Operating Activities
Balance Sheet Change in PP&E (net of D&A) Cash Flow Statement CapEx in CFI
Balance Sheet Change in Debt Cash Flow Statement Financing Activities
Cash Flow Statement Ending Cash Balance Balance Sheet Cash & Equivalents

The key insight: net income is the bridge. It originates on the income statement, flows into retained earnings on the balance sheet, and becomes the starting point for operating cash flow. Every other linkage builds on this core connection.

graph TD
    IS[Income Statement] -->|Net Income| BS_RE[Balance Sheet: Retained Earnings]
    IS -->|D&A add-back| CF_Start[Cash Flow: Starting Line]
    BS[Balance Sheet] -->|WC Changes| CF_OPS[Cash Flow: Operations]
    BS -->|PP&E Changes| CF_INV[Cash Flow: Investing]
    BS -->|Debt Changes| CF_FIN[Cash Flow: Financing]
    CF_OPS --> CF_END[Ending Cash Balance]
    CF_INV --> CF_END
    CF_FIN --> CF_END
    CF_END -->|Ending Cash| BS_CASH[Balance Sheet: Cash]

Step 1: Set Up Your Workbook Structure

Before writing a single formula, plan your layout. There are two common approaches:

Single-worksheet model: All three statements on one sheet, separated by row groups. CFI and most Wall Street training programs recommend this approach because it reduces the risk of cross-sheet linking errors.

Multi-worksheet model: Separate tabs for each statement plus an assumptions tab. This works well for larger, more complex models.

For this guide, we will use a single-worksheet approach with the following sections:

  1. Assumptions & Drivers (top of the sheet)
  2. Income Statement
  3. Balance Sheet
  4. Cash Flow Statement
  5. Supporting Schedules (debt, D&A, working capital)

Formatting Conventions

Follow standard financial modeling formatting to keep your model readable:

  • Blue font: Hard-coded inputs and assumptions
  • Black font: Formulas and calculations
  • Green font (or italic): Links to other worksheets
  • Historical periods on the left, forecast periods on the right
  • One row per line item, one column per period

Step 2: Input Historical Data and Calculate Drivers

Start by entering 3-5 years of historical financials from the company's 10-K filings or annual reports. If your source data comes from an ERP or accounting system export, Power Query can automate the import and transformation — turning a multi-hour data preparation task into a one-click refresh. Then calculate the historical metrics that will drive your forecast.

Key Drivers to Calculate

Revenue Growth Rate:
= (Current Year Revenue - Prior Year Revenue) / Prior Year Revenue

Gross Margin:
= Gross Profit / Revenue

Operating Margin:
= Operating Income / Revenue

Days Sales Outstanding (DSO):
= (Accounts Receivable / Revenue) * 365

Days Inventory Outstanding (DIO):
= (Inventory / COGS) * 365

Days Payable Outstanding (DPO):
= (Accounts Payable / COGS) * 365

CapEx as % of Revenue:
= Capital Expenditures / Revenue

D&A as % of Prior-Year PP&E:
= Depreciation & Amortization / Prior Year Net PP&E

These ratios become the assumptions for your forecast. Look for trends, and decide whether to extrapolate, average, or manually override based on your thesis.

Step 3: Forecast the Income Statement

Build the income statement first because it drives the other two statements. Work top-down from revenue to net income.

Revenue Forecast

For most models, project revenue using a growth rate applied to the prior year:

= Prior_Year_Revenue * (1 + Revenue_Growth_Rate)

For more granular models, build revenue bottom-up from business segments, units sold, or pricing assumptions.

Cost of Goods Sold and Gross Profit

COGS = Revenue * (1 - Gross_Margin_Assumption)
Gross Profit = Revenue - COGS

Operating Expenses

Forecast SG&A and R&D as a percentage of revenue, or use a fixed + variable cost structure:

SG&A = Revenue * SGA_Pct_of_Revenue
R&D = Revenue * RD_Pct_of_Revenue

EBITDA, D&A, and Operating Income

EBITDA = Gross Profit - SG&A - R&D
Depreciation & Amortization = linked from D&A schedule (see Step 5)
Operating Income (EBIT) = EBITDA - D&A

Interest and Net Income

Leave interest expense and interest income as placeholders for now. These will be linked from the debt schedule after you handle the circular reference (Step 7).

EBT = EBIT - Interest_Expense + Interest_Income
Taxes = EBT * Tax_Rate
Net Income = EBT - Taxes

Step 4: Build the Balance Sheet

The balance sheet has three sections: assets, liabilities, and equity. Forecast each line item using the drivers you calculated in Step 2.

Current Assets

Accounts Receivable = Revenue * (DSO / 365)
Inventory = COGS * (DIO / 365)
Prepaid Expenses = Revenue * Prepaid_Pct_of_Revenue

Long-Term Assets

PP&E ties to the supporting schedule:

Ending PP&E = Beginning PP&E + CapEx - Depreciation

Where:

CapEx = Revenue * CapEx_Pct_of_Revenue
Depreciation = Beginning PP&E * Depreciation_Rate

Current Liabilities

Accounts Payable = COGS * (DPO / 365)
Accrued Expenses = Revenue * Accrued_Pct_of_Revenue

Long-Term Debt and Equity

  • Debt: Link to the debt schedule. For a basic model, assume existing debt is repaid per its amortization schedule, with a revolving credit facility (revolver) as the plug.
  • Retained Earnings:
Ending Retained Earnings = Beginning Retained Earnings + Net Income - Dividends
  • Leave the cash line blank for now. It will be plugged from the cash flow statement.

Spreadsheet showing financial projections and formulas on a laptop screen

Step 5: Build Supporting Schedules

Supporting schedules keep your main statements clean and make the model easier to audit.

PP&E / Depreciation Schedule

Period Beginning PP&E + CapEx - Depreciation = Ending PP&E
Year 1 500 80 (50) 530
Year 2 530 85 (53) 562
Year 3 562 90 (56) 596

Working Capital Schedule

Track each working capital line item and calculate the change in working capital for the cash flow statement:

Change in Accounts Receivable = Prior AR - Current AR
Change in Inventory = Prior Inventory - Current Inventory
Change in Accounts Payable = Current AP - Prior AP

Total Change in Working Capital = Change in AR + Change in Inventory + Change in AP

Note the sign convention: an increase in AR (more cash tied up) is a use of cash, so it reduces operating cash flow.

⚠️ Warning: Sign convention errors in working capital are the #1 cause of balance sheets that don't balance. If AR goes up, the company collected less cash than it earned, so cash flow goes down. Always sanity-check: growing AR or inventory = cash outflow, growing AP = cash inflow.

Debt Schedule

Ending Debt = Beginning Debt + New Borrowings - Repayments
Interest Expense = Average Debt Balance * Interest Rate

Where average debt balance = (Beginning Debt + Ending Debt) / 2. This is where circularity enters the model (addressed in Step 7).

Step 6: Construct the Cash Flow Statement

The cash flow statement has three sections that reconcile net income to the ending cash balance.

Cash Flow from Operations (CFO)

Net Income
+ Depreciation & Amortization
+ Changes in Working Capital (from WC schedule)
= Cash Flow from Operations

Cash Flow from Investing (CFI)

- Capital Expenditures
- Acquisitions (if any)
+ Asset Sales (if any)
= Cash Flow from Investing

Cash Flow from Financing (CFF)

+ Debt Issuances
- Debt Repayments
+ Equity Issuances
- Dividends Paid
- Share Repurchases
= Cash Flow from Financing

The Cash Roll-Forward

Beginning Cash Balance
+ CFO
+ CFI
+ CFF
= Ending Cash Balance

Now link this ending cash balance back to the balance sheet. This is the moment of truth — if your balance sheet balances (Assets = Liabilities + Equity), you have successfully linked the three statements.

Step 7: How Do You Handle Circular References in a 3-Statement Model?

Circular references are the most common source of frustration in 3-statement models. They occur because interest expense depends on the debt balance, but the debt balance depends on cash flow, which depends on net income, which depends on interest expense.

graph LR
    A[Interest Expense] -->|reduces| B[Net Income]
    B -->|reduces| C[Cash Flow]
    C -->|determines| D[Debt Balance]
    D -->|determines| A

There are three approaches to resolve this:

Option A: The Circular Switch (Recommended)

Create a toggle cell (e.g., cell B1) that contains either 1 or 0. Wrap your interest calculation with an IF statement:

= IF($B$1 = 1, Average_Debt * Interest_Rate, 0)

When set to 1, the model calculates interest normally. When set to 0, interest is zeroed out, breaking the circularity so you can troubleshoot.

You must also enable iterative calculations in Excel:

  1. Go to File > Options > Formulas
  2. Check Enable iterative calculation
  3. Set Maximum Iterations to 100 and Maximum Change to 0.001

⚠️ Warning: Enabling iterative calculations also silences accidental circular references elsewhere in your workbook. Add a circular reference check flag (a cell that should always be zero) to catch stray circular references that could silently corrupt your outputs.

Option B: Use Beginning Balances

Instead of averaging the opening and closing debt balances, calculate interest on the beginning balance only:

= Beginning_Debt * Interest_Rate

This eliminates the circularity entirely because the beginning balance is already known. The accuracy trade-off is negligible in practice — the difference is usually less than 0.1% of net income.

Option C: VBA Macro (Advanced)

Some modelers use a VBA macro that iterates the calculation manually, storing intermediate values. This is unnecessary for most use cases but can be useful in models with multiple layers of circularity. For production-ready macros built specifically for financial models — circular reference toggles, scenario switchers, and automated integrity checks — see our VBA for financial modeling guide.

Approach Pros Cons Best For
Circular Switch + Iteration Most accurate Harder to debug; hides accidental circularities Polished client-facing models
Beginning Balances No circularity; easy to audit Slightly less precise Training, interviews, quick models
VBA Macro Full control over iteration logic Adds code dependency; harder to maintain Complex multi-tier debt structures

For most analysts, Option B (beginning balances) is the pragmatic choice. The accuracy difference is immaterial, and the model is far easier to audit and maintain.

Step 8: Validate and Stress-Test Your Model

A model is only useful if it is correct. Run these checks every time you build or modify a 3-statement model.

Balance Sheet Check

Add a row that calculates:

= Total Assets - Total Liabilities - Total Equity

This should equal zero in every forecast period. If it does not, you have a linkage error.

Cash Flow Reconciliation

Verify that the change in cash on the cash flow statement matches the change in the cash balance on the balance sheet:

= Ending Cash (BS) - Beginning Cash (BS) - (CFO + CFI + CFF)

This should also equal zero.

Sensitivity Sanity Checks

Change a single assumption and confirm the model responds logically:

  • Increase revenue growth by 5%: Net income, cash flow, and retained earnings should all increase
  • Double CapEx: PP&E rises, cash flow from investing becomes more negative, cash balance drops
  • Raise the interest rate: Interest expense rises, net income falls, potentially draws more on the revolver

Common Errors to Watch For

  1. Hardcoded values in forecast columns instead of formulas linked to assumptions
  2. Wrong sign conventions for working capital changes
  3. Missing line items in subtotals (e.g., excluding deferred taxes from total liabilities)
  4. Broken links between statements after copying or rearranging rows
  5. Unintentional circular references masked by enabled iterative calculations

Team of analysts reviewing financial model outputs on a whiteboard

Tips for Building Production-Quality Models

Once your model works mechanically, elevate it to professional standards:

  • Use named ranges for key assumptions (e.g., Tax_Rate, Revenue_Growth) to make formulas self-documenting
  • Group rows in Excel (Alt + Shift + Right Arrow) to collapse supporting detail and improve navigation
  • Add a table of contents as the first section with hyperlinks to each statement
  • Protect input cells with data validation to prevent accidental overwrites
  • Document assumptions in a dedicated section with sources (SEC filings, management guidance, consensus estimates)

Tools like VeloraAI can accelerate this process by generating complex linkage formulas from natural language descriptions and flagging common errors before they cascade through your model — for a detailed look at the seven AI workflows that save the most time, see our guide to AI for financial modeling.

Frequently Asked Questions

How long does it take to build a three-statement model from scratch?

For an experienced analyst, a basic 3-statement model takes 4-8 hours to build and validate. A more detailed model with supporting schedules, scenarios, and presentation formatting can take 1-2 full days. Speed improves dramatically with practice and reusable templates.

Should I use one worksheet or multiple tabs for a 3-statement model?

Most financial modeling training programs recommend a single-worksheet layout with grouped rows. This minimizes cross-sheet linking errors and makes the model easier to audit. Multi-tab layouts work for very large models but increase the risk of broken references.

What is the difference between a 3-statement model and a DCF model?

A 3-statement model forecasts a company's financial statements. A DCF (discounted cash flow) model uses those forecasts to calculate the present value of future free cash flows and arrive at an enterprise or equity valuation. The 3-statement model is the input; the DCF is the output.

How do I fix a balance sheet that will not balance?

Start by checking that ending cash on the cash flow statement links to the balance sheet. Then verify that net income flows into retained earnings. Next, confirm that every subtotal captures all line items above it. Finally, check for hardcoded values that should be formulas. Adding a balance check row (Assets - Liabilities - Equity = 0) in every period makes the error easier to locate.

Can AI tools help build a three-statement financial model?

Yes. AI-powered Excel add-ins can generate linking formulas, flag sign-convention errors, and audit model integrity in seconds. They are particularly useful for catching the subtle mistakes — like a missing line item in a subtotal — that cause balance sheets to break. They do not replace the analyst's judgment on assumptions, but they significantly reduce mechanical errors and build time.

Moving Forward

Building a three-statement financial model is a skill that compounds. Every model you build reinforces your understanding of accounting relationships, sharpens your Excel proficiency, and makes the next model faster. Start with a simple company — one with straightforward revenue streams and minimal debt complexity — and increase scope as your confidence grows.

The fundamentals covered here apply whether you are modeling a tech startup or a Fortune 500 conglomerate. The statements always link the same way. Master the linkages, and the rest of financial modeling follows. For subscription-based businesses, these same principles underpin the SaaS startup financial model in Excel, which extends the three-statement structure with MRR waterfalls, cohort analysis, and unit economics specific to recurring revenue companies.