Construction's DSO Problem Isn't Bad Customers. It's Retainage.
Construction DSO runs 90+ days because of retainage and approval chains, not bad customers. A contractor's playbook to separate structural float from fixable follow-up.

Sia Ghazvinian
Co-Founder & CEO

Table of contents
Share
Construction businesses wait longer to get paid than almost any other industry. It takes more than three months on average to collect on an invoice, more than double the 45-day mark construction cost accountants treat as healthy (CFMA). Only about 5% of subcontractors get paid on time. The rest wait an average of 56 days after submitting a pay application (DocJoist, 2026). Working capital tied up in unpaid work has climbed from 8.3% of revenue in 2016 to 17.8% in 2025 for small contractors (NASBP/CFMA). If your DSO looks ugly, the instinct is to blame slow-paying customers. The real culprit is structural, and it has a name: retainage.
Construction DSO runs 60 to 90+ days, far above the cross-industry average near 40, mainly because of retainage and layered approval chains, not because customers refuse to pay. Retainage is 5 to 10% of every progress payment that owners legally withhold until a project is substantially complete, often released months or years after the work is done. That withheld money sits as aged receivable on your books and inflates DSO by design.
What Is Retainage and Why Does It Wreck Construction DSO?
Retainage (also called retention) is the single biggest reason construction A/R looks different from every other industry. Understand it and most of your DSO mystery disappears.
How retainage works
On most projects, the owner or general contractor withholds a percentage of each progress payment as a guarantee that the job gets finished correctly. That percentage is typically 5 to 10% of the contract value (ConstructionCoverage, Built, Corpay). The trend is toward 5% caps on private work, and some states now enforce it: New York's SB 5655, signed in December 2025, capped private retainage at 5% and voided any contract clause trying to exceed it. The withheld money is not disputed and not late in the normal sense. It is simply held, often until substantial completion, then released 30, 60, or 90 days after that depending on state law and the contract.
Why it inflates DSO mechanically
DSO measures the average days between billing and cash. Retainage breaks that measure on purpose. You complete and bill work in month one, but 5 to 10% of it cannot be collected until the project closes out, which might be a year later. Every active project is quietly parking a slice of earned revenue in someone else's account. Even a perfectly run firm with zero late payers will show a high DSO, because the metric counts retainage as outstanding receivable the entire time it is held. The first step to managing construction DSO is to stop reading it as a single number and split it in two.
Construction's DSO Problem Is Structural, Not a Customer Problem
Before you redesign your credit policy, recognize how much of the delay is baked into how construction pays. Three structural forces do most of the damage.
Progress billing and pay applications
You do not invoice once and wait. You submit pay applications tied to milestones or percent-complete, each of which has to be reviewed and approved before payment. A late or rejected pay app resets the clock, and the schedule of values, lien waivers, and backup documentation all have to line up before money moves.
Multi-tier approval chains
Your invoice rarely goes straight to the payer. It passes through a GC, then an owner, sometimes a lender or an architect signing off on the work. Each handoff adds days, and any missing document stalls the whole chain. This is why 82% of contractors waited more than 30 days for payment in 2024, up from 49% just two years earlier (DocJoist).
Retainage release
Even after everything is approved and paid, the retainage tail lingers. Subcontractors routinely wait months, sometimes years, to see retention released. That is why slow payment is estimated to add over $273 billion to US construction costs, and floating wages and invoices alone adds 5%+ to project costs (Construction Briefing).
None of these are a customer who will not pay. They are the mechanics of the industry. Which means the fix is not to chase deadbeats harder. It is to separate what you can control from what you cannot, then attack the controllable part relentlessly.
What Part of Construction DSO Can You Actually Control?
Split your receivables into two buckets, because they need completely different treatment.
The first bucket is structural float: retainage being held to terms, and pay apps moving through a normal approval window. You manage this with documentation and tracking, not pressure. Chasing an owner for retainage that is not due yet burns the relationship and changes nothing.
The second bucket is controllable slippage: approved invoices sitting unpaid past terms, pay apps stuck because a lien waiver or document is missing, and retainage that is now due and nobody has asked for. This bucket is where your real, fixable DSO lives, and for most contractors it is far bigger than they think. The same pattern shows up across every industry: most of what looks like a payment problem is really a follow-up problem. The difference in construction is the volume of documents and parties, which makes consistent follow-up harder and more valuable.
The Construction A/R Playbook: Get Paid Faster Without Burning GC Relationships
Here is the operational playbook to shrink the controllable bucket. None of it requires changing your contracts.
Bill clean and bill on time
Most payment delays start with the pay application, not the payer. Submit on the owner's schedule, every cycle, with the schedule of values, lien waivers, and backup attached and correct the first time. A rejected pay app can cost you a full billing cycle. Treat on-time, complete submission as the highest-leverage thing your office does.
Track retainage as its own receivable
Retainage that disappears into the general A/R aging is retainage you will forget to collect. Keep a separate retainage ledger per project with the contractual release trigger and date. The day a project hits substantial completion, the retainage request should already be drafted. Money you do not track is money you do not collect.
Follow up on a fixed cadence, every invoice, every time
The accounts that age are almost always the quiet ones nobody got to. A consistent cadence fixes that: a reminder before the due date, one on it, then structured nudges past due, on every open pay app and every due retainage balance. Automated reminder cadences collect meaningfully faster than manual chasing because they never slip when the field gets busy. The goal is coverage, not aggression.
Know when to escalate, and keep it professional
Some balances need a firmer step, a lien notice deadline approaching, a retainage release long overdue. Roughly 17% of subcontractors filed a mechanics lien in the last 12 months over slow pay (DocJoist), so escalation is normal in this industry. The skill is knowing which accounts warrant it and which just need another nudge. Our framework on when to escalate an invoice and when to let it ride applies directly. Protect the relationship and your lien rights at the same time by acting early and on the documented timeline, not emotionally.
Where Automation Fits, and the 86/14 Rule
The controllable bucket in construction is mostly a volume-and-consistency problem. There are more open pay apps, retainage balances, and approval follow-ups than a small office can reach on time, so the quiet ones age while the squeaky wheels get attention.
That is the work an AI agent is built for. At Abivo we frame it as roughly 86/14: about 86% of collections is consistent, multi-channel follow-up, the calls, texts, and emails that just need to happen on schedule, and an AI agent handles that end to end. The other 14% is judgment work, real disputes, negotiations, lien decisions, which routes to a person with the full project history attached. One trades client working this way recovered $842K in a single quarter and cut DSO 61%. Abivo runs off the systems you already use and most teams are live in under a week. You can see more in our case studies. The point is not to automate the relationship. It is to make sure no approved invoice or due retainage balance ever ages just because nobody had time to follow up.
Practical Takeaways for Trade Contractors
Stop reading construction DSO as one number. Split it into structural float (retainage, normal approval windows) and controllable slippage (approved-but-unpaid, stalled pay apps, due-but-unclaimed retainage).
Retainage of 5 to 10% held until completion is the main reason your DSO looks high. It is structural, not a customer failure.
Bill clean and on time. A rejected pay app costs a full cycle, and most delays start at submission, not payment.
Track retainage as its own receivable per project, with the release trigger and date, so nothing slips through the aging report.
Follow up on a fixed cadence on every open balance. The accounts that age are the ones nobody got to, not the ones that refused to pay.
Escalate early and on the documented timeline to protect both the relationship and your lien rights.
Frequently Asked Questions
Why is construction DSO so much higher than other industries?
Because of retainage and layered approvals. Owners withhold 5 to 10% of each payment until substantial completion, and invoices pass through GCs, owners, and lenders before payment. The result is 60 to 90+ days on average, versus near 40 across all industries, even when customers pay as agreed.
What is retainage and when do I get it back?
Retainage is a percentage of each progress payment (usually 5 to 10%) that the owner withholds as a completion guarantee. It is typically released at substantial completion, then 30, 60, or 90 days after that depending on state law and contract terms. Track it separately so you can request it the day it comes due.
How can I lower my construction DSO if retainage is out of my control?
You cannot speed up properly held retainage, but you can collect everything else faster. Bill complete pay applications on time, track due retainage as its own receivable, and follow up on a fixed cadence on every approved-but-unpaid balance. That controllable bucket is usually larger than contractors expect.
Is it worth filing a lien over slow payment?
Liens are common in construction (about 17% of subcontractors filed one in the past year over slow pay) and protecting lien rights is standard practice. The decision is account by account: act early and on the documented deadline rather than as a last-minute reaction, and treat it as one escalation step, not the first move.
How does AI collections work for a contractor without hurting GC relationships?
An AI agent handles the routine, scheduled follow-up (reminders on open pay apps and due retainage across call, text, and email) and escalates anything that needs judgment to a person. Polite, on-time reminders do not damage relationships. Missing follow-up and surprise lien notices do.
Pull your A/R aging, separate the retainage and in-window pay apps from everything that is approved and simply sitting, and you will see your real, fixable DSO. For most contractors it is bigger than expected and it is all follow-up. If you want to see what consistent, multi-channel follow-up does to construction DSO, hit Get Started and we will show you.




