The contractor cash flow trap isn't about how much work you have. It's about when the money actually shows up.
You are not bad at business. You are just running a cash flow problem disguised as a success story. Most contractors who call themselves "profitable but broke" are exactly right on both counts, and that combination is more common than anyone admits out loud.
Key takeaways
- Profit on paper and cash in your bank account are two different things. You can show a strong margin and still miss payroll.
- The faster you grow, the worse this problem gets. More booked work means more cash tied up in materials and labor before a single invoice clears.
- Your billing cycle is almost certainly too slow. Most contractors invoice too late, collect too slow, and float their jobs with their own money without realizing it.
- A simple fix exists: front-load your payment terms, cut your float window, and stop letting 30-day net become 60-day reality.
- This is a systems problem. It is not a reflection of how hard you work or how full your schedule is.
The story that explains everything
Picture a plumber named Marcus. He runs a four-man shop in a mid-size market. Residential service, some light commercial, a little new construction on the side. His phone doesn't stop. He booked out six weeks in advance through most of last year. His accountant told him in January that the business cleared $340,000 in revenue and showed a 22 percent net margin. That's $74,800 in profit on paper.
Marcus bounced a payroll in March.
Not because he's incompetent. Not because he gambled the money away. Because between the time he bought pipe and fittings for a $28,000 repipe job and the time the GC actually sent a check, nine weeks passed. He carried that float himself. He did it four times simultaneously on different jobs. And while his accountant was looking at completed invoices and posting revenue, Marcus was living in the gap between the work being done and the money arriving.
That gap is where contractors go broke. Not on the income statement. In the calendar.
Profit vs. cash flow: the distinction that actually matters

Profit is what you made when the whole job is settled. Cash flow is what you have available right now, on a Tuesday morning, to pay your guys and run a card at the supply house.
A contractor profit vs. cash flow mismatch is not an edge case. It is the default condition for any busy contractor who invoices at completion and waits on net-30 terms. The accounting looks fine. The bank account does not.
Here is a concrete example. Say you run a four-ton HVAC replacement. Equipment is $3,200 wholesale. Refrigerant, fittings, linesets, disconnect box: another $600. Two days of labor for two techs at full burden: roughly $900. You're $4,700 into the job before you collect a dollar. If the job invoices at $7,800 and the customer pays in 21 days, you float $4,700 for three weeks. Do that with six jobs running at once and you've got $28,000 of your own money sitting in other people's projects.
"The accounting looks fine. The bank account does not."
Now add growth. You're landing more work, which means more materials to front, more labor to carry, more float. Revenue goes up. Cash position gets worse. This is the trap that catches contractors right when they think they've figured it out.
Why growth makes it worse before it gets better

This is the part nobody warns you about. Fast growth is a cash flow accelerant. Every new job you book represents a new cash obligation you have to cover before you collect. If you're growing 30 percent year over year, you're not just doing more work. You're floating more money, for more jobs, for longer periods, all at the same time.
A general contractor taking on a $400,000 remodel after running $200,000 jobs doesn't have twice the revenue. He has twice the exposure. Material deposits, subcontractor float, supplier terms, mobilization costs. All of it comes due before the draw schedule catches up.
A draw schedule is the agreed payment timeline on a larger job, where the owner releases funds in stages tied to construction milestones. Done right, it protects the contractor. Done carelessly, or agreed to under pressure to win the bid, it means the contractor funds the early phases of every job and waits for permission to catch up.
Most contractors negotiate draw schedules once and forget about them. They sign whatever the GC or the owner puts in front of them because they want the job. Then they wonder why their best months, revenue-wise, still end with a tight bank account.
"Fast growth is a cash flow accelerant. Every new job you book represents a new cash obligation you have to cover before you collect."
The math is not complicated. The problem is that when you're running crews, sourcing materials, handling callbacks, and trying to estimate the next job, the billing cycle falls to the bottom of the list. You do the work. You invoice eventually. You wait. The gap grows.
What the billing cycle actually costs you

