Your Invoice-at-Completion Habit Is Wrecking Your Cash Flow
Your Invoice-at-Completion Habit Is Wrecking Your Cash Flow
June. You're booked four weeks out. The schedule board looks like a win. You've got guys on three jobs, materials on order, a new water heater sitting in the van waiting for Thursday's install. By every visible measure, it's working.
Then you look at the bank account.
It's not empty. But it's not right, either. And you can't explain why a shop this busy feels this thin.
Here's why: you're not running a plumbing business in June. You're running a bank. An interest-free one. And your customers are the only ones with a withdrawal card.
You're Not Running Short on Cash — You're Running a Free Bank
Invoice-at-completion isn't a billing habit. It's a loan product. You're extending credit to every customer, on every open job, for the full cost of labor and materials, at zero interest, with no collateral.
I didn't frame it that way for years. You think of the invoice as the end of the job. The work is the work. You finish, you bill, you get paid. Except there's a four-to-six week gap buried in that sequence where your money is sitting in someone else's pipes.
The "booked solid but broke" problem hits hardest in residential plumbing because of the seasonal rhythm. Spring opens up, the phone starts ringing, everyone books out through July. By June you've got maximum trucks rolling, maximum payroll, maximum material draws — and you're billing for jobs you finished in May while funding jobs that won't close until late July. The bank account shows the May deposits but doesn't show you the July exposure. You think you're winning. You're floating.
If you can't say, right now, how many days you'd last paying your guys with zero new revenue — not 90 days, not 60, the actual number — then you know your bank balance, not your cash position. Those aren't the same thing.
The 90-day rule came out of 2008 for me and I've never stopped thinking about it. Ninety days of operating expenses in accessible cash, minimum. Not receivables. Not money you're owed. Cash. If invoice-at-completion is your standard, that number is almost impossible to hit, because a chunk of what you think you've earned is still sitting unbilled in active jobs. It's not cash. It's potential. And potential doesn't make payroll.
What's Actually Happening Inside a Job You Haven't Billed Yet
Payroll hits Friday. Doesn't matter if the job's done or not. Your guys worked Tuesday through Thursday on a rough-in and you paid them. That money is gone.
Materials got pulled at the supply house on your 30-day net account. You've got maybe three weeks before my supply house — same one I used for thirteen years out of Worcester — cuts that off and wants payment. Job's not closed yet.
Your truck is depreciating, burning fuel, adding miles.
When I was running Smith Mechanical, payroll hit every Friday without fail. Supply house was 30-day net. On a three-week job — say a boiler replacement, new venting, gas line work, the kind of job that takes a man and a helper the better part of two and a half weeks once you account for the inspection schedule — I'd have two full payroll cycles out the door and a material order coming due before the invoice even went out. And that assumes the customer picked up when I called to say we were done.
Layer in the builder side. When a GC adds 45- to 60-day terms on top of a delayed invoice, the float doesn't add — it compounds. In fall 2008, I watched my receivables stretch from 45 days to 110 days in about six weeks. Two builder accounts slowing simultaneously, jobs finishing, invoices going out, nothing coming back. Every dollar I'd spent on labor and materials in September was still outstanding in late December. Invoice-at-completion is what made it lethal instead of just bad.
The Jobs That Taught Me This the Hard Way
The two builder accounts that went cold in October 2008 — I lost both in the same week. What people assume is that the work dried up. That wasn't it.
The jobs were mostly done. That was the problem.
I had four to six weeks of completed or near-completed work sitting on both accounts. Labor spent. Materials installed. Inspections passed. Invoices written and sent. Nothing collected, because I'd been billing at completion on everything, and neither builder was on terms shorter than 45 days to begin with.
The floor didn't drop because work disappeared. It dropped because the receivables evaporated.
I had to lay off four men. Guys I'd hired personally. I'd built to twelve by spring 2008 — six trucks, twelve guys — and I was measuring success in how fast that number grew. That was my mistake. I should have been measuring cash on hand, not headcount.
If I'd been progress billing those builder jobs — rough thirds, deposit-rough-final, anything — some meaningful portion of that exposure would have been collected before the accounts went dark. I'd have had cash in hand from work I'd already done, instead of invoices outstanding on work I could no longer enforce.
When Whitman eventually settled, I got 38 cents on the dollar on $61,000. A significant piece of that was work that was complete, billed, and just never paid. Progress billing wouldn't have saved all of it. But in October 2008, saving some of it was the difference between keeping three guys and keeping seven.
Progress Billing Isn't Just for Big GCs — Here's How Small Shops Actually Do It
Most small shop owners hear "progress billing" and picture a project manager with a schedule of values and a lien waiver packet. Something for the big commercial guys.
That's horseshit.
A $12,000 bathroom gut carries just as much labor and material risk as any mid-size project job. A boiler replacement — new equipment, new venting, gas line work, permits — ties up serious material money before you've collected a dime. The homeowner on that job is capable of signing a payment schedule. They signed a mortgage. They can sign a three-line draw schedule.
Here's the structure I'd use on any job over roughly $4,000:
Draw one at contract signing. Covers your material cost, or close to it. Thirty to forty percent of the job total. This is not a goodwill gesture. This is you not financing their equipment purchase out of your operating account.
Draw two at a defined milestone — rough-in complete, equipment set, whatever the natural midpoint is for that job.
Balance at completion.
You can explain that to a homeowner in two sentences. "We take a deposit at signing to cover materials, a progress payment when we hit rough-in, and the final balance when the job's done — keeps the job funded and moving." That's it.
"Customers won't go for it." I hear this from guys in the code class, from shops I consult with. It's not true, and the owners who believe it have usually never actually asked. They assumed the customer would say no and made the decision for them.
What I've seen: the customers who push back hardest on deposit requests are very frequently the same ones who pay slowest at the end. A customer who won't give you 30% down to cover materials either doesn't have it or doesn't think you'll walk. Either way, you want to find that out before you've spent three weeks on their job.
Why Your Bank Balance Is Lying to You Right Now
In July, your account shows deposits from jobs that closed in mid-June. Meanwhile you've got two or three jobs running right now that won't close until late July or August. You're funding those out of operating cash. The balance looks okay because last month's work came in. But next month's exposure is already accumulating and it doesn't show on the statement.
When the summer backlog clears in September — phone slows down, the big jobs wrap up, the schedule thins out — you stop getting those lagged deposits. Suddenly the balance is a disaster, and you can't figure out why, because August felt so busy.
That's the billing lag landing on you all at once.
Do this: pull every open job right now. Write down what you've spent in labor and materials to date. Then write down what you've billed. The gap across all open jobs is the amount you're currently financing for free. Your interest-free loan portfolio.
You've probably never added that up as a single number. First time most guys do it, they feel a little sick.
Strip that out of your mental cash calculation. If half your expected revenue this month is sitting in unbilled work in progress, your real cash runway is shorter than the statement shows — maybe by weeks.
The Whitman situation is the extreme version. That $61,000 coming back at 38 cents — a lot of it was billed and uncollected, not unbilled. But completing and invoicing that work without any prior draws meant I had zero collected cushion when they stopped paying. Every dollar of exposure was still fully exposed. Progress billing even one of those jobs at rough thirds would have materially changed the number that went into the bankruptcy settlement. I know that now. I didn't know it in 2007, and nobody told me.
What You Do Monday Morning
Not a system overhaul. Three things this week.
First: Run the gap analysis today. Labor hours times your burdened labor cost, plus materials pulled, minus what you've invoiced. Add it across every open job. Write that number down somewhere you have to look at it. That's what you're currently lending out for free.
Second: Pick one job in progress right now. Call the customer today. Tell them you'd like to collect a mid-job payment given where you are in the work. "We're at rough-in on your job and I'd like to collect the progress payment — I'll send an invoice this afternoon." See what happens. If you don't have a progress payment in the contract, have the conversation anyway. Call it a progress invoice. Consider it a dry run.
Third: The next proposal you send — before it goes out — add one paragraph to the payment terms. Deposit at signing, draw at rough-in, balance at completion. Specific amounts. Send it. If the customer signs without a word, you've already changed your billing structure on that job.
One gap analysis, one call, one proposal. Do those three things and you'll know more about where you actually stand than you do right now.
For one-day service calls, does any of this apply?
Not much, if you're turning calls in three to four hours and collecting before you leave the driveway. The billing lag on a $400 service call is two days, not three weeks. This is aimed at project work — anything running more than two or three days where labor and materials accumulate before the invoice goes out. If you mix service calls with any project work, the project side is where the cash drain lives, even if it's only twenty percent of your volume.
What deposit percentage is reasonable without scaring customers off?
Thirty to forty percent upfront is solid on any job where materials are a significant chunk of the total. It covers your supply house draw and keeps you from going out of pocket on equipment. On jobs where specialty equipment gets ordered specifically for that customer — custom boiler, specific fixtures — fifty percent is reasonable. Above fifty percent, I've found you start creating problems you didn't have before. Below thirty, you're not really protecting yourself on material cost.
My state has laws around contractor deposits — how do I know what's allowed?
Worth knowing cold before you standardize anything. Some states cap contractor deposits as a percentage of total contract value, particularly on home improvement work. Massachusetts has specific home improvement contractor regulations — I operated under them for over a decade in Worcester, and they matter. Look up your state's home improvement contractor act or call your licensing board. Don't assume what flies in Pennsylvania flies in Maryland.
A customer refused my mid-job draw and wants to settle everything at the end. What do I do?
Stop work. Politely, clearly, in writing. Send a note that day: per the payment schedule in the signed contract, work is paused pending receipt of the progress payment. State the fact, don't editorialize. If it's in your contract, you have the standing to stop. If it's not in your contract — now you know what it costs to not have it there. Most customers pay when work stops. The ones who don't were going to fight you at final billing anyway.
I've been invoice-at-completion my whole career and cash has been fine. Am I wrong to keep doing it?
Maybe not wrong. But you don't actually know the answer until you've run the gap analysis above. "Cash has been fine" is your balance. Not your position. Different thing. If you've never had a builder go slow, never had a big job drag past schedule, never had a September where the summer backlog cleared and the phone went quiet — you haven't seen it break yet. Invoice-at-completion doesn't kill shops in good times. October 2008 wasn't a bad time that came out of nowhere. I just didn't see it coming because the June bank balance looked fine.
Enjoyed this article?
Get articles like this in your inbox every Monday. Free, no spam.
