JOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQOREJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQOREJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQOREJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORE
The Construction CFOSchedule a Free Call

TL;DR: A construction business that's busy but not making money almost always has one or more of four problems: markup below what overhead requires, overhead rate set years ago and never updated, billing timing gaps that fund the GC's cash with the contractor's working capital, or AR sitting uncollected at 45+ days. The P&L may show profit on all of them — the bank account shows the truth. SPM fixes all four in the first 60 days.

Core Problem

Why Am I Busy But
Not Making Money?

You're working full crews. You're winning jobs. The P&L says you're profitable. The bank account says something different. Here's exactly why — and what to do about each cause.

Published: May 2026  ·  Updated: May 2026
4
Root Causes — Most Subs Have All 4
60–90
Days Cash Gap on New Construction
30 Days
When AR Audit Cash Appears
60 Days
To Full Financial System Fix
The Four Root Causes

What's Actually Eating Your Margin

The P&L says you're making money. The bank account says you're not. Those two things can both be true at the same time — and they can stay that way indefinitely if you don't find the gap between them. Here are the four places the money disappears.
01

Your Markup Is Below What Overhead Requires

If you bid at 20% markup thinking that means 20% gross margin — it doesn't. A 20% markup is a 16.7% gross margin. If your overhead rate is 16%, you're keeping 0.7 cents on every dollar of revenue as net profit. At $4M in revenue, that's $28,000. That's not a cash flow problem. That's a markup math problem. See the markup vs margin guide →

02

Your Overhead Rate Was Set Before Your Last Hire

You hired a PM 18 months ago. That hire added $90,000 to SG&A. The overhead rate in your bids hasn't changed. Every bid since that hire is underfunded by $90,000 worth of overhead spread across your annual revenue. At $4M, that's 2.25 points of margin gone on every job — silently, every bid. If you're winning too many bids, read this →

03

Billing Timing Is Funding Your GC's Cash Position

Payroll goes out every two weeks. The first pay app isn't approved until week six or seven. The payment arrives week ten or eleven. That's a 60–90 day gap between when cash leaves and when it comes back. On a $400,000 job, you've funded $80,000–$120,000 of that gap from your own working capital. Three simultaneous new job starts stack three simultaneous gaps. The P&L shows revenue. The bank shows the gap.

The Fourth Cause — AR Sitting Uncollected

At $4M in annual billings you generate $330,000+ in invoices per month. A 10% collection lag is $33,000 per month sitting at 45+ days with no follow-up. Over a year, that accumulates into $100,000–$200,000 in an AR backlog that appears as a receivable on the balance sheet but functions as a permanent interest-free loan to every GC who's slow-paying. SPM collects this in the first 30 days of every engagement. Most clients call it the first week's result.

The Diagnosis

How to Find Your Specific Problem in 20 Minutes

You don't need a CFO to run the initial diagnosis. You need three numbers from your P&L and AR aging report. Here's what to look at and what each number tells you.
Calculate gross margin. Revenue minus direct job costs, divided by revenue. If your gross margin is below 18%, you have a markup or job cost problem. If it's above 25% for your trade, look at overhead next — you may be fine on pricing but overspending on overhead. Most trades target 20–28% gross margin. Use your trade's benchmark from the overhead rate calculator.
Calculate overhead rate. SG&A divided by revenue from the last 12 months — including full owner compensation at market rate. Compare to your gross margin. If gross margin minus overhead rate is less than 5%, you're at break-even or below on net profit regardless of how busy you are. If the overhead rate is higher than gross margin, you're losing money on every dollar of revenue billed.
Pull AR aging. How much is over 30 days? Over 45 days? If AR over 45 days exceeds 10% of monthly billings, you have a collections problem. That money is earned — it's just not in the bank. A systematic weekly collections call on every invoice over 30 days clears most of it within 30 days.
Map your billing timeline on one active job. When does payroll go out relative to when you submit a pay app, when it gets approved, and when you receive payment? If the gap between first payroll and first payment exceeds 60 days, billing timing is creating a cash hole that compounds with every new job start. The fix is SOV front-loading on new contracts and faster pay app submission.
The Fix

