Case Study: Turning "We Think We're Profitable" Into "We Know We Are"

Case Study

Turning “We Think We’re Profitable” Into “We Know We Are”

The Problem

The client’s revenue was project-based — contracts worth hundreds of thousands of dollars, running six to twelve months from signed agreement to completion. But their books didn’t reflect that reality. Cash deposits were hitting the bank and landing in revenue the moment they were invoiced, regardless of how much work had actually been completed.

The result: monthly financials that swung wildly and told the CEO almost nothing useful. A strong deposit month looked like a blowout quarter. A quiet month mid-project looked like a slump. Management couldn’t tell whether the business was actually performing — they were reading noise, not signal.

This isn’t a bookkeeping error. It’s a structural mismatch between how the business earns money and how the accounting system reported it. Under Canadian ASPE Section 3400, project revenue like this is supposed to be recognized as work is performed — the percentage-of-completion (POC) method — not as cash lands. But POC is notoriously easy to get wrong in practice, and QuickBooks Online has no native mechanism for it.

The Approach

Rather than layering ad hoc journal entries onto a system that couldn’t support them, I built the client a standalone Excel-based POC engine designed to become part of their monthly operating rhythm — not a one-time fix.

The build prioritized three things:

Correct accounting logic.

Revenue earned is measured against contract value and costs incurred to date, then reconciled against unearned revenue and unbilled work-in-progress — the actual mechanics of ASPE 3400, not a simplified approximation of it.

Formula integrity that survives real-world use.

Spreadsheets built for non-accountants to touch every month tend to break — a hardcoded number creeps into a formula cell and nobody notices until the numbers stop reconciling. The workbook uses locked formula columns, clearly marked input cells, and automated reconciliation checks that flag a mismatch before it becomes a reporting error.

A tool the client can run themselves.

The goal was never to make the business dependent on me to close a spreadsheet every month. It was to hand them something durable, auditable, and simple enough for their team to operate with confidence.

The Impact

What changed

Monthly financials now reflect economic reality. Revenue is recognized as work is completed, not as deposits clear the bank.

So what

For the first time, the CEO can look at a month-end P&L and trust it — no mental asterisk needed to translate “what the books say” into “what’s actually happening.” Margin by project is now visible in real time, not discovered at year-end. And because the engine tracks contract value against revenue recognized to date, it also produces a live view of committed backlog — a number the business simply didn’t have before.

Now what:

This isn’t a report the client receives once a quarter — it’s infrastructure. It runs every month, gets tighter with use, and scales as new projects come on. It’s also the foundation for the next layer of forward-looking work: cash flow forecasting and margin analysis built on numbers management can actually stand behind.

This is the kind of gap that shows up constantly in project-based businesses — the accounting system reports cash timing, not economic performance, and nobody built the bridge between the two. If your financials feel like they’re lagging what’s actually happening in the business, that’s usually the reason.

Connect with
Turner Moore Orléans – Ottawa East

We look forward to hearing from you.

Contact Yann