Wauvel
Toolkit

Financial modeling best practices: building a model that doesn't break

← All posts
By Blake EkelundJune 26, 2026 · 9 min read

A financial model is a tool for making a decision, not a monument to your spreadsheet skills. And models almost never fail on the math — they fail on structure, on trust, and on rot. The forecast that falls apart the week after you build it usually had a perfect calculation buried in a layout that nobody — including its author a month later — could follow. These are the practices that separate a model you'd put in front of a board from a spreadsheet nobody dares touch.

Separate the inputs, the math, and the outputs

The single highest-leverage habit in modeling. Three layers: an assumptions area where every number you can change lives; a calculation engine that references those inputs and never contains a typed-in number; and clean outputsbuilt for whoever is reading. The old finance convention — inputs in blue, formulas in black — exists for exactly one reason: anyone who opens the file can see at a glance what's an assumption and what's derived. A number hardcoded inside a formula three tabs deep is a landmine, and you've already forgotten where you buried it.

Inputs vs. calculation
C6=C2 * C3
ABCD
1ASSUMPTIONS
2Units sold1,0001,0501,103
3Price$42$42$42
4
5CALCULATION
6Revenue42,00044,10046,326
Units and price are assumptions (in accent); revenue is computed from them, never typed. Move an assumption and the row follows.

Drive everything from assumptions you can defend

A number typed straight into the revenue line is a guess wearing a suit. Revenue is units times price; headcount cost is heads times fully-loaded salary; the model should compute it from drivers you can point a board member to and say where each one came from. Keep the assumptions few and explicit— a model with forty knobs isn't more accurate, it's just harder to trust. The credibility of a model is exactly the credibility of its inputs, and nothing else.

One formula per row, copied clean across

In a well-built model you should be able to click any cell in a row and find the same formula as the cell beside it — written once in the first period, filled across. Consistency is a feature: it's what lets a reviewer check one cell and trust the whole row. The moment period three has a different formula than period two — a one-off adjustment typed right in — you've created the exact hiding place where modeling errors live and breed.

Time runs left to right, one period per column

Set the model up so every column is a period and every period is the same length — all months, or all quarters, never a mix. Build the header row with EOMONTH so the dates are real and roll correctly. It sounds trivial; it's the backbone. A consistent time axis is what makes a formula fillable across, a chart trustworthy, and two models comparable. Mixing monthly and quarterly columns in one sheet is how a "small" inconsistency becomes a wrong number on a board slide.

Build the checks in

Every serious model has rows whose only job is to be zero. The balance-sheet check: assets minus liabilities minus equity should equal zero every period, or your model doesn't balance and you need to know this second. The cash tie: the ending cash on your cash-flow statement must equal the cash line on your balance sheet — when they diverge, something is leaking. Put these at the top where you can't miss them and flag them red the instant they break. A check row isn't paranoia; it's the difference between catching the error yourself and having a lender catch it for you.

The check row
B3=B1 - B2
ABCD
1Total assets210,000214,000219,500
2Liabilities + equity210,000214,000219,500
3Check (must be 0)000
A row whose only job is to be zero. The instant it isn't, the model goes red — so you catch the break, not your lender.

Make scenarios a switch, not three copies of the file

The wrong way to handle base / upside / downside is "Save As" three times — now you have three files quietly drifting apart, and a fix in one never reaches the others. The right way is a single input cell — a 1, 2, or 3 — that a CHOOSEor a lookup reads to pull the matching set of assumptions. One model, one switch, three answers, zero divergence. It also forces you to be honest about what actually differs between the cases, which is usually fewer levers than you'd think.

Scenarios as a switch
B4=CHOOSE(B1, 5%, 8%, 2%)
AB
1Scenario2
21 base · 2 upside · 3 down
3
4Growth rate applied8.0%
One input cell — 1, 2, or 3 — drives the whole model through CHOOSE. No three copies of the file drifting apart.

Build it for the reader, not just for you

A model only one person can operate is a liability, not an asset. Label every row, carry the units in the row title ("Revenue, $000s"), keep a notes column for the "why" behind an assumption, and put a short cover tab that says what the model is for and what it assumes. The test is simple: could your banker, or you in six months, open this cold and follow it without a phone call? If it needs you in the room to explain it, it isn't finished.

Sanity-check against reality

When the math is done, stop and ask whether the output could actually happen. A distribution business forecasting 55% net margins has a typo, not a strategy. The sharpest single check is the seam: line up the first forecast period against the last actual month and look at the join — revenue, margin, headcount. A cliff or a leap at that boundary with no reason behind it means your assumptions don't connect to the business you actually run. A model that doesn't tie to reality at the seam won't tie to it anywhere.

