How to Build an Indirect Cash Flow Statement from P&L + Balance Sheet | ModelReef
back-icon Back

Published February 13, 2026 in For Teams

Table of Contents down-arrow
  • Overview
  • What You Need
  • Step-by-step Instructions
  • Tips, Edge Cases, and Gotchas
  • Short Example
  • FAQs
  • Next Steps
Try Model Reef for Free Today
  • Better Financial Models
  • Powered by AI
Start Free 14-day Trial

How to Build an Indirect Cash Flow Statement from P&L + Balance Sheet

  • Updated February 2026
  • 11–15 minute read
  • Three-Statement Financial Modeling
  • Cash Flow
  • financial modeling
  • FP&A

🧭 Overview

  • Build an indirect cash flow statement that starts with net income and reconciles to cash, without manual plug cells or “mystery” variances.
  • Translate movements in working capital (AR/AP/inventory/accruals) into operating cash flow so your financial statements stay logically linked.
  • Separate operating, investing, and financing cash flows so stakeholders can trust the story behind your cash movement.
  • Apply a consistent sign convention and reconciliation approach, so your three-statement model ties every period.
  • Add lightweight error checks so your cash result doesn’t drift as the financial model evolves.

✅ What you need before you start

Before you build the indirect cash flow statement, confirm three things: (1) your P&L and balance sheet are already linked across periods, (2) you have clean opening balances for cash and all balance sheet accounts, and (3) you’ve decided on a sign convention you’ll use everywhere (for example: cash inflows positive, outflows negative).

In most broken builds, the issue isn’t the cash flow logic-it’s inconsistent mapping between balance sheet lines and the cash flow categories. If your model is already using the “cash proof” approach (where every balance sheet movement is explained by a cash flow line), you’ll find troubleshooting dramatically faster.

Operationally, keep the 3 financial statements in separate, readable blocks (P&L → balance sheet → cash flow) with assumptions clearly separated. If you’re collaborating across teams or clients, consider standardizing the layout (and the checks), so every new 3 statement financial model starts from a consistent, auditable base. This is exactly where Model Reef can help teams avoid spreadsheet sprawl while keeping outputs consistent.

🛠️ Step-by-step instructions on process or procedure

Step 1: 🧱 Start with net income and define the cash flow structure

Begin your cash flow statement by pulling net income directly from the P&L for each period. This ensures your cash flow is anchored to performance, not to a separate set of assumptions. Next, create three clear sections: Cash Flow from Operations (CFO), Cash Flow from Investing (CFI), and Cash Flow from Financing (CFF). Add a top line for Beginning Cash and a bottom line for Ending Cash.

At this stage, don’t over-model-your goal is structure. In a robust three-statement model, the cash flow statement is not a standalone report; it’s the reconciliation engine that proves your balance sheet is internally consistent. If you’re using Model Reef as a system of record for model versions, keep the structure consistent across iterations so any stakeholder can audit the linkages quickly.

Step 2: ➕ Add back non-cash items (the reconciliation layer)

Under CFO, create an “Add-backs / non-cash adjustments” block. Common items include depreciation & amortization, stock-based compensation, non-cash impairments, and deferred tax movements (depending on your level of detail). The key rule: only add back items that affected net income but did not directly move cash in the period.

If you model depreciation properly, it should flow from a PP&E roll-forward into the P&L, and the PP&E movement should be reflected in investing cash flow (capex), not double-counted in operating cash. Keep your financial statements clean by mapping each non-cash line to a defined source (a schedule, an assumption driver, or a linked account). This is also a good moment to define naming conventions so the same line items mean the same thing across every finance statement output you share.

Step 3: 🔁 Convert working capital movements into operating cash flow

Now translate changes in working capital accounts into cash impacts. For each balance sheet working capital line (AR, inventory, prepaid expenses, AP, accrued expenses, deferred revenue if applicable), calculate the period-over-period change: Current Period Balance minus Prior Period Balance. Then apply the correct sign logic:

  • An increase in AR is a use of cash (customers owe you more), so it reduces CFO.
  • An increase in AP is a source of cash (you owe suppliers more), so it increases the CFO’s cash.

This is where many financial model builds break: the math is right, but the sign convention flips mid-sheet. If you already maintain formal working capital schedules, use them as the source of truth so your 3 statement financial model stays stable as assumptions change. The more consistent this layer is, the easier scenario updates become later.

Step 4: 📌 Build investing and financing cash flows from the balance sheet

Move to CFI and CFF. For investing cash flow, the most common line is capex (cash paid for PP&E). Pull capex from your PP&E schedule (or infer it from PP&E movements if you’re operating at a simpler level). The logic should be: PP&E closing = PP&E opening + capex − depreciation (plus/minus disposals).

