DSO for Construction Companies: Why the Standard Formula Hides Your Real Collection Time
Standard DSO starts at the invoice, but on an EPC project measurement and certification happen before an invoice exists. This guide shows contractors how to calculate DSO from work execution, separate retention, and find the days they can actually remove.
9 min read
DSO (days sales outstanding) is the receivable number a lender looks at first. For an EPC (engineering, procurement and construction) company in India, the standard formula leaves out the part of the collection cycle that happens before an invoice exists. This guide shows how to measure DSO in the construction industry so it reflects the real wait.
What is DSO?
DSO is the average number of days between billing a client and receiving the client's money. It is calculated as receivables divided by revenue for the period, multiplied by the number of days in the period.
The formula is:
DSO = (receivables ÷ revenue for the period) × days in the period
DSO measures the receivable side of working capital alone. It feeds the cash conversion cycle, which is DIO (days inventory outstanding) plus DSO, less DPO (days payables outstanding). For the full definition and the common mistakes, see how DSO is calculated and where it misleads.
Why is DSO misleading for contractors?
DSO is misleading for contractors because the standard formula starts the clock at the invoice date, and on a construction project the invoice cannot be raised until the work has been measured and certified. Every day spent in measurement, submission, rejection and certification is a day of collection time that standard DSO does not count.
On an EPC project, payment flows through the RA bill (running account bill): executed quantities are jointly measured on site, the bill is compiled and submitted, the client's engineer reviews and certifies it, and only then is a tax invoice raised. Read what an RA bill is and how it is calculated for the mechanics. Two features of that cycle distort DSO:
- Certification time is invisible. If certification takes three weeks, those three weeks sit before the invoice date. A DSO measured from the invoice rewards a contractor for billing late, and a healthy looking DSO can sit on top of a badly delayed cycle.
- Rejected bills erase their own delay. An RA bill is usually dated when it is accepted. A bill rejected and resubmitted often carries only the new date, so the time lost to the rejection disappears from every report built on bill dates.
Retention, covered below, distorts it further: standard DSO can be too low (it misses certification) and too high (it counts retention not yet due) at the same time.
How does retention money distort DSO?
Retention money distorts DSO because it sits inside receivables with no due date, so it ages quietly and inflates DSO without anyone owning it. Retention is the share of each certified bill, commonly 5 to 10 per cent, that the client holds back until completion and the end of the defects liability period.
A contractor whose DSO rises may simply be accumulating retention on a large project nearing completion, not suffering slower client payment. The reverse also happens: retention released in one quarter makes DSO fall without any improvement in collection. Reporting retention as its own line, aged from the completion certificate rather than the invoice, removes the noise. For the full mechanics, read how retention money works on construction contracts and the guide to retention money on Indian construction projects.
How should an EPC company calculate DSO?
An EPC company should calculate DSO from the date work was executed, not the date the invoice was raised, by adding work executed but not yet invoiced to the receivables figure. It should then split the result into three parts: certification and billing delay, collectable receivables, and retention.
In practice:
- Start the clock at execution. Include in the numerator work executed but not yet invoiced (unbilled work in progress), alongside invoiced receivables.
- Keep every rejected submission. Use the first submission date for each RA bill, not the accepted date.
- Separate retention. Report it as its own component, aged from the completion certificate.
- Calculate per client and per project. An average across clients hides the one client funding itself with the contractor's cash.
Illustrative example. The figures below are round numbers for illustration, not data from any company. One project, one quarter of 91 days:
- Revenue (work executed) in the quarter: ₹30.0 crore
- Invoiced receivables at quarter end: ₹31.0 crore, of which ₹4.0 crore is retention
- Work executed but not yet invoiced (awaiting measurement or certification): ₹7.6 crore
| Standard DSO (from invoice date) | Execution-based DSO (from work execution) | |
|---|---|---|
| Clock starts at | Invoice date | Date work was executed |
| Receivables counted | Invoiced receivables: ₹31.0 crore | Invoiced receivables plus unbilled work: ₹31.0 crore + ₹7.6 crore = ₹38.6 crore |
| Revenue in the quarter | ₹30.0 crore | ₹30.0 crore |
| Days in the period | 91 | 91 |
| Calculation | 31.0 ÷ 30.0 × 91 | 38.6 ÷ 30.0 × 91 |
| Result | About 94 days | About 117 days |
| Of which: certification and billing delay | Not visible | 7.6 ÷ 30.0 × 91 = about 23 days |
| Of which: retention | Mixed in, not visible | 4.0 ÷ 30.0 × 91 = about 12 days |
| Of which: collectable invoiced receivables | Mixed in, not visible | 27.0 ÷ 30.0 × 91 = about 82 days |
The standard formula reports 94 days. Measured from execution, the same quarter is 117 days. The 23-day difference is certification and billing delay that the standard formula cannot see, and 12 of the remaining days are retention that is not yet due. Only about 82 days reflect the client's payment behaviour on invoiced, collectable amounts.
What is a good DSO for a construction company?
There is no universal good DSO for a construction company. The comparisons that carry information are against the contract's own payment terms and the contractor's own history, because scope, terms and billing cycles differ too much between projects for an industry average to mean much.
| Compare DSO against | What it tells you |
|---|---|
| The contract's payment terms | Whether the client is late, or the terms are simply long |
| The same client last quarter | Whether that client's behaviour is changing |
| Your own certification time | How much of the wait is yours rather than the client's |
| An industry average | Very little, because scope, terms and billing cycles differ too much |
A DSO quoted for a listed EPC company is usually calculated from the balance sheet on the invoice basis, with unbilled work and retention reported in different places. Comparing an execution-based DSO with it compares two different measures.
How do you reduce DSO in construction?
You reduce DSO in construction mainly by shortening the steps before the invoice: measurement, bill compilation, resubmission and certification. Those steps are wholly or partly inside the contractor's own control, while the client's payment run is not.
A practical sequence for a finance team:
- Measure execution-based DSO first.
- Find the internal days. Track the time from work execution to first submission, and from rejection to resubmission. These are the contractor's own days.
- Group rejections by cause. Bills are usually sent back over a few recurring line items, such as missing test reports or variations submitted before approval. For a stage-by-stage method, read how to find working capital stuck in RA bills.
- Give retention an owner and a date. Age it from the completion certificate and chase it as a separate item.
- Chase per client, with the right number. Call the client about the 82 days, not the 117.
Illustrative example. Using the quarter above, revenue per day is ₹30.0 crore ÷ 91 = about ₹0.33 crore. Removing 10 of the 23 certification and billing days releases about ₹0.33 crore × 10 = ₹3.3 crore of cash for as long as the shorter cycle holds.
How does Crestline measure DSO from work execution?
Crestline is process intelligence software for EPC and construction companies. Crestline reads the event log an ERP already writes, read-only, rebuilds the real path every RA bill takes, and prices each delay in rupees, naming the step, the owner and the next move.
For DSO, Crestline:
- Reports DSO per client and per project, measured from work completion as well as from the invoice date, so the share of the wait that is the contractor's is separated from the share that is the client's.
- Follows each RA bill as its own case from execution through measurement, submission, review and certification, keeping every rejected submission so the real elapsed time survives.
- Tracks retention as its own item, aged from the completion certificate.
Crestline works with anything that can export an event log with a case, an activity and a timestamp: SAP, Oracle, Tally, Zoho, a project accounting system or a spreadsheet export. Crestline is live in about 15 days from the read-only connection being approved. The method is described on the process mining for EPC finance page.
What Crestline does not do: Crestline is not an ERP or accounting software, holds no ledger and issues no invoice. It is not project management or scheduling software, and it does not write back to source systems.
To see execution-based DSO on your own data, book a Crestline demo.
Key takeaways
- Standard DSO starts at the invoice date, so on an EPC project it cannot see measurement, submission, rejection or certification time.
- Execution-based DSO adds work executed but not yet invoiced to receivables, which starts the clock where the contractor's cash actually starts waiting.
- Retention sits in receivables with no due date and inflates DSO; report it separately, aged from the completion certificate.
- Split DSO into certification and billing delay, retention, and collectable receivables before calling the client.
- There is no universal good DSO; compare against contract terms and your own history, per client and per project.
- The fastest DSO reduction in construction usually comes from the contractor's own pre-invoice steps.
Frequently asked questions
How do you calculate DSO for a contractor?
For a contractor, DSO is calculated as receivables divided by revenue for the period, multiplied by days in the period. To capture the real collection time, add work executed but not yet invoiced to receivables, and report retention as a separate component.
Why is my construction company's DSO low when cash still feels tight?
A construction company's DSO can look low while cash is tight because DSO measured from the invoice date excludes the weeks spent on measurement and certification before the invoice is raised. Measuring DSO from work execution usually shows the missing days.
Should retention money be included in DSO?
Retention money should be reported alongside DSO as its own component rather than mixed into it. Retention is earned revenue held by the client, but it is not due until completion and the end of the defects liability period, so blending it into DSO hides both the client's payment behaviour and the retention itself.
- Working capital