Keep it as simple as the decision allows

Granularity has a cost, and it's paid in fragility and lost hours. Before you model something line by line, ask whether that detail changes the decision. Modeling every SKU to decide whether you can afford one hire is a cathedral built to answer a yes-or-no question. Model the handful of drivers that actually move the answer, at the lowest detail that still moves it, and stop. A model you can hold in your head is one you'll actually keep current — and a current rough model beats a precise stale one every single time.

Date it, version it, protect it

Models rot the day you stop touching them. Stamp the file with a date and the as-of of its actuals, so nobody mistakes last quarter's forecast for this one. Keep the old versions instead of overwriting — when someone asks "what changed since the last board meeting," you'll want both side by side. And lock the calculation cells so a hurried paste can't quietly overwrite a formula with a value, which is the single most common way a working model silently breaks.

Want a model with these practices already baked in? The free 3-statement model drives everything off a handful of assumptions, with the balance-sheet check and cash tie built in. And most of these practices exist because models get built once and left to rot — Wauvel's forecast sidesteps that, building the forward cash view from your actual books and refreshing it as the numbers move, so the drivers are never guessed and the model is never stale. See a sample report →

See what a report like this looks like on your own numbers.

Meet your AI CFO →

Prefer to run the numbers yourself? Try the free 3-Statement Financial Model — no signup needed.

Keep reading

ToolkitJuly 7, 2026 · 8 min read

SUMIFS: turn a raw QuickBooks export into a P&L with one formula

Export your general ledger and you get a flat list of every transaction — not a report. SUMIFS is the one formula that rolls that list up into a P&L: revenue by month, opex by category, all of it. Here's exactly how, plus the traps that quietly return a wrong number.

Read it →
ToolkitJuly 3, 2026 · 8 min read

Cleaning messy data in Excel: the six functions that do it

Exported data almost never arrives clean — names in three different cases, addresses jammed in one cell, trailing spaces that quietly break your lookups. Here are the six Excel functions that turn a messy paste into data you can actually total, match, and trust.

Read it →
ToolkitJuly 1, 2026 · 7 min read

XLOOKUP vs VLOOKUP vs INDEX/MATCH: which lookup should you use?

The one-line answer is XLOOKUP — but VLOOKUP and INDEX/MATCH still earn their keep, and INDEX MATCH MATCH does something none of the others can. Here's each one, side by side, with the exact moment you'd reach for it.

Read it →
ToolkitJune 26, 2026 · 9 min read

The case of the missing cash: a CFO's afternoon in Excel

A wholesale distributor turns a profit every month and still can't make its credit line breathe. Here's the afternoon a fractional CFO spent cracking it — and the dozen Excel formulas she reached for, what each one does, and exactly when you'd use it.

Read it →
Finance 101August 10, 2026 · 8 min read

Why your Shopify sales will never match your QuickBooks revenue

Your Shopify dashboard says one number, your P&L says another, and they never tie. That's not a bug — it's accounting. Here's the bridge from channel sales down to book revenue, line by line, and how to tell a normal gap from one that's actually a problem.

Read it →
ProductAugust 9, 2026 · 4 min read

Wauvel now reads your Shopify sales — meet your Sales Analyst

Connect your Shopify store in a few clicks and a new Sales section lands on your Command Center — net sales, orders, average order value, and a weekly trend. Read-only, and the first of a family: the Sales Analyst is source-agnostic, so Stripe, Faire, and more plug into the same view over time.

Read it →
Finance 101August 8, 2026 · 6 min read

Sales tax isn't revenue: the number that fools every online seller

Your store's "total sales" number includes the sales tax you collected — and that money was never yours. It's a liability you're holding for the state until you remit it, not revenue. Book it as revenue and you inflate your top line, distort your margins, and start spending cash you already owe.

Read it →
Finance 101August 7, 2026 · 8 min read

Planning cash for Q4: the inventory buy that breaks holiday brands

For a product brand, Q4 is where you make your year — and the cash math runs backwards. You pay for the holiday inventory in August, the revenue lands in December, and the cash from those sales lands later still. A profitable holiday can still punch a hole in your bank account in the middle. Here's how to find the trough before it finds you.

Read it →
Finance 101August 3, 2026 · 8 min read

Get paid faster: how to cut your DSO and free cash you already earned

You already did the work and booked the sale — the money is just sitting in someone else's account. DSO measures how long. Here's how a CFO reads days sales outstanding, turns each day into dollars, and works down the number with a collections playbook that doesn't cost you a customer.

Read it →