GenayaGenaya
Pricing
Support
Start for free
All postsPayments

Profitable but broke: the construction cash flow math nobody shows

By the Genaya TeamMay 15, 20267 min read

Your P&L says you just closed the best quarter in company history. Your bank account says you cannot cover Friday's payroll without drawing on the line of credit again. Both statements are telling the truth. Construction is the industry where profit and cash live in different time zones, and the distance between them is measured in days-to-paid.

Slow payments cost US construction an estimated $299 billion in 2025. That figure is not an abstraction. It is a hidden tax collected on every project, paid out as interest on borrowed money, crews idled waiting on funded work, bids you could not chase, and owners quietly draining personal accounts to float somebody else's payment schedule.

The payment math is rigged against you

Start with how long the money actually takes. The average general contractor waits over 80 days to get paid, and the industry's payment cycle runs roughly 90 days against the 45 or so that most other industries consider healthy. Subs sit at the end of that chain and inherit everyone's delays: 82% of contractors report waiting 30 or more days past the expected payment date.

$299Bestimated cost of slow payments to US construction in 2025
80+ daysaverage wait for a general contractor to get paid
82%of contractors paid 30+ days past the expected date

The personal cost shows up in the data too. In one 2025 survey, 44% of contractors said they dipped into personal savings to float payments. Read that again: nearly half the industry is acting as an unpaid, unsecured lender to the projects above them, and funding the loan from the family accounts.

How a record month leaves you with less cash

Here is the arithmetic that blindsides growing subs. Say you normally bill $250,000 a month and collect in about 90 days. At any given moment, roughly three months of billings - $750,000 - sits in receivables. That money already left your account as payroll, materials, and equipment. It just has not come back yet.

Now you land the big one and billings jump to $400,000 a month. Receivables swell from $750,000 to $1.2 million. The extra $450,000 is cash you had to spend on labor and materials before a single new dollar arrived. At a 90-day cycle, every additional $1 of monthly revenue locks up $3 in receivables. Your income statement prints a record. Your bank balance prints a warning.

This is why profitable-but-broke is not a paradox. Profit is an opinion about a period. Cash is a fact about a date. In construction, the date the work costs you money and the date the work pays you are two to three months apart, and everything dangerous lives in that gap.

Growth eats cash: the $333,000 nobody budgets

You can put a number on what growth costs before it pays. Receivables tie up roughly annual revenue times collection days divided by 360. Grow from $3 million to $5 million on a 60-day collection cycle and the extra $2 million of revenue adds roughly $333,000 in receivables you must fund - out of retained cash, a line of credit, or supplier terms - before the growth returns a dollar.

Rerun it with your own numbers: added revenue times collection days, divided by 360. A sub going from $1.5 million to $2.5 million at 75 days needs to find about $208,000. Almost nobody puts that line in the growth plan, which is why so many contractors have their worst cash year during their best revenue year.

The one-page weekly forecast

You do not need a CFO or new software to see a crunch coming. You need four lines on one page, updated every Monday in about 20 minutes:

  1. Cash in hand. Every account balance you can actually spend, added up this morning. Not what the books say you have earned - what the bank says you have.
  2. Cash coming in the next 30 days. Only draws and invoices that are approved and in the payment queue. If the pay app is not signed, it does not go on this line. Haircut anything with a shaky payment history.
  3. Cash going out in the next 30 days. Payroll with burden, sub payments, material invoices coming due, loan payments, rent, insurance, taxes. Payroll never slips, so list it first.
  4. The gap. Line 1 plus line 2 minus line 3. Positive means you sleep. Negative means you have 30 days to fix it with collection calls, a draw request, or the line of credit - on your terms instead of at Friday-at-4pm terms.

Extend it four weeks out and you have a rolling forecast that flags a squeeze a month before it lands. It also changes behavior: collections stop being an awkward afterthought and become a scheduled Monday task with names and dollar amounts attached.

Price the wait into the bid

Here is the move that separates well-run subs from merely busy ones. Waiting to get paid has a cost you can calculate: carrying $100,000 for 90 days on a line of credit at 12% APR costs about $3,000. That is a real project cost - as real as fuel, insurance, or the dumpster - and most bids pretend it does not exist.

The subs who stopped pretending got paid for it. In one analysis, subs who priced working-capital cost into their bids ran 24% gross margins versus 17% for those who did not. Seven points of margin did not come from working harder. It came from refusing to lend money at 0% and calling it a bid.

Shrink the gap before you finance it

Pricing covers the cost of the gap. These habits shrink the gap itself:

  • Take deposits. A 10-30% deposit turns a project from something you finance into something the client co-funds. Deposit caps vary by state for certain kinds of work, so treat this as operational guidance rather than legal advice and confirm your ceiling with your attorney.
  • Bill on milestones, not completion. Progress billing tied to rough-in, inspection, and delivery events keeps cash arriving while the work happens instead of 90 days after it ends.
  • Invoice the day the milestone hits. An invoice that waits for month-end close adds up to 30 free days to an already long cycle. Same-day billing is the cheapest financing you will ever find.
  • Chase pay apps before the due date. Call five days ahead to confirm the pay app is approved and scheduled. Most late payments are not malice - they are your invoice sitting in someone else's stack.
  • Track retainage separately. Retainage is not a receivable you can count on in 30 days. Keep it on its own line so it never pads the forecast.

None of this requires the market to change or GCs to become saints. It requires one page every Monday, one extra line in every bid, and billing habits that treat cash as the product it actually is. The contractors who run this way are not luckier. They just stopped confusing a strong P&L with a company that can make payroll.

Frequently asked questions

The average general contractor waits over 80 days, and the industry's full payment cycle runs roughly 90 days against a healthy 45. Subs typically wait even longer because money flows down the chain: 82% of contractors report being paid 30 or more days past the expected date.

More from the blog

View all
Genaya

Run your whole operation on one platform

Calls, scheduling, estimates, invoices, payments, and AI - one thread per client, across 36 connected products.