CASH FLOW

CONSTRUCTION CASH FLOW: FEAST OR FAMINE.

QUICK ANSWER

The feast or famine cycle is the most predictable financial problem in construction, and almost nobody has a system that prevents it. Revenue is lumpy by design and overhead isn't. For electrical subcontractors the average distance between billing and cash received runs 73 days, and roughly 10% of annual revenue sits in retainage on active jobs at any given time, so the money can be real while the bank balance still swings.

None of this is bad luck. A job gets awarded and the cash goes out before the first pay app leaves the office. Then the collection cycle runs 45 to 75 days while payroll, insurance, equipment notes, and rent keep clearing every single week. Three jobs at three different stages make the net position look fine and the Friday bank balance look terrible. You need 60 days of forward visibility to catch a payroll near miss before it becomes one, and most subcontractors are running with none. That is a structure problem, and working harder inside it changes nothing. And there is a fourth cause sitting underneath those three: an owner who stops selling while the schedule is full and starts again when it empties, so the lean months get booked in months earlier, by a diary.

BY JOSH LUEBKERPublished 2026-08-06Updated 2026-09-10
THE DEFINITION

WHAT IT MEANS.

The feast or famine cycle is the swing between flush months and broke months that happens when lumpy job revenue has to cover overhead that never pauses.

The cycle runs the same way every time. You win a $2M job and your bank account doesn't change, while mobilization costs hit right away as equipment moves, the crew starts, and materials get delivered to the site. You're spending cash before your first pay app ever leaves the office.

Most GC payment cycles run 30 to 60 days after submission. You submit at the end of the month for work done that month, so the best case is cash in 45 days and the worst case is 75 days with a dispute. On top of that, 5 to 10% of every pay app gets held as retainage, which on a $2M job is $100K to $200K you won't see until final completion 12 to 18 months out.

Then the jobs overlap. You're running three of them: one mid cycle with cash coming in, one just started with cash going out, and one in closeout waiting on a retainage release. The net position looks fine, and the bank balance tells a different story every Friday, because payroll, insurance, equipment payments, and rent don't pause between jobs. A slow month in new work doesn't reduce your overhead by a dollar.

WHY IT KEEPS HAPPENING

THE FOUR CAUSES.

01

The overhead rate is too low

Your bids don't cover the real cost of doing business, so every job you win contributes less to overhead than you need it to. Cash flow feels tight because it's tight. The math is broken at the bid level, which means winning more work makes the problem bigger instead of smaller.

02

Billing timing doesn't match the work

You're doing the work and you're not billing it when you should. SOV front loading, aggressive pay app scheduling, and billing at mobilization instead of at completion are the difference between a 45 day cash cycle and a 75 day one. Same job and same margin, thirty days of difference in when the money reaches the bank.

03

No current job cost visibility

You don't know a job is losing money until it closes, and by then there's nothing left to fix. Job costing in ControlQore reports cost to complete variances weekly instead of at closeout. Catching a bleed in week 4 gives you a decision to make, while finding it in month 8 just gives you a report to read.

04

The work stops the selling, and the selling starts too late

Most owners in this cycle are not short of ability to win work. They are short of attention. When the schedule is full, business development stops, because every hour goes to the jobs already running. Then the backlog empties, selling starts again, and the new work is ninety days away from producing a receipt. The swing in the bank account is that oscillation with a delay bolted onto it, and it repeats because the thing crowding out the selling is the same thing every time: the paperwork nobody else is doing.

THE ARITHMETIC

WHAT IT LOOKS LIKE IN DOLLARS.

The three figures that describe it

The average distance between billing and cash received for electrical subcontractors is 73 days. Roughly 10% of annual revenue is held in retainage at any given time on active jobs. You need 60 days of forward visibility to prevent a payroll near miss. Those three figures together are the whole problem stated in numbers, and none of them are about how hard your crews work.

HOW SPM FIXES IT

THE FOUR THINGS THAT CHANGE.

A 13 week cash flow forecast