For financing cash flow, capture debt draws/repayments, revolver movements, equity issuances, dividends, and buybacks-whatever applies. If you’re modeling debt properly, you should have a debt schedule that calculates interest and balances without circular confusion. This keeps your financial statements aligned and makes the cash flow statement explainable to stakeholders who ask “what changed and why?” in one view.

Step 5: ✅ Reconcile ending cash and add sanity checks

Finally, calculate Ending Cash as Beginning Cash + Net Change in Cash (CFO + CFI + CFF). Then hard-check that Ending Cash equals the cash line on the balance sheet for the same period. If it doesn’t tie, resist the urge to add a plug. Instead, diagnose using structured checks: the balance sheet must balance, cash must reconcile, and key movements must map to one and only one cash flow line.

A practical best practice is to add a small “cash variance” line that must be zero, plus a visual indicator (e.g., TRUE/FALSE) for the balance sheet balance. Teams using Model Reef often standardize these checks so every model update (new assumption, new schedule, new scenario) is validated consistently, without relying on one analyst’s tribal knowledge.

⚠️ Tips, edge cases, and gotchas

  1. Sign convention drift: You treat AP as a source of cash in one place and a use of cash elsewhere. Decide once and stick with it.
  2. Working capital overlap: You model accrued expenses in both “change in accruals” and “AP” without realizing they’re double-counting.
  3. Capex vs depreciation confusion: Depreciation belongs in the non-cash add-back;capex belongs in investing cash flow.
  4. Debt schedule timing: Interest expense hits the P&L, but interest paid timing can differ-be explicit about how you treat it. If you have a revolver or sweep logic, keep it contained in the debt schedule.
  5. One-off items: FX translation, acquisitions, or non-operating cash movements may need their own line rather than being forced into working capital.

If multiple stakeholders edit the model, use a controlled workflow (clear inputs, locked formulas, and change visibility). This is where Model Reef helps: you can keep a consistent model structure, reduce “spreadsheet fork” risk, and make review cycles faster without changing how finance teams think about the 3 financial statements.

💡 Short-example or illustration

Assume the P&L shows net income of 100. Depreciation is 20 (non-cash), AR increases by 10 (use of cash), AP increases by 5 (source of cash), and you spent 30 on capex.

Operating cash flow ≈ 100 + 20 − 10 + 5 = 115.
Investing cash flow ≈ −30.
Financing cash flow ≈ 0 (for simplicity).

Net change in cash = 115 – 30 = 85. If beginning cash was 50, ending cash should be 135, and your balance sheet cash line must equal 135, or the financial statements aren’t truly linked. If you keep this as a standard test case in your workflow, you can quickly validate whether new schedules or scenario changes are breaking your three-statement model logic.

❓ FAQs

Because the indirect method reconciles accounting profit to cash. Net income reflects accrual accounting (revenue recognized, expenses matched), while cash flow reflects actual cash timing. Starting with net income gives your 3 statement financial model a clear bridge: you add back non-cash charges (like depreciation), then adjust for balance sheet movements that represent timing differences (like AR and AP). If your audience is internal (CFO/FP&A), this approach is also easier to explain because it aligns with the P&L narrative first.

Use a “common-sense” test: if AR goes up, customers owe you more, so cash is worse, CFO should go down. If AP goes up, you’ve delayed paying suppliers, so cash is better. The CFO should go up. Build a mini-check that compares directionality for each key working capital line. In practice, standardized working capital schedules reduce sign errors because the change calculation and sign mapping are documented once and reused across periods.

Start with structure, not cell-by-cell tracing. Confirm the balance sheet balances. Then confirm Ending Cash equals the balance sheet cash line. If it fails, check whether every major balance sheet movement has a matching cash flow line (no missing lines, no duplicates). A “cash variance must be zero” line combined with a small set of sanity tests speeds troubleshooting dramatically. If your team needs a repeatable setup across clients or business units,the Help Centre setup guidance is a useful reference point for standardization.

It depends on reporting standards and internal conventions, but in many operating models, interest paid and taxes paid sit in operating cash flow. If you’re keeping the model simple, align the cash flow treatment to how your stakeholders review performance and liquidity. Just be consistent period to period. If you model timing differences (e.g., taxes payable balances), ensure the balance sheet movement is reflected so your financial statements stay coherent and the cash flow statement remains a true reconciliation, not a separate forecast.

Next Steps 🚀

Once your indirect cash flow ties cleanly, you’ve unlocked the real value of a linked three-statement model : faster scenario updates, more credible board reporting, and fewer “why doesn’t this tie?” review cycles. Next, formalize your check framework (so updates don’t silently break cash) and standardize your schedules so other stakeholders can build on your work confidently. If your team is managing multiple models or collaborating across functions, Model Reef can help you keep one consistent structure, with repeatable checks and templates that scale across use cases.

Start using automated modeling today.

Discover how teams use Model Reef to collaborate, automate, and make faster financial decisions - or start your own free trial to see it in action.

Want to explore more? Browse use cases

Trusted by clients with over US$40bn under management.