Why Profitable Contractors Still Run Out of Cash (And How to Fix It)
You can be billing $500K a year, booked six weeks out, and still panic about making Friday payroll. It's not a pricing problem. It's a timing problem — and it's almost invisible until it hits you.
Profit Is Not Cash
Your P&L might show $80,000 net income for the year. But if $50,000 of that is sitting in outstanding invoices, you don't have $80,000 — you have $30,000 and a stack of paper. Profit is an accounting entry. Cash is what actually pays your crew.
This gap has a name: the cash conversion cycle. For most contractors, it looks like this:
- You buy materials — cash out immediately or net-30 from supplier
- Your crew works — you pay them weekly, no matter what
- You invoice the customer — often on job completion
- Customer pays — net-30, net-60, or whenever they feel like it
That gap between "cash out" and "cash in" is where profitable contractors go broke. According to the U.S. Bank study on small business failure, 82% of business failures are caused by cash flow problems — not lack of profit.
Cash Gap by Trade — How Long Your Money Sits
Payment timing varies significantly by trade and customer type. Residential jobs pay faster. Commercial and insurance work takes the longest. Here's what the data shows (source: Levelset Construction Payment Report 2024, QuickBooks contractor survey):
| Trade / Customer | Invoice Day | Avg Pay Day | Cash Gap |
|---|---|---|---|
| HVAC — Residential service | Same day | Day 12 | 12 days |
| HVAC — Residential install | Completion | Day 22 | 22 days |
| Plumbing — Residential | Same day | Day 14 | 14 days |
| Roofing — Insurance claim | Completion | Day 45 | 45 days |
| General Contractor — Residential | Monthly draw | Day 38 | 38 days |
| Painting — Residential | Completion | Day 18 | 18 days |
| Any trade — Commercial | Monthly billing | Day 52 | 52 days |
| Any trade — Property Mgmt | Monthly billing | Day 67 | 67 days |
Notice the spread: a residential plumber collecting same-day has a 14-day gap. A contractor working property management accounts waits 67 days. That's the difference between a business that's easy to run and one that's constantly stressed.
Same Revenue, Completely Different Cash Position
Here's what makes this counterintuitive: two contractors can have identical revenue and profit margins, but completely different bank balances — just based on how they invoice and collect.
| Scenario | Invoice Timing | Avg DSO | Cash in Bank (Typical) | Stress Level |
|---|---|---|---|---|
| Contractor A | Invoice at completion, no deposit | 52 days | $15,000–$25,000 | 🔴 High |
| Contractor B | 30% deposit, invoice at completion | 35 days | $35,000–$55,000 | 🟡 Medium |
| Contractor C | 50% deposit, invoice same day, early-pay discount | 18 days | $65,000–$85,000 | 🟢 Low |
Contractor C isn't doing anything magical. They're not working harder or charging more. They're just structured differently — and that structure creates $50,000+ more in available cash at any given moment.
5 Levers to Close the Cash Gap
You don't need a bank loan or a line of credit to fix a cash flow problem — you need to change the timing. These five moves work immediately:
1. Require Upfront Deposits
Standard in the industry: 25–50% on acceptance of proposal, remainder on completion. Arizona law allows this for licensed contractors. If a customer refuses a deposit, that's a signal — not a negotiation. Use the Quote Fairness Checker to make sure your quotes justify the deposit amount.
2. Invoice Immediately on Completion
Not at end of month. Not when you get back to the office. The moment the job is done, send the invoice from your phone. Every day you delay invoicing is a day added to your DSO. If you batch invoices monthly, you're adding up to 30 days to your cash gap for free.
3. Offer a 2% Early-Pay Discount
"2/10 net 30" means: 2% discount if paid within 10 days, otherwise full amount due in 30. For a $5,000 invoice, the discount is $100 — a small price to get paid 20 days early. Many commercial clients have standing instructions to take any early-pay discount available. Try it.
4. Add a Late Fee Clause
Arizona allows contractors to charge interest on overdue invoices. Add this to your contract: "Invoices unpaid after 30 days are subject to a 1.5% monthly finance charge." Most customers pay faster when there's a consequence. Those who don't are self-identifying as bad clients.
5. Get a Business Line of Credit — Before You Need It
A line of credit isn't for growth. It's insurance against the timing gap. Apply when your business is healthy, not when you're stressed. A $25,000 LOC from your business bank account costs nothing if you don't use it — and saves you when a $40,000 job is 60 days out from payment.
Build a Cash Flow Dashboard (It's Simpler Than You Think)
You don't need accounting software to track this. A simple weekly habit closes the visibility gap:
- Monday morning: Check bank balance + list every open invoice with its due date
- Calculate your "real" cash: Bank balance + invoices due this week = your actual cash position
- Flag anything 15+ days overdue: Call before it hits 30 — a friendly check-in, not a collection call
- Weekly: send all invoices same-day: Never batch. Never delay.
If you're using QuickBooks or Wave, set up a "Accounts Receivable Aging" report. Run it every Monday. Anything over 30 days needs a phone call. Anything over 60 days needs a hard conversation.
The 1 OF 1 Toolbox has pricing calculators to help you build the right rates. Get your margins right first — then the cash flow system keeps more of what you earn.
Get the weekly playbook in your inbox
Every Tuesday — one pricing tip, one system, one action. Written for Tucson contractors who want to grow without burning out.
No spam. Unsubscribe anytime.
Ernesto Romero
Ernesto is the founder of 1of1 Consulting and the 1 OF 1 Contractor Network. He grew up in Tucson working alongside family in property restoration, spent his summers doing demolition for RCD Tucson, and has worked across HVAC, paint, and restoration before launching 1of1 to give contractors the systems and community they never had access to.