What Changes in the First 60 Days With SPM

Days 1–30

AR audit — every invoice over 30 days pulled and called
Overhead rate recalculated from actual P&L
Bid model updated with corrected rate immediately
Markup vs margin reconciled — no more 20% confusion
Most clients see $50K–$300K in AR collected in month one

Days 30–60

ControlQore job costing live — job P&L visible weekly
Billing calendar built — every GC cut-off date mapped
SOV review on all new contracts before signing
13-week cash flow forecast live and updated monthly
Owner spends 5 hours/month on financials going forward
FAQ

Frequently Asked Questions

Why is my construction business busy but not making money?
Four causes account for the vast majority of cases: the markup in bids is lower than the overhead rate requires, the overhead rate hasn't been updated after recent hires or cost increases, billing timing gaps are funding the GC's cash position with the contractor's working capital, or AR is sitting uncollected at 45+ days. Most contractors have multiple problems simultaneously. The first step is separating which problem is which — because each has a different fix.
How do I know if my construction markup is too low?
Calculate your real overhead rate — SG&A divided by revenue from the last 12 months. Your gross margin on every job must exceed that overhead rate before you make a single dollar of net profit. If your markup produces a gross margin of 18% and your overhead rate is 16%, you're making 2% net margin. If your overhead rate is 20%, you're losing 2% on every dollar of revenue. Compare your typical markup to the overhead rate calculator result.
Why does a busy construction company have no cash?
Usually one of three reasons: the jobs are profitable on paper but billing timing means cash goes out 60–90 days before it comes back in (the pay app timing gap), the overhead rate in bids is lower than actual overhead so jobs are profitable on the estimate but lose money at the real cost structure, or AR is sitting uncollected and what looks like cash on the balance sheet is stuck in invoices nobody is following up on. Most cases involve all three.
What is the fastest way to find out why my construction company isn't making money?
Three things: Pull the last 12 months of P&L. Calculate gross margin (revenue minus direct job costs, divided by revenue). Calculate overhead rate (SG&A divided by revenue). If gross margin minus overhead rate is less than 5%, you either have a markup problem or an overhead problem — or both. Then look at AR aging — if you have more than 45 days of revenue sitting uncollected, a significant portion of your 'profit' is in invoices, not in the bank.
Can a construction company be profitable on paper and still fail?
Yes — and it happens more often than most people realize. A subcontractor can show net income on the P&L every year and still run out of cash because the cash timing doesn't match the profit timing. Revenue is recognized when billed. Cash arrives 30–60 days later. Retainage arrives months after that. If the business is growing — more jobs, more working capital required — the cash gap between when expenses go out and when billings come back in can exceed available cash even when the P&L shows profit.
Josh Luebker — Fractional CFO, The Construction CFO
Josh Luebker
Fractional CFO · The Construction CFO

Former commercial construction project manager and master electrician. Managed 150+ projects totaling $300M+. Now fractional CFO for commercial subcontractors doing $1M–$12M through Sulphur Prairie Management. About Josh →  |  LinkedIn →

Ready to Find the Gap?

A free call takes 30 minutes. Bring your last P&L and your current bank balance. The answer is usually in the first ten minutes.

Schedule a Free Call →
Related Resources
Core ICP
Profitable But No Cash
The P&L vs bank gap explained
Overhead
Overhead Rate Wrong — How to Fix It
Fix the overhead rate problem
Markup
Markup vs Margin Guide
The markup math most subs get wrong
Bid Strategy
Winning Too Many Bids
If win rate is high, overhead rate is wrong
Tool
Overhead Rate Calculator
Calculate your real overhead rate
Decision
When Do I Need a CFO?
The signals that tell you it's time to get help
The Construction CFO
Overhead Rate CalculatorProfitable But No CashMarkup vs MarginSchedule a CallJosh@ConstructionCFO.net
© 2026 SULPHUR PRAIRIE MANAGEMENT · SULPHUR ROCK, AR
0