Progress Billing and Retainage: The Slow Leak in Construction Cash Flow

Retainage is usually 5% to 10% of every payment on a construction contract. Average builder profit margins run around 11%, according to the National Association of Home Builders. Put those two numbers next to each other and the problem is obvious: on a lot of jobs, the amount a general contractor or subcontractor is not paid until the project closes out is close to the entire profit they are supposed to earn on it. That is not a rounding error. That is the business financing its own margin out of working capital it does not have.

The Numbers Behind the Squeeze

Slow payment is not a perception problem in construction. It is measurable, and 2026 industry data shows it getting worse, not better. Slow payments cost the US construction industry an estimated $280 billion in 2024 alone, adding roughly 14% to total construction spending, according to Rabbet’s 2024 Construction Payments Report. That figure has climbed every year tracked: $100 billion in 2020, $208 billion in 2022, $280 billion in 2024.

Metric Value Source
Contractors waiting over 30 days for payment 82%, up from 49% two years earlier Rabbet 2024 Construction Payments Report
Average days sales outstanding, construction 83 days, vs. ~60 days industrywide CreditPulse 2025 Benchmarks
Construction companies with moderate to severe cash flow challenges 74% (2024) Dodge Construction Network
Average days of cash on hand, construction firms 21.4 days RSM / CFMA benchmark
Subcontractors lacking working capital for unexpected costs 43% Billd 2025 National Subcontractor Market Report

Twenty-one days of cash on hand against 83 days waiting to get paid is not a small gap. It is the reason 95% of general contractors report floating payments to subcontractors while waiting on their own disbursements from a developer, and why roughly one in three subcontractors say they have pulled from personal or retirement savings to cover a cash flow gap caused by slow payment, per Billd’s 2025 survey.

Retainage Makes a Structural Problem Worse

Progress billing already means a contractor is paid in installments tied to work completed, not work invoiced. Retainage layers on top of that by holding back an additional 5% to 10% of every one of those installments until the project is substantially complete, sometimes months after the crew has moved on. For a subcontractor with tight margins, that withheld amount often exceeds what they expected to earn on the job. It is not a savings cushion held on their behalf. It is unpaid work sitting on someone else’s balance sheet.

Roughly 30 states now have statutes governing private-project retainage, and the trend in recent reform is toward capping it lower. California’s Civil Code section 8811, effective January 2026, caps retainage on most private projects at 5%, following similar caps already in place in New York and Washington. The direction of travel is clear even if the pace varies by state.

Retainage rules moving in a contractor’s favor is a positive trend, but it does not eliminate the underlying mechanic. Money withheld until project close is still money a business cannot use to make payroll, buy materials for the next job, or absorb a cost overrun in the meantime.

What This Means for How You Plan

Job-level profitability and job-level cash flow are two different questions, and construction is the industry where confusing them does the most damage. A project can be profitable on the schedule of values and still create a real cash shortfall in the months before retainage releases. Three adjustments matter most:

Track retainage as a receivable with a real expected release date, not as an afterthought buried in the contract terms. If you do not know when 8% of a $400,000 contract actually lands in your account, you cannot plan around it.

Build cash flow forecasts around individual jobs, not just the business as a whole. A cash flow forecast that blends five active projects into one number will hide the specific job that is about to create a gap.

Stress-test what happens if a retainage release slips by 30 or 60 days, which is common when a project closeout drags. Scenario planning built around your actual contract terms shows whether that delay is survivable or whether it forces you to turn down the next bid to protect cash.

This Compounds Across a Busy Season

Retainage on one job is manageable. Retainage stacked across four or five active projects, each releasing on a different schedule, is what actually breaks a contractor’s cash position, and it is a large part of why warning signs of a cash flow crisis often show up first in construction. Growth in backlog looks like success on the schedule of values. Without visibility into when retainage actually clears, it can just as easily be the thing that runs a contractor out of cash while fully booked.

Frequently Asked Questions

What percentage of a construction contract is typically held as retainage?

Retainage typically runs 5% to 10% of each progress payment, withheld until the project reaches substantial completion. Roughly 30 states now regulate how retainage can be applied on private projects, and recent legislation, including California’s 5% cap effective January 2026, has generally moved rates lower rather than higher.

How does retainage differ from a normal accounts receivable balance?

A standard receivable is expected to be paid on invoice terms, typically within 15 to 45 days. Retainage is contractually withheld until a defined project milestone, often project closeout, which can be months after the work was performed and billed. It behaves like a receivable on the books but functions more like a long-dated loan the contractor has extended to the project owner.

Try It With Your Own Numbers

If you cannot say with confidence when your outstanding retainage actually hits your account, that is the first gap worth closing. Connect your QuickBooks or Xero account and build a cash flow forecast around your real project timelines in under 60 seconds.

Create your free Finoya account and see what your next 90 days look like once retainage is actually accounted for.

Share this post: