Skip to content
Finance metrics

What is DSO — and how do you actually bring it down?

DSO explained plainly: the formula, the three variants people confuse, realistic benchmarks by industry, and the seven levers that actually move it.

ERPray teamUpdated 5 min read
Short answer

Days sales outstanding (DSO) is the average number of days it takes to collect cash after a credit sale. Divide accounts receivable by credit sales for the period, then multiply by the number of days in that period. A DSO of 45 on net-30 terms means customers pay roughly 15 days late.

Key takeaways

  • DSO = (accounts receivable ÷ credit sales) × days in period. Cash sales must be excluded or the number flatters you.
  • DSO is only meaningful next to your payment terms — 45 days is excellent on net-60 and poor on net-15.
  • A single month of DSO tells you almost nothing; the trend over six periods is the real signal.
  • Cutting DSO by one day releases roughly one day of average daily sales in cash — permanently, and for free.
  • Most DSO problems are invoice-quality and dispute problems, not collections-effort problems.

Every finance team is asked the same question at some point in a board meeting: why is our cash so tight when sales are up? Days sales outstanding is usually the answer. It measures the gap between doing the work and getting paid for it — and that gap is funded out of your own pocket.

Days sales outstanding (DSO)
The average number of days between making a credit sale and collecting the cash. It is a measure of collection speed, expressed in days so it can be compared directly against the payment terms you granted.

The DSO formula

The standard formula is straightforward. What trips people up is what goes into each input.

DSO = (Accounts receivable ÷ Credit sales for the period) × Days in the period
The standard, or 'simple', DSO calculation
  • Accounts receivable — the closing trade AR balance, net of credit notes. Exclude anything that isn't a customer invoice: employee advances, intercompany balances, tax refunds due.
  • Credit sales — revenue invoiced on terms during the period. This is the input people get wrong: including cash and card sales inflates the denominator and quietly understates your DSO.
  • Days in the period — 30 or 31 for a month, 90 or 91 for a quarter, 365 for a year. Use actual calendar days rather than a rounded 30, or your monthly series will wobble for no reason.
Free calculator
DSO calculator

Enter your AR and credit sales to get DSO, days beyond terms, and the cash a one-day improvement would release.

Three variants, and when to use each

"What's our DSO?" has more than one defensible answer. Pick one, define it in writing, and never switch mid-year — a metric that changes definition is worse than no metric.

VariantHow it's builtUse it when
Simple DSOClosing AR ÷ period credit sales × daysStandard monthly reporting. Fast, comparable, good enough for trend.
Countback (true) DSOSubtract each month's sales from AR, walking backwards, until AR is exhaustedSales are seasonal or lumpy. Countback follows real invoice ageing instead of an average.
Best possible DSOCurrent (not yet due) AR ÷ credit sales × daysYou want to separate terms from lateness. The gap between actual and best possible is the collections problem.
Simple DSO is the reporting default; countback is the honest one when sales are seasonal.

What is a good DSO?

There is no universal target, and any benchmark quoted without terms attached is noise. The only two comparisons that mean anything are: against your own payment terms, and against your own trend.

Start with days beyond terms — DSO minus your weighted average terms. Under 5 days beyond terms is genuinely good. Between 5 and 15 is normal and worth working on. Above 15 days beyond terms, you have a process problem rather than a customer problem, and it is usually upstream of the collections team. To judge the collections team itself rather than the business, use the collection effectiveness index, which doesn't move when sales volume does.

< 5
Days beyond terms: healthy
5–15
Normal, with room to improve
> 15
Process problem, not an effort problem

How to reduce DSO: seven levers, in order of payoff

