

Get a personalized demo of Stuut and see how it can help with AR automation.
Most construction companies calculate DSO incorrectly because standard formulas ignore the 5-10% of project revenue trapped in retainage. Your AR reports show a number that looks manageable but understates how long your cash is sitting idle. Days Sales Outstanding (DSO) tells you how many days your company takes to collect payment after a credit sale, and in construction, two versions of that number tell very different stories.
The average construction industry DSO sits around 83 days, significantly above the 60-day cross-industry average. Construction-specific sources suggest invoice-level DSO averages around 45 days when retainage is excluded, which sits near the midpoint of the 35-55 day range for specialty trades rather than representing a separate benchmark, and reflects average rather than top-quartile performance. The gap between those two numbers is not a data error. It reflects which calculation method you use and whether retainage is included. This article breaks down 2026 benchmarks by construction segment, explains both calculation methods, and shows how leading contractors use autonomous AR to cut DSO without adding headcount.
Construction companies face structurally higher DSO than nearly every other industry because the payment cycle layers in dependencies that don't exist in standard B2B transactions. A manufacturer ships a product and sends one invoice. A general contractor submits a pay application that passes through an owner, an owner's representative, and sometimes a lender before payment releases. Each layer adds days, and the entire chain can pause over a missing document.
Progress billing, retainage holdbacks, and multi-tier approval chains push final payment timelines to 90-120 days on complex private projects, though government-funded contracts often move faster under the Federal Prompt Payment Act and state equivalents. Understanding where those delays originate is the first step to reducing them.
Owners and general contractors withhold retainage, commonly 5% or 10% per contract, until the contractor reaches project completion and satisfies defined release conditions. On a $10M project with 10% retainage, $1M never appears in your aging report as collectable until substantial completion. That cash is effectively invisible to standard DSO formulas, which means your reported DSO looks better than your actual cash position.
Contractors carrying $2-5M in open retainage across active projects fund those projects with their own capital, even when their billed DSO looks healthy. Retainage release is also conditional: Owners release funds after inspections are complete and punch lists are addressed, adding 30-60 days of post-completion float that no collection call can accelerate.
Tracking retainage separately from billed receivables is not optional for construction CFOs who want an accurate picture of working capital. Stuut's DSO improvement checklist covers how to set up that separation in your ERP aging buckets.
Many subcontractor agreements include pay-when-paid clauses: The general contractor pays the sub only after the owner pays the GC. In practice, a specialty trade contractor submits work on day one and often waits 60-90 days for payment regardless of how quickly they invoice or how aggressively their team follows up. General contracting and construction DSO runs 60-90 days across most benchmarks, and this contractual structure is a primary driver.
For AR teams at specialty trade companies, this creates a hard floor: You can tighten follow-up timing and reduce payment friction, but you can't override contractual terms set two tiers up the payment chain. The opportunity is to close the gap between what's contractually allowed and what's actually collected.
Progress billing ties your invoices to project milestones rather than a fixed monthly cycle. A contractor might submit pay applications on day 15 of each month, but approval depends on the owner's inspector signing off on completed work. If the inspector visits on day 10 and the pay application closes on day 20, your receivable is already 10 days old before payment terms even start.
Cash application becomes complex when a single check covers multiple pay applications from different projects, each potentially with different retainage percentages. AR teams without automated matching spend hours reconciling partial payments against progress bills manually, which delays GL posting and inflates apparent DSO on the books even after cash has been received.
Benchmarks vary significantly across construction sub-sectors because payment structures, project durations, and customer concentration differ at each level. Using a single industry average to evaluate your AR performance will mislead you. The table below shows 2026 typical ranges by segment based on construction-specific industry analysis.
General contractors sit at the intersection of owner payment cycles and subcontractor obligations, which creates a two-sided AR problem. On the receivables side, GCs submit pay applications to owners who must certify the work before releasing payment, and on complex commercial or public projects that certification process can extend by weeks.
The GC segment runs 60-90 days DSO, and the biggest lever for improvement is not collection calls. It's making sure pay applications are submitted correctly and on time, because a rejected pay application resets the approval clock by weeks, not days.
Specialty trade contractors, including mechanical, electrical, and plumbing (MEP) firms, operate under subcontract terms that tie payment to GC receipt from the owner. That structure pushes DSO higher than the invoice-level work would otherwise suggest, with commercial HVAC and mechanical contractors running 45-55 days and residential service work settling in significantly lower.
Publicly traded MEP and specialty contractors often report higher DSO figures when using GAAP (Generally Accepted Accounting Principles) balance sheet methodology because that calculation includes unbilled receivables and retainage alongside billed AR. For internal performance management, invoice-level DSO excluding retainage gives you a more actionable number.
Heavy civil construction, including highway, bridge, dam, and infrastructure work, operates under different payment timelines depending on funding source. For contracts with federal, state, or county Departments of Transportation, the standard target DSO range is 45-60 days under federal and state prompt payment laws. The Federal Prompt Payment Act requires federal agencies to pay contractors within set periods after a proper invoice, and it applies to government construction contracts, covering progress payments to prime contractors within 14 days and final payment including retainage within 30 days. Progress billing tied to milestone certification still requires complete backup documentation, and any documentation gap gives the owner's representative grounds to reject or delay certification.
Top-performing heavy civil contractors reduce DSO by maintaining complete backup documentation for every pay application and tracking change orders in real time to eliminate that risk before the pay application is submitted.
Residential contractors see faster payment cycles because the payment chain is shorter: One owner, one contractor, and sometimes one bank lender. Homebuilding segments tend to run lower DSO than commercial construction because projects are smaller in scope and payment is often tied to construction draw schedules that lenders enforce, though the gap narrows when lender inspections introduce the same milestone delays as commercial work. Residential contractors billing directly to homeowners or small developers can target meaningfully lower DSO than their commercial counterparts.
In construction, DSO is typically calculated from the invoice or pay application date, not from the date work was performed. That starting point matters because a pay application submitted on day 30 of a 90-day period starts its DSO clock at day 30, not day one.
One approach to invoice-level DSO calculates the weighted average days from invoice date to payment date, excluding retainage from both the numerator and denominator. The formula works as follows:
Step 1: For each invoice, calculate days outstanding from invoice date to payment receipt date.
Step 2: Multiply days outstanding by the billed amount minus retainage held on that invoice.
Step 3: Sum all results from Step 2 and divide by total billed amounts (excluding retainage) for the period.
This produces a retainage-adjusted DSO that reflects how long you actually wait to collect on amounts you can pursue. Per the standard DSO definition, the formula is DSO = (Accounts Receivable / Total Credit Sales) x Number of Days, but in construction, you replace "Accounts Receivable" with billed AR net of retainage to remove the structural distortion. Many contractors track retainage separately in a dedicated aging bucket, with a clock that starts from the projected project completion date rather than the invoice date.
Public companies in construction typically use the GAAP balance sheet method: DSO = (Average Accounts Receivable / Annual Revenue) x 365. The critical variable is what counts as "Accounts Receivable" on the balance sheet, which under GAAP standards for long-term contracts includes billed amounts, unbilled contract assets, and retainage receivable where the right to payment is only subject to passage of time.
Including all three components in the AR numerator can produce DSO figures of 80-100+ days because it captures amounts that haven't been invoiced yet alongside amounts awaiting final project sign-off. For internal performance management, use the invoice-level retainage-adjusted method. For board reporting and peer benchmarking against public companies, use the GAAP balance sheet method, and be explicit about which calculation you're presenting.
The conflicting benchmarks in the market, from roughly 45 days up to 100+ days, all reflect different calculation approaches applied to different sub-segments:
Improving DSO in construction is not about sending more dunning emails. It requires tightening three structural processes: Payment term enforcement before work starts, lien waiver discipline throughout the project, and milestone tracking to trigger retainage invoices on time. AR automation handles the routine follow-up and payment matching inside all three without adding headcount.
Payment terms in construction are often vague: "Payment upon completion" or "30 days after owner's approval" can mean almost anything without explicit definitions of what constitutes completion and who determines it. AR Directors who improve DSO consistently start by working with legal and project management to standardize contract language that defines payment dates precisely and specifies the exact documentation required to trigger payment.
The collection problem often starts before the AR team is even involved. A contract that allows extended review periods and conditional approvals at multiple tiers can effectively build payment cycles of 75+ days into the deal before a single collection call is made.
Lien waivers create a significant administrative bottleneck in construction payments. Contractors are often contractually required to provide lien waivers as a condition for payment, though this is not a universal legal requirement. Where contracts require it, a GC typically collects conditional lien waivers from subs before releasing payment, with those waivers taking effect only once payment is received and cleared. An owner or GC may also require unconditional waivers from all subs as a condition of final payment.
Whether that requirement is enforceable before payment is received varies by jurisdiction and has been contested in courts. If one sub on a 12-trade project hasn't returned their waiver, the entire payment for that pay period can stall. AR teams that manage waiver status through email threads and spreadsheets miss deadlines and allow payment holds that a systematic pre-submission tracking process would have prevented.
Retainage doesn't release itself. The contractor must invoice for retainage after reaching substantial completion and meeting the specific conditions outlined in the contract. AR teams without milestone tracking often leave retainage invoices unsent for weeks past project completion because no one has a systematic trigger to initiate the request.
The fix is straightforward: Map retainage release conditions into your project management system as milestones and initiate the retainage invoice as soon as those milestones are confirmed closed. For a contractor carrying 5% retainage across $20M in annual revenue, shortening the retainage release cycle by even 30-45 days frees meaningful working capital that would otherwise sit idle between project completion and invoice submission.
Pay applications get rejected for avoidable reasons: Math errors, missing backup documentation, incorrect cost codes, or wording that doesn't match the contract's schedule of values. Each rejection restarts the approval clock and delays payment by weeks. AR Directors who reduce rejection rates through rigorous pre-submission checklists achieve better DSO than those who treat rejections as routine.
Checklists for pay application review before submission keep the clock moving and reduce rejections before they start. AR teams that build this into their pre-submission process, rather than reacting after certification delays, consistently achieve faster collection cycles.
The benchmarks in this article draw from the most current industry data available, weighted toward construction-specific sources rather than cross-industry averages that dilute the construction picture.
The Construction Financial Management Association (CFMA) publishes widely cited financial benchmarks in the industry through its annual Financial Benchmarker survey, which collects balance sheet and income statement data from more than 1,500 construction companies. CFMA's AR analysis provides segment-level breakdowns for GCs, specialty trades, and heavy civil that are more precise than cross-industry databases, and it serves as a primary source for understanding how retainage flows through construction balance sheets. The benchmarks in this article reference the most recent CFMA survey data available as of February 2026.
The Associated General Contractors of America (AGC) conducts several recurring annual surveys covering construction hiring and business outlook, the state of the construction labor market (conducted with NCCER), and industry trends, none of which are financial performance or benchmarking surveys comparable to CFMA. AGC provides contract forms, advocacy, and industry trend analysis that reflect general contracting market conditions, though these resources do not include financial benchmarks on payment terms or approval timelines by contractor tier.
The segment-level ranges in the table above draw from CFMA data and construction-specific analysis. Where benchmarks conflict, the variance often reflects calculation methodology: Invoice-level retainage-adjusted figures tend to be lower than GAAP balance sheet figures for the same company. We've presented both ranges with explicit labels to avoid misrepresentation.
Reducing DSO by 10 days on $50M in annual credit sales frees $1.37M in working capital, calculated as ($50,000,000 / 365) x 10 days, assuming the full $50M represents billed receivables subject to standard collection terms and excluding retainage, unbilled contract assets, and other amounts that follow different collection timelines. That cash is not new revenue. It's money already earned, sitting in receivables because the collection process has friction in it. Cutting DSO by 37% from a 90-day baseline, which is what Stuut customers achieve on average, means a $50M contractor reduces collection time by roughly 33 days and frees approximately $4.6M in working capital, calculated as ($50,000,000 / 365) x 33 days, without a single new sale.
Your DSO target should reflect your sub-segment, not a generic industry average. A heavy civil contractor targeting 55-day DSO is chasing a number that ignores the structural realities of government payment cycles. A residential contractor accepting 75-day DSO is leaving weeks of avoidable float on the table.
Use the segment ranges in the table above to set a realistic improvement target, then calculate the working capital impact of closing the gap between your current DSO and that target. For a specialty trade contractor at 75-day DSO with a target of 50 days, that 25-day improvement on $30M in annual credit sales equals approximately $2.05M in freed working capital, calculated as ($30M / 365) x 25 days, assuming the full reduction translates to collectible cash rather than being offset by retainage holdbacks or disputed invoices within that AR pool. That number is the business case for your CFO. Stuut's step-by-step DSO improvement checklist walks through how to structure that CFO presentation with segment-specific data.
Bishop Lifting, an industrial equipment company with 45 branches and 5,000 active accounts, went live with Stuut in 6 weeks and reduced overdue receivables by 35%, unlocking $3M in working capital. Our AI agent now handles 91% of routine outbound follow-up communications, including payment reminders, invoice resends, and status checks, while complex disputes and escalations remain with the AR team, and the agent responds to customer inquiries in under two minutes, allowing the team to manage 50% more accounts per employee.
While Bishop Lifting operates in industrial distribution rather than construction, the operational profile closely mirrors a specialty trade contractor: High invoice volume, diverse customer base with inconsistent payment patterns, and a small AR team stretched across hundreds of accounts. The DSO improvement came from eliminating the manual follow-up backlog, not from restructuring payment terms.
The path to improved DSO in construction typically includes three components: Accurate measurement, structural process tightening, and autonomous execution on routine follow-up.
Stuut integrates with SAP, Oracle, NetSuite, and Dynamics via API in 3-4 days without modifying your ERP configuration, which matters in construction where IT resources are already stretched thin. Stuut's 95%+ automated cash application rate handles partial payments and multi-invoice wires common in progress billing without manual intervention. Stuut's AI-powered voice calling means Stuut follows up on overdue invoices and unresolved payment inquiries through contextual phone outreach that includes full account and collection history for each customer.
If you want to see how Stuut applies autonomous collections, partial payment matching, and contextual voice outreach to construction AR portfolios, book a demo with our team.
Good DSO targets depend on your sub-segment: Residential contractors often achieve faster payment cycles than commercial segments due to shorter project durations and simpler approval chains, specialty trades run 35-55 days using invoice-level methodology with retainage excluded, and general contractors target the lower end of the 60-90 day range on billed receivables. Heavy civil contractors on government-funded projects run 45-60 days under federal and state prompt payment laws.
One approach to calculating billed DSO excludes retainage from both accounts receivable and the total credit sales denominator, then tracks retainage in a separate aging bucket with a clock that starts from the projected project completion date. A common invoice-level formula is: Sum of (days from invoice date to payment date x billed amount net of retainage), divided by total billed amounts net of retainage for the period. See DSO definition for the standard formula.
Progress billing tied to milestone certification, retainage holdbacks of 5-10% held until project completion, and multi-tier owner approval chains are the primary structural drivers of elevated construction DSO. Missing lien waivers add administrative delay, and pay-when-paid provisions in subcontracts affect when a subcontractor receives payment, though the contractor remains responsible for paying within a reasonable time even if the owner hasn't yet paid the GC. On government-funded projects, the Federal Prompt Payment Act and state equivalents set tight timelines that can accelerate payment compared to private work, though milestone certification and documentation requirements still add complexity to the collection cycle.
The fastest gains come from eliminating the manual follow-up backlog on overdue invoices and unresolved payment inquiries, which lets a small AR team maintain consistent outreach across the full portfolio without prioritisation gaps. Stuut customers see an average 37% reduction in DSO by connecting to their ERP in 3-4 days and handling routine collection outreach autonomously across email, SMS, and voice.
Retainage: A percentage of each progress payment, commonly 5% or 10%, that an owner or general contractor withholds until the contractor reaches project completion and satisfies defined release conditions. Retainage should be tracked separately from billed AR because it follows a different collection timeline.
Progress billing: An invoicing method in which contractors submit pay applications at defined intervals or milestones during a project rather than billing for the full contract amount at once.
Pay-when-paid clause: A contract provision stating that a general contractor's obligation to pay a subcontractor is conditioned on the GC first receiving payment from the project owner. This clause addresses the timing of payment.
Lien waiver: A legal document in which a contractor or supplier waives their right to file a mechanic's lien in exchange for payment. Where contracts require it, GCs typically collect conditional lien waivers before releasing payment, with those waivers taking effect only once payment is received and cleared.
GAAP balance sheet method: A DSO calculation using total accounts receivable from the balance sheet, which includes billed amounts, unbilled contract assets, and retainage receivable, divided by annual revenue multiplied by 365.
Cash application: The process of matching incoming payments to open invoices and posting entries to the AR subledger.
