The contradiction is familiar: the P&L says the business made money, but the checking account says Friday's sub invoices still can't be covered. Four active jobs, $400K in contracted work, and maybe $45K actually in the bank because the rest is tied up in retainage, pending draws, or materials that hit before the next payment clears.
That gap between earned and available is the core cash flow problem for general contractors in the $1M–$6M range. This article covers why it happens, how to build reserves that survive the gap, and how to set up accounts and allocations so you can see what's actually available across every active job.
Why General Contractors Run Out of Cash Even With Jobs on the Books
A contractor running five jobs submits a $58K pay app on a commercial fit-out, but the architect takes three weeks to approve it and the owner pays net-30 after that. Meanwhile, the lumber yard needs $14K for the next phase on a different project, payroll hits Friday for $16K, and none of those bills wait for the draw to clear.
The timing of when money lands is what matters, and it gets harder to track as the cash flow gets more complicated across a growing backlog.
A contractor carrying $40K–$60K in obligations while waiting on draws twice that size isn't unusual. The cash is technically coming, just not today. And "not today" doesn't help the plumbing sub who's owed $8,200 and decides whether to keep that crew on your job this week.
The problem gets worse with scale. A $1.5M contractor juggling three residential remodels feels the pinch. A $4M general contractor running seven projects across residential and light commercial work, each with its own draw schedule, pay app process, and retainage terms, feels it constantly.
Seasonal slowdowns make it worse: residential work drops off November through February, but payroll, insurance, and truck payments don't pause. A contractor who didn't build reserves during peak months hits January with the same overhead and half the draws.
How Retainage Stacking Locks Up Cash You've Already Earned
Retainage stacking creates a cash gap fast. On a $250K residential addition at 5% retainage, that's $12,500 held back. Fine on one job. Stack five active projects with similar holdbacks and $60K–$80K sits in someone else's account until every punch list gets signed off.
The exposure compounds when the mix includes commercial work at 10% retainage alongside residential projects at 5%. A contractor running three residential jobs and two commercial fit-outs can have retainage terms ranging from $6K to $40K per project, all releasing on different timelines.
The squeeze gets worse because the general contractor sits in the middle. The owner holds retainage from the general contractor, but the general contractor may still owe retainage release to subs whose scope is already done. Say the framing sub finished three months ago. Their retainage release is due. But the owner still hasn't released retainage on the overall project because the punch list isn't done.
That gap gets covered with cash that was already meant for something else. The longer the punch list drags, the longer the contractor is financing someone else's holdback with operating cash that should be covering active job costs.
Track total retainage exposure across all active projects, not just one job at a time. Every month, tally three numbers:
How much retainage is owed to the business across all active jobs
How much retainage the business owes to subs whose scope is already done
What net gap the contractor is covering with cash that was meant for something else
Once that number is visible, bidding and schedule-of-values decisions get a lot less casual.
How Profit First Works When Draws Show Up Whenever They Want
Irregular draws don't break Profit First. They change when you move the money. A contractor might get a $120K draw on Tuesday and nothing for the next three weeks. Running Profit First on a neat monthly rhythm falls apart when deposits show up on their own schedule.
The 10/25 Rule
The 10/25 Rule is the general guideline: move money into allocation accounts on the 10th and 25th of each month using preset percentages. A $200K draw and a $15K draw get the same percentage treatment. The amounts change, but the system doesn't.
Real Revenue
The bigger adjustment for general contractors is Real Revenue. With a large share of gross moving straight to materials and subs, standard Profit First percentages applied to total deposits can starve the operating expense account. A $67K draw might look like $67K in income, but $38K of that is already owed to the drywall sub and the concrete supplier. Applying allocation percentages to the full $67K pulls too much out of operations.
Real Revenue strips out materials and sub costs first, then applies allocation percentages to what's left. For a contractor running 60–70% pass-through costs, Real Revenue on that $67K draw is closer to $20K–$27K. That's the number the tax, profit, and owner's pay percentages should touch. The math is simple; doing it manually every two weeks across six or more accounts is where the system breaks down.
How to Build a Cash Reserve Between Draws
General contractors consistently get caught in the gap between when they need to spend and when draws actually arrive. Building a reserve that covers that gap takes a system, not good intentions. The reserve needs to absorb late draws, fund mobilization on new jobs, and survive the months where more money goes out than comes in.
Why New Projects Create the Squeeze
A $3M contractor lands a $180K school renovation and needs $22K in materials and mobilization before the first draw shows up six weeks later. If every dollar from the last few draws already went to subs, payroll, and materials on other jobs, there's nothing left to front the new one.
The squeeze doubles when two new projects start in the same month—each needing mobilization cash before the first draw arrives, while existing jobs keep pulling on the same pool for subs and materials. Without a reserve, the contractor is borrowing from one job's cash to start another, and the hole gets deeper with each overlap.
Treat the Reserve Like a Profit First Allocation
Building a reserve starts with treating it like any other allocation, not something that happens after everything else gets paid. On every draw that hits the income account, a fixed percentage moves into a dedicated reserve account before subs, materials, or overhead get touched. Even 3–5% of Real Revenue (after stripping out pass-through costs) adds up. On $80K in Real Revenue per month, that's $2,400–$4,000 set aside. Over a quarter, the reserve reaches $7,200–$12,000: enough to cover mobilization on a new project or absorb a draw that runs two weeks late.
Reserves don't come from leftover cash. Leftover cash doesn't exist in a general contractor's world. They come from a percentage carved out before allocation, treated with the same discipline as the tax account.
A separate checking account for reserves makes the balance visible and keeps it from getting absorbed into operating spend. Forecasting where cash will be in two weeks, not just where it is today, is what separates contractors who plan from contractors who react.
Setting a Reserve Target by Revenue Tier
A practical target for general contractors in the $1M–$3M range is two to four weeks of fixed overhead: payroll, insurance, truck payments, and yard rent. For a $2M contractor with $18K in biweekly fixed costs, that means a reserve target of $36K–$72K. It takes time to build, which is why the 3–5% allocation starts on the next draw, not next quarter.
At $3M+, that target stretches to cover mobilization costs on larger bids so winning a new job doesn't mean scrambling to fund the first phase. A $5M contractor bidding on a $600K commercial project may need $40K–$50K in mobilization before the first draw arrives. The reserve is what keeps that new job from starving the existing ones.
How to Get Real-Time Cash Flow Visibility Across Active Jobs
The single-account problem is that every dollar looks the same: the $48K draw from the commercial project sits next to the $6,200 set aside for quarterly taxes and the $14K committed to next week's materials delivery. The balance says $68K. That feels fine until you remember a big piece of it is already spoken for.
Separate checking accounts fix that by hiding committed money from the day-to-day operating balance. A tax account, a sub payment account, a materials account, and a profit account each show what's actually available for its purpose. Each account balance tells the truth on its own: the sub payment account says whether subs are covered, the tax account says whether quarterly estimates are funded, and the operating account shows what's actually free to spend.
The test is simple: can you look at one screen and know whether this week's sub payment is covered without doing math against three other obligations? If the answer is no, the banking setup isn't doing its job. Contractors who use multiple accounts this way can stop guessing and start seeing exactly where they stand.
Build a Setup That Matches the Work
Every section above points to the same structural fix: the money in the account already has a job before it lands, and the banking setup needs to reflect that. Once retainage exposure is tracked, allocations run on a system, reserves build automatically, and committed cash is separated from usable cash, the squeeze gets easier to spot before it turns into a missed payment.
Relay fits that setup because it puts all of those pieces in one place: the accounts, the automated transfers, and the real-time visibility across every account. Open a Relay account to build a banking setup that matches how your business actually runs when multiple active jobs are all pulling on the same checking balance.
Frequently Asked Questions
How Do I Cover Subs When a Draw Is Late?
The reserve account described above is the first line of defense. Beyond that, stagger sub payment terms where possible so not every sub invoice comes due the same week. Some contractors negotiate net-15 with smaller subs and net-30 with larger ones to spread the exposure across draw cycles.
Why Does My P&L Show Profit When I Can't Make Payroll?
The P&L tracks earned income and recorded expenses, not cash in the bank. A draw you've billed but haven't collected may still show as earned income under accrual accounting if the work has been performed. Loan payments, equipment purchases, and owner salary draws also reduce the bank balance without showing up as operating expenses on the P&L.
How Should General Contractors Handle Retainage in Profit First Allocations?
Allocate based on the net payment received, not the gross billed amount. If you bill $60K and receive $54K after 10% retainage, run your percentages against the $54K that actually hit the income account. When the retainage comes back later, allocate it then.
What's the Minimum Number of Accounts a General Contractor Needs for Profit First?
Five accounts is the minimum: Income, Profit, Owner's Compensation, Tax, and Operating Expenses. Some contractor-specific guidance adds a sixth account for COGS, which covers materials and subs. Most contractors running multiple projects end up needing more than that, but six is the practical starting point.
How Often Should I Run Profit First Allocations With Irregular Draws?
Stick to the 10/25 schedule regardless of how many draws hit in a given period. Add up everything in the income account, run the splits, and move on. The discipline of a fixed rhythm matters more than matching every individual deposit to an allocation event.
What Does Cash Flow Management Look Like for a General Contractor?
It means knowing exactly what's committed and what's available across every active job, every week. In practice, that's separate accounts for tax, subs, materials, profit, and reserves, with automatic percentage-based transfers on every draw. The goal is never having to run the numbers against a single checking balance to figure out if Friday's obligations are covered.