Ranked by how much cash they release per unit of effort. The first three are unglamorous and account for most of the win.

  1. 01

    Invoice the same day you ship

    Billing lag is pure, unforced DSO. If invoices go out on a weekly batch, your average invoice is three and a half days old before the clock even starts. Move to daily billing and you win those days permanently, with no conversation with any customer.

  2. 02

    Fix invoice accuracy first

    A disputed invoice doesn't age — it stops. Track the percentage of invoices that trigger a query, and the top three reasons. Wrong PO number, missing reference and incorrect pricing are typically the whole list, and all three are fixable at source.

  3. 03

    Work the ageing by value, not by date

    Sorting the ageing report oldest-first feels rigorous but spends your best collector's time on $400 balances. Sort by amount within each bucket — see AR aging buckets explained for how to structure it. The top 20% of overdue value is usually 80% of the cash you're chasing.

  4. 04

    Make terms a credit decision, not a sales one

    Set terms by credit tier and enforce them in the order-entry workflow. If a rep can grant net-90 to hit a quarter, your DSO is a sales-compensation artefact.

  5. 05

    Automate the reminder ladder

    A dated sequence — 7 days before due, on due date, +7, +14, +30 with escalation — reliably beats ad-hoc chasing, because it happens whether or not anyone remembers. Consistency matters more than tone.

  6. 06

    Price early payment deliberately

    A 2/10 net 30 discount costs roughly 37% annualised. Sometimes that is worth paying and often it isn't — run it through the early payment discount calculator and decide with arithmetic rather than habit.

  7. 07

    Put unapplied cash on someone's desk

    Cash received but not matched to an invoice keeps the invoice open and the customer annoyed. Unapplied cash over 5 days old is a daily report, not a month-end clean-up.

Where DSO fits with DPO and DIO

DSO on its own is half a story. It is one of three legs of the cash conversion cycle: how long inventory sits (DIO), how long you take to pay suppliers (DPO), and how long customers take to pay you (DSO). Improving DSO while DIO quietly worsens leaves your cash position flat — the cash conversion cycle calculator shows all three legs together.

Cash conversion cycle = DIO + DSO − DPO
The full working-capital picture — improve it as a system, not one metric at a time

Getting DSO out of your ERP without a project

The arithmetic is trivial. Getting the inputs is where the week goes: closing trade AR net of credit notes, credit sales excluding cash sales, both sliced by subsidiary and rolled forward for six periods. In most ERPs that means a saved search, an export, a pivot table, and someone's Tuesday.

This is exactly the class of question was built for — ask "what's our DSO by subsidiary for the last six months, excluding cash sales?" and get the number computed live from your own account, with the query it ran shown underneath so you can check the definition rather than trust it.

Frequently asked questions

What is a good DSO number?

Judge it against your terms, not an industry average. Days beyond terms under 5 is healthy, 5–15 is normal with room to improve, and over 15 points to a process problem — usually billing lag or invoice disputes rather than weak collections. Your own six-period trend matters more than any benchmark.

Should cash sales be included in the DSO calculation?

No. DSO measures how long credit customers take to pay, so the denominator must be credit sales only. Including cash and card sales inflates the denominator and understates DSO, which makes collections look better than it is. If your ERP can't split them cleanly, that's the first thing to fix.

What is the difference between DSO and average collection period?

They are the same measure with different names. Average collection period is the more common term in academic and textbook contexts; DSO is what finance teams and ERP reports use. Both express the average days between a credit sale and collection of cash.

How is best possible DSO different from actual DSO?

Best possible DSO uses only current, not-yet-due receivables, so it reflects the DSO you would achieve if every customer paid exactly on terms. The gap between actual and best possible DSO isolates lateness from the terms you granted — it's the cleanest measure of collections performance.

Can DSO be negative or exceed the period length?

DSO can't be negative with normal trade receivables, but it can exceed the days in the period — that simply means AR is larger than one period's credit sales, which is common with long terms or a weak collection month. It's a signal to switch to a rolling or countback calculation.

How often should DSO be reported?

Monthly, as a rolling six- or twelve-period trend, with days beyond terms alongside it. Weekly DSO is noisy enough to be misleading. What is worth watching weekly is the underlying drivers: overdue value by bucket, disputed invoice count, and unapplied cash.

Your ERP already knows. Start asking.

ERPray computes answers like these live from your own ERP account and shows the exact query behind every number. Early access is open for NetSuite teams — free plan at launch.