The Short Version
I've had this conversation with more builders than I can count. The P&L shows 12% net profit. The checkbook is empty. Payroll is tight. They're confused, frustrated, and usually blaming their accountant or their bookkeeping. The problem isn't the numbers — both sets of numbers are accurate. The problem is that construction revenue recognition creates a natural, structural lag between when you earn profit on paper and when that profit becomes cash you can use. Understanding the three mechanisms that cause this gap is the first step to managing around them.
Sound Familiar?
Signs you're experiencing the paper profit / cash reality gap:
- Your year-end P&L consistently shows a profit but you've personally covered payroll or delayed vendor payments at least twice in the last 12 months
- You have 3–4 active jobs that are profitable on paper but you're waiting on draw requests before you can pay your subs
- Your accountant tells you you're doing well, but you don't feel like you are — and you can't reconcile those two realities
- Retainage from completed jobs is sitting in your receivables 60–90 days after final punch, on no predictable collection schedule
- You've finished your busiest revenue year and are going into January with less cash than you started the prior year with
What We Found
How Revenue Recognition Creates a Fake Profit Picture
The core of the paper profit problem in construction is a timing mismatch: your accounting system recognizes revenue (and therefore profit) at a different point than when the cash actually arrives. Understanding the three ways this happens is essential to diagnosing your specific situation.
The overbilling illusion
Percentage-of-completion billing — which most residential builders use — lets you bill based on the percentage of work completed. When your billing schedule is more aggressive than your actual completion rate, you end up overbilled: you've collected more cash than the work you've performed justifies.
In the short term, this looks like good news — your bank account is healthy. But overbilling creates a liability, not income. You've collected payment for work you haven't done yet. At some point you have to perform that work, and the costs of doing it will exceed whatever billing is left. In accounting terms, overbilling is "billings in excess of costs" — a balance sheet liability. When your P&L shows profit from a job where you're overbilled, it's showing you money you've been paid but haven't yet earned.
The opposite — underbilling — is the more common cash problem. You've completed work but haven't billed for it yet, perhaps because draw requests are submitted monthly and you just missed the cutoff. Underbilling means you've incurred costs that are on your income statement without the corresponding revenue. Your P&L shows costs without income. Your bank account is emptier than it should be, because the cash for work you've done hasn't arrived yet.
The Billing Gap in Real Numbers
A $2.4M custom builder I worked with had three active jobs at mid-project. Two were underbilled by a combined $187,000 — costs incurred, invoices not yet submitted. The third was overbilled by $43,000. On paper, the underbilled jobs showed low margins. In reality, $187,000 in unbilled revenue was sitting in receivables waiting to be invoiced. When we aligned his billing schedule with actual completion and submitted the delayed draw requests, $187,000 moved from receivables to his bank account within 21 days. Nothing changed about the jobs — only the billing timing.
The retainage trap
Retainage — the 5–10% of each draw that clients withhold until substantial completion and punch list sign-off — is profit you've earned but can't access. On a $600,000 project with 10% retainage, you're finishing the job with $60,000 tied up in withheld funds. That $60,000 is income on your P&L. It shows as profit. But it's not in your bank account — it's in your client's account, waiting for a punch list process that can stretch weeks to months.
For a builder running 6–8 projects per year at $400K–$800K, retainage from multiple active jobs can easily total $150,000–$300,000 outstanding at any given time. That entire amount is profit on the income statement. None of it is in the operating account. The builder looks profitable on paper and stretched for cash in reality — because the gap between the two is sitting in retainage receivables.
The management implication: track retainage as a separate receivables category and build a 30-day follow-up process for collecting it after final acceptance. Builders who let retainage age to 90+ days are routinely carrying $100,000+ in earned profit outside their operating account. That's a cash flow problem that has nothing to do with how the jobs performed.
The Overhead Timing Gap and the Lumpy Revenue Problem
Even when billing is aligned and retainage is managed, there's a second structural cause of the paper profit / cash gap: overhead is a fixed monthly cost, but construction revenue is lumpy. Jobs start and end on irregular schedules. Strong revenue months alternate with slow months where every active job is in selection or permitting. Overhead runs regardless.
How overhead timing creates the gap
Here's the math that breaks builders' confidence in their own numbers. A builder running $1.8M in annual revenue has roughly $150,000/month in top-line revenue. Their overhead — office staff, insurance, vehicles, equipment payments, owner's salary — runs $38,000/month. In a strong billing month, overhead is 25% of revenue. In a slow month where billing is $60,000 because every job is in a permitting or selection phase, overhead is 63% of revenue. The P&L that month looks terrible. The builder feels like the company is losing money.
But those slow months are structurally necessary — you can't bill framing when you're waiting on permits. The jobs that will generate the strong billing months are the same ones in permitting right now. A single month where overhead is 60% of revenue isn't a sign the business is failing — it's a sign you're between billing cycles. The number that matters is whether overhead is covered and margin is positive over a full project cycle or a full year, not in any individual month.
The "busy but broke" cycle
There's a specific version of the overhead timing problem that I see repeatedly in growing builders: they take on more work than their current overhead can support, so they hire — more staff, more equipment, more administrative capacity. Revenue grows, but overhead increases in parallel, and the hiring always happens slightly ahead of the revenue growth that justifies it. The P&L shows improving revenue every quarter. The bank account doesn't grow because every new dollar of revenue is matched by a new dollar of overhead.
This is what experienced builder coaches call "Feeding the Machine" — the cycle where growth forces hiring that forces the need for more growth, with no improvement in margin percentage. The builder works harder, bills more, and keeps less.
Revenue Without Margin Is Just Overhead Growth
A $3.1M builder I worked with had grown revenue 40% over two years — from $2.2M to $3.1M. His net profit percentage dropped from 9.1% to 6.8% over the same period. In dollar terms, his profit was almost identical despite nearly $1M more in revenue. Every dollar of growth had been absorbed by the overhead required to execute it. He'd built a bigger machine that produced the same amount of money for him personally. The fix wasn't more revenue — it was overhead discipline and margin protection on the jobs he was already running.
The test for whether overhead is scaling appropriately is simple: divide your overhead by your revenue for trailing 12 months, then compare that ratio to the prior year. If overhead percentage is rising as revenue rises, your growth is not producing margin — it's producing overhead. Break that dynamic before adding volume.
The Four Cash Drains That Don't Show on Your P&L
Even if your revenue recognition is clean, your billing is on schedule, and your overhead ratio is stable, there are four categories of cash outflow that reduce your bank account without appearing as expenses on your P&L. Builders who don't account for these routinely feel broker than their income statement says they should be.
Cash drain 1: Equipment and vehicle reinvestment
Depreciation on equipment and vehicles is a P&L expense — it reduces your reported profit over the asset's life. But it doesn't match the cash timing of equipment replacement. Your P&L might show $18,000 of depreciation on a truck that's now fully depreciated. This year, that truck needs replacing for $62,000. The P&L showed the expense spread over five years. The cash requirement is a lump sum today. The business looked profitable for five years on paper. Today it looks broke because $62,000 just left the account.
The construction companies that manage this well maintain a capital replacement reserve — a dedicated account that receives a fixed monthly transfer proportional to the expected replacement cost of their equipment fleet. When the truck needs replacing, the cash is already set aside. The business doesn't experience the replacement as a cash crisis because it planned financially years in advance.
Cash drain 2: Tax obligations on paper profits
If your P&L shows $180,000 in profit, you owe income tax on $180,000 — even if much of that profit is tied up in retainage receivables or underbilling. Tax payments are a cash outflow that doesn't reduce your reported profitability. A builder with a profitable year pays estimated quarterly taxes and then a year-end true-up. The total can be $40,000–$60,000 on $180,000 of reported profit. That's a significant cash reduction that the P&L number doesn't visually prepare you for.
The management fix: treat your tax liability as an expense to reserve monthly, not a surprise that arrives in April. Set aside 25–30% of monthly net profit in a dedicated tax reserve account. The money is still yours — sequestered so the payment isn't a crisis.
Cash drain 3: Loan principal repayment
Interest on business loans is a P&L expense. Principal repayment is not — it's a balance sheet transaction (reducing a liability). Your P&L might show $220,000 net profit. Your business has $4,200/month in loan principal payments on equipment financing, totaling $50,400/year. That $50,400 left your bank account but didn't reduce your reported profit. You "made" $220,000 on paper and kept $169,600 after debt service. The difference matters for cash flow planning and owner compensation decisions.
Builders who carry significant equipment or vehicle financing need to calculate cash flow after debt service separately from P&L profit. The relevant number for operating decisions is not "what did we earn on paper" — it's "what was our free cash flow after every obligation including principal."
Cash drain 4: Working capital for growing jobs
When a job is active and you're paying subs on net-30 terms but collecting from clients on a 30–45 day draw cycle, there's a cash float period where you've paid out more than you've collected. On a $500,000 job, that float can reach $40,000–$80,000 at peak — cash you've personally injected into the business to fund work in progress. When the draw is collected, the float resolves. But while it's outstanding, your bank account is depleted by the float amount even if the job is fully on track.
On a growing business taking on larger jobs, this float requirement increases with each new project. A builder moving from $1.5M to $2.5M in revenue isn't just doing more work — they're carrying significantly more working capital at any given time. The business requires more operating capital to run, and that capital requirement grows faster than the profit that funds it.
The number that actually tells you where you stand
The metric that gives the clearest picture of construction business health isn't gross margin, net profit percentage, or even year-end P&L. It's trailing 12-month operating cash flow: the cash generated by operations after paying all obligations including tax, debt service, and owner compensation. If that number is positive and growing, the business is healthy. If it's flat or negative despite a profitable P&L, one or more of the drains above is absorbing your earnings before you can capture them.
If you want help building a cash flow model that makes these dynamics visible in your specific operation, a strategy call is the fastest way to get from "my P&L says one thing and my bank account says another" to a clear, actionable picture of what's actually happening and what to do about it.
Get a Clear Picture of Your Cash Flow Reality
Book a strategy call to build a cash flow model specific to your operation — so you can stop managing by the wrong numbers and start making decisions based on what's actually true.
Book a Strategy Call →Frequently Asked Questions
The most common causes are: (1) retainage — you've earned but can't access 5–10% of every job until final acceptance; (2) underbilling — you've incurred costs but haven't submitted draw requests for all completed work; (3) tax obligations on paper profit not set aside as cash; and (4) loan principal payments that reduce your bank account but don't appear as P&L expenses. A construction company can be genuinely profitable and routinely cash-constrained because profit is recognized when earned, not when cash is collected.
Profit is an accounting concept — revenue minus expenses as recognized under your accounting method. Cash flow is the actual movement of money into and out of your bank account. In construction, these diverge because of billing timing (work completed but not yet billed), retainage (earned revenue held by clients), equipment loan principal (cash out that isn't a P&L expense), and tax payments on paper profit. A profitable construction company can have negative operating cash flow in any given month if billing lags behind costs or retainage is accumulating.
Retainage is a percentage (typically 5–10%) of each progress payment that a client withholds until the project reaches substantial completion and punch list sign-off. It's earned income — it shows on your P&L as revenue — but it's not in your bank account until collected. For a builder running 6–8 projects annually at $400K–$800K each, retainage outstanding at any given time can total $150K–$300K — profit earned but not yet collected, creating a permanent gap between paper profitability and cash position.
Four specific actions close the gap: (1) align your billing schedule with your actual completion rate and submit draw requests within 48 hours of reaching each billing milestone; (2) build a retainage follow-up process — contact clients within 5 business days of final acceptance; (3) set aside 25–30% of monthly net profit in a tax reserve account so tax payments aren't a surprise; (4) calculate your free cash flow after debt service separately from your P&L profit so you're making decisions based on what you actually keep.
Over-billing occurs when you've collected more from clients than the percentage of work completed justifies. Under-billing is the opposite: you've incurred costs but haven't yet billed for all completed work. Both distort how profitable a job looks on paper mid-project. Over-billed jobs appear better than they are; under-billed jobs appear worse. Proper WIP (work-in-progress) accounting adjusts for both, giving you an accurate mid-project profitability picture instead of one distorted by billing timing.