It gets built around your own billing cycles rather than a generic template. Every pay app submission date, every expected receipt, and every AP obligation is mapped out 90 days ahead. You see the shortfall coming while there's still time to do something about it, which is the only kind of warning worth having.

Job costing in ControlQore

Actual costs get tracked against estimated costs by phase, weekly, not at closeout. You know which jobs are making money while they're still running and still changeable. That's how you catch the bleed in week 4 instead of month 8.

Monthly WIP reporting

A monthly work in progress schedule reports every job's billing position: overbilled, underbilled, or in range. It's the single most important financial document a subcontractor has. Most of them have never seen one built for their own company.

The accounting comes off your desk

SPM does not win you work and will not claim to. What SPM does is take the accounting off you and report the numbers you need to run the place, which is one less thing pulling at an owner who should be out selling. Five hours a month of your time on the finance function, and the rest of the month is yours for business development, so the selling keeps happening while the schedule is still full.

$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

FLAT MONTHLY FEE. NO SURPRISES.

Three tiers, priced by your trailing twelve month revenue. Which one you're in depends on how much of the work you want off your desk. No hourly billing, no payroll, and no add-ons.

Last 12 months revenueMonthly fee
Up to $1M$1,900 to $2,900
$1M to $3.5M$2,600 to $3,900
$3.5M to $6.5M$3,800 to $5,700
$6.5M to $9.5M$5,100 to $7,100
$9.5M to $12.5M$6,100 to $8,500
$12.5M to $15.5M$7,400 to $11,000
$15.5M to $18.5M$9,400 to $13,500
$18.5M+Quoted individually

Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.

Core

You stop guessing.

You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.

Your bookkeeper keeps doing the books.

Executive

You stop touching the books.

Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.

We do the books. No payroll.

Strategic

Every job shows its margin while it's still running.

Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.

We do the job costing.

COMMON QUESTIONS

FREQUENTLY ASKED.

Revenue in construction is lumpy by nature. Jobs start, run for months, and close out, while overhead stays flat the entire time. When billing timing doesn't match cash inflow, you get flush months followed by dry ones. Most subcontractors don't have a 13 week cash flow forecast, so the dry months always come as a surprise.
Both, and the order is what people get wrong. The cycle is almost never an inability to sell. It is an owner who stops selling while the schedule is full, because the work already sold takes every hour, and who starts again once the backlog empties, by which point the new work is months away from paying. So the cure is time and information. A better pitch does not touch it. SPM does not win work and does not claim to. SPM takes the accounting off the owner and reports the numbers he needs to make decisions, which frees the hours that business development was losing to the books.
Three things fix it together. You need a 13 week cash flow forecast built around your billing cycles so you see the shortfall before it hits, job costing aligned to your estimates so you know which jobs are making money and which aren't, and an overhead rate that reflects your real cost structure. None of the three does much on its own.
The most common causes are billing timing that doesn't match GC pay cycles, overhead rates set too low, retainage held for 90 to 180 days, pay when paid contract terms, and no current job cost visibility. The P&L often reads profitable on paper. The bank account tells a different story, and the bank account is the one that has to cover payroll on Friday.
No. A line of credit manages the symptom and leaves the cause alone. If your overhead rate is too low, every job you win makes the problem bigger, and the LOC just lets you defer the reckoning a little longer. Fix the bid math first, then size the line against the structural float that's left over.
WHAT THIS TIES INTO
Josh Luebker, The Construction CFO
Josh Luebker
FRACTIONAL CFO · THE CONSTRUCTION CFO

Former commercial project manager and master electrician: 150+ projects worth $2.1B combined, from $50,000 to $300M. Now fractional CFO to commercial subcontractors.

DO YOU KNOW WHERE YOUR NEXT DRY MONTH IS?

Bring your last three months of billing and one open job. We'll build the first 13 weeks with you and tell you which of the three causes is driving the swing.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute diagnostic

20 minutes. No sales pressure. We will tell you exactly what's broken before we talk about anything else.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.