Most contractors invoice at job completion. That's the first mistake. On a two-week residential electrical job, that means two weeks of labor and materials out of pocket before you even send a paper. Then net-30 terms, which in practice run closer to 42 days on average. You just floated a completed job for six weeks.
Run that pattern across a full schedule and you are essentially providing a six-week line of credit to every customer, for free, with no interest, using money you borrowed or earned on prior jobs.
Here is what that looks like in real numbers:
| Scenario | Job Value | Float Period | Cash Tied Up |
|---|---|---|---|
| Service call, same-day payment | $650 | 0 days | $0 |
| Residential remodel, invoice at completion, net-30 | $18,000 | 45 days avg | $18,000 |
| Light commercial, progress billing, net-30 | $55,000 | Staggered, 15-25 days per draw | $8,000-$14,000 at any one time |
| New construction subcontract, GC pay-when-paid | $90,000 | 60-90 days typical | $90,000 until GC gets paid |
The service call is the only one that doesn't cost you float. Everything else does, and the cost scales with job size and the laziness of your billing cycle.
Pay-when-paid clauses deserve their own mention. A pay-when-paid clause means your subcontract payment is contingent on the GC receiving payment from the owner. You are legally lending money to the project until the top of the chain decides to move funds. Some states limit how these clauses can be enforced, but on a jobsite Monday morning, the practical reality is that you wait until they're ready to send a check.
The fix: stop funding other people's jobs
The fix is not complicated. It requires discipline, not genius.
Collect a deposit before you mobilize. On any job over $2,500, there is no reason you should be purchasing materials before money changes hands. A 30 to 40 percent deposit on a $15,000 kitchen remodel is $4,500 to $6,000. That covers your material buy and your first week of labor. You are no longer funding the job. The customer is.
Invoice on a schedule, not at completion. On any job longer than a week, bill in stages. Weekly billing on time-and-material work is standard in most trades and every customer who is serious about the project expects it. On fixed-price work, tie invoices to milestones: framing complete, rough-in complete, trim-out complete. Do not wait for the final walk to send your first invoice.
Shorten your collection window. Net-30 is not a law. It is a habit. Net-15 or net-10 on residential work is entirely reasonable. Many service contractors collect at the time of service, which is the right answer for anything under $5,000. If you've been running net-30 because that's what you started with, change it. Most customers don't fight it.
Build a cash reserve that covers one billing cycle. A billing cycle reserve is cash set aside to cover your operating costs, labor, materials, and overhead, for the average period between when you start a job and when you collect the first payment. For most contractors running 30-day billing, that reserve should equal roughly 60 to 90 days of average monthly overhead. It is a cushion, not a profit account. Don't touch it for anything else.
"Net-30 is not a law. It is a habit."
The mindset shift that has to happen first
Here is the uncomfortable part. Most of the construction cash flow problems that keep busy contractors broke are not caused by customers, GCs, or slow banks. They are caused by the contractor not running the billing side of the business with the same focus they put on the work itself.
It's understandable. You got into this trade because you're good at the work. The paperwork is a different skill set, and there's always something on the job that feels more urgent than following up on an invoice that's 12 days past due. But that invoice is payroll. That invoice is your material account at the supply house. That invoice is the difference between a business that grows and one that grinds you down while showing fine margins on paper.
The contractors who solve this problem aren't the ones who suddenly become accounting experts. They're the ones who accept that chasing payment is part of the job, build simple systems to do it consistently, and stop treating billing like an afterthought.
Being booked solid is not the same as being financially sound. A full schedule is an opportunity. It is not the same thing as cash in the bank. Every contractor running at capacity with a thin bank account already knows this. The question is whether you treat it as bad luck or as a fixable process.
It is always a fixable process.
Frequently asked questions
How much of a deposit should I ask for before starting a job?
For most residential work, 30 to 40 percent upfront is standard and reasonable. On a $20,000 addition, that's $6,000 to $8,000, enough to cover your material buy and your first week of labor without reaching into your own pocket. Commercial clients may push back harder, but the same logic applies. If a customer refuses any deposit on a large job, that tells you something worth knowing before you mobilize.
What's the difference between a cash flow problem and a pricing problem?
They feel similar but they're different. A pricing problem means your margins are too thin and you're not making enough on the work itself. A cash flow problem means you're making money but it's not available when you need it. Both can exist at the same time. Check your net margin first. If you're below 15 percent on most jobs, you likely have both problems. If margins are healthy and you're still tight on cash, the issue is almost certainly timing and billing cycle.
Is it normal for a growing contractor to feel broke even when revenue is up?
Yes, and it's one of the most common and least-discussed problems in the trades. Revenue growth requires you to front more cash before you collect. If your billing practices don't tighten as you grow, the gap between what you're owed and what's in the bank widens. Growing into a cash crisis is not a sign of failure. It's a warning that your billing system hasn't caught up with your workload.
How do I handle a GC who insists on pay-when-paid terms?
You have a few options. First, price the float into your number. If you expect to wait 60 to 90 days, your bid should reflect the cost of carrying that receivable. Second, negotiate a cap on the delay: ask for a hard payment deadline of 60 days regardless of the GC's collection status. Third, get a partial payment tied to delivery of materials or completion of rough work, separate from the pay-when-paid trigger. You won't always win, but asking is free.
How do I start billing more frequently without clients pushing back?
Put it in writing before the job starts. A simple one-page contract or scope letter that lays out your payment milestones takes the awkwardness out of it. When a customer sees "50 percent at signing, 25 percent at rough-in complete, 25 percent at final inspection" in the contract they agreed to, the invoice isn't a surprise. The conversation gets hard when you introduce new billing terms mid-job. Front-load the terms, and most clients accept them without a fight.
What's a realistic cash reserve target for a small contracting business?
Most financial advisors recommend 90 days of operating expenses. For a contractor running $600,000 a year with $40,000 in monthly overhead, that's roughly $120,000. That number sounds large, but you build it over time by holding a portion of profit in a separate account and not touching it. Start with a target of 30 days and build from there. Even one month of operating costs as a cushion meaningfully reduces the stress of a slow collection cycle.
Should I use a line of credit to cover cash flow gaps?
A line of credit is a tool, not a solution. Used correctly, it bridges the gap between a receivable you know is coming and a payroll you have to make now. Used incorrectly, it papers over a billing problem you never fix, and interest costs erode the margin you worked to earn. If you're using a line of credit consistently to fund operations rather than occasionally to bridge a known gap, the billing cycle is the real problem. Fix that first.
Closing
The contractors who stay in business and actually build something are not the ones who avoid slow periods. They're the ones who stop treating their billing cycle as an afterthought when things get busy. Being booked solid is proof of your reputation. Getting paid on time is proof of your system. The two have to work together or the schedule just becomes a way to stay busy while someone else holds your money. If the gap between the work you're doing and the cash hitting your account is the real problem in your business right now, Krue was built specifically for that problem: getting estimates out faster, invoices sent the moment a job is done, and payment follow-up that happens automatically instead of falling through the cracks when you're running between jobs.


