What Is Days Sales Outstanding (DSO)?
By BRIX Editorial Team · Updated
Days sales outstanding (DSO) is the average number of days it takes a business to collect payment after making a sale on credit. Calculate it by dividing accounts receivable by credit sales for a period, then multiplying by the days in that period. A contractor with a 45-day DSO waits about six weeks, on average, to get paid.
Key takeaways
- DSO = (Accounts receivable ÷ Credit sales) × Days in period.
- Lower is better: every day you cut from DSO frees up one day of sales in cash.
- Compare DSO to your payment terms. Net 30 terms with a 50-day DSO means customers pay about three weeks late on average.
- Retainage inflates DSO on commercial work, so calculate it with and without retainage.
- Track DSO monthly. A rising DSO shows a collections problem before the bank balance does.
How do you calculate days sales outstanding?
DSO = (Accounts receivable ÷ Credit sales) × Days in period
- Accounts receivable
- open customer invoices at the end of the period (from your A/R aging report)
- Credit sales
- sales you invoiced during the period. Leave out jobs paid on the spot by cash or card.
- Days in period
- 30 for a month, 90 for a quarter, 365 for a year. Use the same period as the sales figure.
Want the number for your own business? Use the DSO calculator. Pull A/R from your aging report and credit sales from your profit and loss statement for the same period.
How much cash does a lower DSO free up?
Each day you cut from DSO turns one day of average sales into cash in the bank. Daily sales = credit sales ÷ days in period. Multiply that by the days you cut.
Cash freed = (Credit sales ÷ Days in period) × Days of DSO cut
How does retainage affect DSO?
Retainage is part of your A/R but isn't due until the job (or your scope) is complete, so it pushes DSO up even when customers pay every progress bill on time. Calculate DSO both ways: with retainage, to see total cash tied up, and without, to see how well you're collecting what's actually due.
What is a good DSO for a contractor?
A good DSO is one close to your payment terms. There's no single industry benchmark that fits every shop, because the number depends on whether you collect on site, bill on net 30 or wait on general contractors and insurance companies. The table shows how DSO tends to behave by type of work.
| Trade / type of work | How customers usually pay | What drives DSO up |
|---|---|---|
| Residential HVAC and plumbing service | Card or financing at the time of service | Jobs invoiced later instead of collected on site |
| Commercial HVAC and plumbing service | Net 30 invoices, sometimes with PO numbers | Missing PO numbers, invoices sent to the wrong approver |
| Residential roofing | Deposit, then balance at completion; insurance checks | Insurance depreciation and supplement timing; mortgage-company endorsements |
| Electrical and mechanical subcontractors | Monthly progress billing to GCs | Pay-when-paid clauses, retainage, lien waiver paperwork |
| General contractors | Monthly draws from owners or lenders | Draw inspections and incomplete AIA billing packages |
| Landscaping and cleaning contracts | Monthly invoices or card on file | Small invoices that nobody follows up on |
DSO vs. DPO and the cash conversion cycle
DSO measures how fast customers pay you. Days payable outstanding (DPO) measures how fast you pay suppliers; see accounts payable. If your DSO is 45 days and your DPO is 30, you're carrying 15 days of job costs yourself. Businesses that hold inventory add days inventory outstanding to get the full cash conversion cycle: DIO + DSO − DPO. For most service contractors with small truck stock, DSO minus DPO is the number that matters.
How do you lower DSO?
- Invoice the same day. Every day between job completion and invoice adds a day to DSO.
- Collect on site. For residential work, take card, ACH or financing before the truck leaves.
- Take deposits and bill progress payments on larger jobs so less is outstanding at the end. See progress billing.
- Send reminders automatically before the due date, on the due date and every week after.
- Make paying easy. Put a pay-online link on every invoice and text it, not just email it.
- Work the aging report weekly. Call anything 30 days past due. The full playbook is in how to collect unpaid invoices.
Common DSO mistakes
- Including cash sales. Jobs paid on the spot never enter A/R, so counting them in sales makes DSO look better than it is.
- Mixing periods. Year-end A/R divided by one month's sales gives a meaningless number. Match the A/R date to the sales period.
- Ignoring seasonality. A landscaper's DSO in March looks terrible because winter sales were tiny. Compare to the same month last year.
- Letting payments sit unapplied. Payments not matched to invoices keep A/R (and DSO) artificially high.
- Looking at the average only. A 35-day DSO can hide one customer at 120 days. Check the aging report too.
Frequently asked questions
What is a good DSO?
A DSO close to your payment terms is good. If you bill net 30 and your DSO is around 30, customers are paying on time. A DSO well above your terms means customers are paying late or invoices are going out late.
How do I calculate DSO in QuickBooks?
Run the A/R aging summary as of the last day of the period and a profit and loss report for the same period. Divide total A/R by invoiced sales, then multiply by the number of days. If you take a lot of payments on site, subtract those from sales first.
Is a lower DSO always better?
Almost always. A lower DSO means cash arrives sooner. The exception is when you get it by offering steep discounts or turning away good customers with longer terms, so weigh the cost of the change against the cash it frees.
Should retainage be included in DSO?
Calculate it both ways. DSO with retainage shows all the cash tied up in receivables. DSO without retainage shows how well you collect bills that are actually due. Commercial subcontractors often see a big gap between the two.
What's the difference between DSO and average days to pay?
DSO is a company-wide average based on A/R and sales. Average days to pay is measured invoice by invoice or customer by customer. Use DSO for the overall trend and per-customer days to pay to decide who to call.
How often should I calculate DSO?
Monthly is enough for most contractors. Track it on a rolling basis and compare it to the same month last year, since seasonal swings in sales move the number.
Related
- Days Sales Outstanding (DSO) Calculator for ContractorsFree days sales outstanding calculator for contractors. See how long customers take to pay, how much cash is tied up in receivables, and what it costs you.
- What Is Accounts Receivable?Accounts receivable explained for contractors: how A/R works, the aging report, turnover formula, worked examples by trade, and how to collect faster.
- What Is Accounts Payable?Accounts payable for contractors: how A/P works with supply houses and subs, DPO formula, early-pay discount math, by-trade examples and common mistakes.
- How to Get Paid Faster as a Contractor12 ways contractors get paid faster: deposits, same-day invoicing, card and ACH on site, progress billing, reminder schedules, and what each is worth.
- How to Collect Unpaid Invoices (A Contractor's Escalation Plan)A day-by-day plan for collecting unpaid invoices: reminder scripts, the 30/60/90-day escalation, late fees, lien rights, small claims and write-offs.
- What Is Retainage in Construction?Retainage explained for contractors and subs: how it's calculated, worked billing examples, retainage receivable and payable accounting, rules and release.
- Cash Flow for Contractors: Why Profitable Shops Run Out of MoneyWhy profitable contractors run out of cash, how to forecast 13 weeks ahead, runway math with worked examples, seasonal patterns by trade, and fixes.
- Contractor invoicing software that sends the invoice and chases the moneyTurn finished jobs into invoices the same day, send polite automatic reminders on unpaid ones, and sync invoices and payments to QuickBooks.
- Bookkeeping for contractors that keeps your books tax-ready all yearContractor bookkeeping that stays current: categorized expenses, 1099 subcontractor tracking, sales tax and quarterly tax reminders, synced to QuickBooks.
- QuickBooks for contractors: the right version, real job costing and a sync that keeps the books matched to the jobsQuickBooks for contractors: Online vs Desktop, job costing with projects and classes, sync pitfalls, and how BRIX keeps QuickBooks matched to your jobs.