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?

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 by lowering DSO
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.

How DSO tends to behave by type of work
Trade / type of workHow customers usually payWhat drives DSO up
Residential HVAC and plumbing serviceCard or financing at the time of serviceJobs invoiced later instead of collected on site
Commercial HVAC and plumbing serviceNet 30 invoices, sometimes with PO numbersMissing PO numbers, invoices sent to the wrong approver
Residential roofingDeposit, then balance at completion; insurance checksInsurance depreciation and supplement timing; mortgage-company endorsements
Electrical and mechanical subcontractorsMonthly progress billing to GCsPay-when-paid clauses, retainage, lien waiver paperwork
General contractorsMonthly draws from owners or lendersDraw inspections and incomplete AIA billing packages
Landscaping and cleaning contractsMonthly invoices or card on fileSmall invoices that nobody follows up on
Patterns, not measured benchmarks. Use your own DSO trend as the benchmark.

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?

  1. Invoice the same day. Every day between job completion and invoice adds a day to DSO.
  2. Collect on site. For residential work, take card, ACH or financing before the truck leaves.
  3. Take deposits and bill progress payments on larger jobs so less is outstanding at the end. See progress billing.
  4. Send reminders automatically before the due date, on the due date and every week after.
  5. Make paying easy. Put a pay-online link on every invoice and text it, not just email it.
  6. 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.

Written by BRIX Editorial Team. Published October 12, 2026. Last updated October 12, 2026.

How we research and update pages: editorial policy.

Let BRIX run the phones and the books.
You run the work.

BRIX answers every call, follows up every lead, sends the quotes and invoices, and keeps QuickBooks tax-ready.

Call now(518) 588-1122Text