Days Sales Outstanding: Calculate DSO Without Misreading It

Cash flow and getting paid: plan the next paymentFor business ownersWorked example

Days sales outstanding, or DSO, compares your receivables balance with credit sales over a period. Calculate it consistently, then check actual invoice-to-payment days before deciding that customers are paying faster. Changes in sales volume, the timing of sales, credits and disputed balances can move DSO even when nobody changes their payment behaviour.

What you’ll get from this guide: For businesses selling on account: build a payment-performance sheet that explains changes in DSO instead of reporting a number alone.

Choose your calculation before comparing months

One common calculation is:

Closing-balance DSO = closing trade receivables ÷ net credit sales in the period × days in the period.

Xero's Australian receivables guide sets out that receivables-to-credit-sales formula. Here, "credit sales" means customers buy now and pay later; it does not mean sales paid by credit card at checkout. "Net" means after relevant sales returns and credits.

Write your basis at the top of the tracking sheet. Some reports instead use average receivables, perhaps opening plus closing divided by two. That is a different version: label it and keep the method stable. Don't compare one month's closing-balance figure with next month's average-balance figure.

Use actual days in each reporting period. If there were no credit sales, report not meaningful rather than dividing by zero. DSO compares a balance with sales. To measure how long each invoice took to pay, use its issue and receipt dates.

Keep the numerator and denominator comparable

For this worksheet, use trade receivables and credit sales excluding GST on both sides. If your receivables export includes GST, get the matching tax-exclusive figure from the underlying documents; don't assume every balance can be divided by 1.1. Your bookkeeper can help produce the consistent export without changing the source transactions.

Keep cash-at-sale transactions out of the denominator. Including them would add sales that never waited in receivables. Also record how you handle customer credits, foreign currencies and disputed invoices. Use the same policy each period and disclose any change.

These are measurement choices, not instructions for a BAS or an accounting journal. Start with checked records, then use DSO alongside your usual cash flow management.

See how DSO improves while payment speed stays unchanged

Consider two fictional 90-day reporting windows. Every customer pays exactly 30 days after invoicing. Both windows finish with $30,000 outstanding, representing sales from their last 30-day block. Period B simply has an extra $30,000 of sales in its first block, collected in its second block.

A 25% fall in DSO with no faster customer payments

Assumptions: Fictional 90-day windows. AUD excluding GST on both sides. All sales are on credit; no returns, write-offs or disputed balances. Every customer pays after exactly 30 days.

Input / calculationPeriod APeriod B
Opening receivables$30,000$30,000
Credit sales: first 30 days$30,000$60,000
Credit sales: middle 30 days$30,000$30,000
Credit sales: final 30 days$30,000$30,000
Net credit sales over 90 days$90,000$120,000
Collections during window$90,000$120,000
Closing receivables$30,000$30,000
Closing DSO: receivables ÷ sales × 9030 days22.5 days

Original ASBG fictional example. Use the assumptions above when replacing these figures with your own.

The ledger arithmetic also agrees: opening receivables plus credit sales less collections leaves $30,000 in each case. The extra early sales in B were paid before its reporting date. Collections increased because sales increased earlier, not because a customer shortened their payment time.

Customers haven't paid any faster, so don't describe the change as a 25% improvement in collection speed. The accurate note is: DSO fell from 30 to 22.5 days because of the sales pattern; invoice payment time stayed at 30 days.

Check actual invoice payment days beside DSO

For a paid invoice, subtract the issue date from the date payment is received. Use calendar days consistently and define what you mean by received, such as the bank transaction date. Separately calculate days late against the agreed due date. MYOB's ageing explanation shows why invoice age and overdue age answer different questions.

Sample paid invoices: each still takes 30 days

Assumptions: Four illustrative paid invoices in each reporting window. Day numbers run from 1 to 90 within that window; they are not calendar dates. Both windows have identical payment intervals.

Invoice sampleIssue dayPayment dayDays in ADays in B
Invoice 15353030
Invoice 220503030
Invoice 335653030
Invoice 450803030

Original ASBG fictional example. Use the assumptions above when replacing these figures with your own.

In your own sheet, add invoice value, due date and customer alongside those dates. A simple mean gives each paid invoice equal weight; an amount-weighted mean gives larger invoices more influence. Label whichever you use. For instalments, record each receipt separately or clearly use final-payment days, rather than silently treating the first instalment as full payment.

Unpaid invoices do not yet have a completed payment interval. Keep their number, value and overdue age beside the paid-invoice measure. Otherwise a business with several very late unpaid invoices can look efficient merely because only the easy invoices appear in its average.

Keep a short explanation with every result

Use these columns in a monthly tracking sheet: period dates, day count, receivables basis, closing balance, net credit sales, DSO, paid-invoice days, unpaid overdue amount and reason for movement. Save the report references behind the inputs.

When the number changes, check:

  • Growth or seasonality: did sales land earlier or later in the window?
  • Cash sales: did the export accidentally mix immediate payments with credit sales?
  • Credits or write-offs: did balances fall without cash arriving?
  • Disputes: is a large unresolved invoice dominating the balance?
  • Customer mix: did a new customer's agreed terms change the expected payment pattern?

If you show an adjusted figure excluding a dispute, keep the all-in figure visible too. DSO has no universal "good" number independent of terms and sales patterns. Use the checked exceptions to choose invoice follow-up actions, and use your cash forecast for the dates you need money in the bank. More related tasks sit in cash flow and getting paid.

Next, check receipts, credits and report dates before chasing an old balance.

Key takeaways

  • State whether DSO uses closing or average receivables, and keep the basis consistent.
  • Match the tax basis and include credit sales rather than all sales.
  • Check actual invoice payment days and unpaid balances before claiming collection improved.
  • Explain changes in sales timing, customer mix and adjustments beside the headline figure.

Where to get help

General information only. This guide doesn't take your personal or business circumstances into account and isn't financial, legal or tax advice. Rates and thresholds change — check the official sources linked in this guide and get qualified advice where your circumstances require it.