Skip to content
Receivables

Understanding DSO and what "good" looks like

What is DSO, how to calculate it two ways, and why the number tells you nothing until you compare it against your own stated terms, entity by entity.

Hugo Perrin8 min read
On this page

What is DSO?

DSO, or days sales outstanding, is the average time it takes to convert a credit sale into cash.

It is a duration, not a dollar amount, and an average across every open invoice, so one very large late invoice can move it as much as fifty small ones. That averaging is why the metric is useful for spotting a trend and useless for deciding who to call this morning.

DSO also applies only to credit sales. Cash and card sales never sit in receivables and do not belong in the denominator, which is why a group mixing a retail entity with an invoice-and-wait services entity gets a distorted number.

The standard DSO formula

DSO = (accounts receivable at the end of the period / credit sales during the period) x number of days in the period.

Three inputs, and every argument about DSO is really an argument about how one of them was defined. Accounts receivable is the gross open balance, before any allowance for doubtful accounts, because you are measuring collection speed rather than expected loss. Credit sales exclude cash sales. And the day count has to match the period the sales came from.

A worked calculation

Take one operating entity with credit sales of $600,000 across a 91-day quarter (April $250,000, May $200,000, June $150,000) and accounts receivable of $400,000 at the end of June.

DSO = ($400,000 / $600,000) x 91 = 60.7 days.

Round it to 61. If this entity invoices on net 30, it is collecting roughly a month past its own terms. That single comparison is worth more than any industry benchmark you could look up.

Why the period you choose changes the answer

The same receivables balance produces a different DSO depending on which sales period you divide it by, and the effect is large enough to be mistaken for real change.

Keep the $400,000 balance and divide it by June alone: ($400,000 / $150,000) x 30 = 80 days. Divide it by the trailing twelve months, where credit sales were $3,000,000: ($400,000 / $3,000,000) x 365 = 48.7 days. Nothing about the business changed between those three numbers. Only the window did.

So fix your window and never move it. Pick quarterly or trailing-twelve-month DSO, write the definition down, and compute it the same way every time. A series that switches methods halfway through invites you to celebrate an artefact.

The related trap is growth distortion. When sales rise sharply, the recent months that generated most of the open balance are underweighted in a long denominator and DSO looks flatteringly low. When sales fall, DSO looks worse than behaviour warrants.

Countback DSO versus simple DSO

Countback DSO, sometimes called exhaustion DSO, fixes the growth distortion by matching the receivables balance against actual sales month by month instead of against a period average.

The method walks backwards from the most recent month. If the open balance exceeds that month's credit sales, all of that month's days belong in the DSO and you subtract its sales from the balance before stepping back. When you reach a month whose sales exceed the remaining balance, take the fraction: (remaining balance / that month's sales) x days in that month.

Run it on the same entity, starting from $400,000. June sales were $150,000, less than the balance, so all 30 days of June count and $250,000 remains. May sales were $200,000, still less, so all 31 days of May count and $50,000 remains. April sales were $250,000, more than the remainder, so April contributes ($50,000 / $250,000) x 30 = 6 days.

Countback DSO = 30 + 31 + 6 = 67 days.

Simple DSO said 61. Countback says 67. The gap exists because sales were declining through the quarter, and the simple method quietly credited the entity with June-level receivables against April-level sales volume. Countback is the more honest number for any business with seasonality, project billing, or a growth curve that is not flat. Simple DSO is still worth computing, because a widening gap between the two methods signals that your sales profile is shifting.

What is best possible DSO?

Best possible DSO is what your DSO would be if every customer paid exactly on terms and nothing were overdue: (current, not-yet-due receivables / credit sales for the period) x days in the period.

Suppose $180,000 of the $400,000 balance is not yet due. Best possible DSO = ($180,000 / $600,000) x 91 = 27.3 days. Call it 27.

That figure reframes the conversation. The floor is 27 days, set by your terms and billing timing. The actual is 61. The 34-day gap is the entire collectible opportunity, and the only part of DSO that responds to a collections process. No amount of chasing gets this entity below 27 days; only shorter terms or faster invoicing will.

Which is why best possible DSO is the better basis for a target. It separates the levers: terms and billing speed set the floor, collections closes the gap to it.

Why DSO is meaningless without your own stated terms

A DSO number with no terms attached is a fact without a unit.

Forty-five days is excellent on net 60 and a fire on net 15. Sixty-one days on net 30 means the average invoice sits a month past due. Sixty-one on net 60 means the process works as designed, and the problem, if there is one, is that you sold on 60-day terms.

So the metric worth tracking is days beyond terms: DSO minus weighted average stated terms. For the entity above, 61 minus 30 gives 31. That number is comparable across entities, customers, and time in a way raw DSO is not, and it points at a decision. Days beyond terms is a collections problem. Terms are a contracting problem, and no amount of chasing fixes them.

The Atradius B2B Payment Practices Barometer for North America in 2025 found 44% of B2B credit sales are overdue, which tells you the average business carries a substantial days-beyond-terms figure. It does not tell you what yours should be.

What does "good" look like?

Good is a DSO within a few days of your stated terms, a stable or falling trend, and a shrinking gap between actual and best possible DSO.

That is deliberately not a number. Anyone offering a universal target DSO is selling something, because the answer depends on your terms, your customer mix, and how much revenue is prepaid. What is comparable is direction of travel and distance from your own floor.

For scale, The Hackett Group's 2025 U.S. Working Capital Survey of the top 1,000 U.S. nonfinancial public companies put $1.7 trillion in excess working capital, roughly 35% of gross working capital, alongside a median cash conversion cycle of 37 days and median days payable outstanding of 59 days. Receivables are one leg of that cycle and the only one your customers control.

Process investment does move the number. Billtrust/Vanson Bourne research covering 500 finance leaders found firms with high receivables automation reporting a 41% DSO reduction against 29% for low automation. Both groups improved, which is the part worth emphasising: consistency of follow-up does most of the work, and tooling makes it cheaper to sustain.

Why a group cannot read a blended DSO

If several entities in a group sell on different terms, the group-level DSO is an average of incomparable things and should not be used to make decisions.

Consider a group of five entities. Entity A is a services business on net 15. Entity B sells to enterprise customers on net 60. Entity C does milestone project work on net 45. Entity D is a retail operation collecting at the point of sale. Entity E bills intercompany only.

Add all five together and you might get a blended group DSO of 48 days. That figure is not the performance of any entity in the group. It moves when the sales mix between A and B shifts, even if every customer behaves identically. It looks artificially good because Entity D's cash sales inflate the denominator without adding receivables. And it hides Entity C sitting 40 days beyond terms while Entity A is on time.

Entity E is its own trap. Intercompany receivables eliminate on consolidation, so including them measures how slowly you pay yourself. Strip them out first, as you would for consolidated reporting.

What works instead is a per-entity DSO with per-entity terms next to it, days beyond terms as the comparable column, and a group roll-up weighted on days beyond terms. Then the number tells you which entity to walk into.

Can QuickBooks or Xero do this?

Both give you everything you need to compute DSO for one entity, and neither gives you a group view.

The aging summary and detail reports in both are solid. Export open receivables with due dates, pull credit sales from the profit and loss, and you have simple DSO in two minutes. Both also send automated payment reminders, which covers a real part of the collections job.

What neither does natively: track DSO as a metric, run the countback method, hold stated terms per customer where the reporting layer can derive days beyond terms, or add receivables across separate company files. A group running eight entities has eight logins and eight aging reports, and the roll-up happens in a spreadsheet someone rebuilds monthly. That spreadsheet is where the errors live, and it is why group receivables reporting arrives too late to act on, for the same reason a close takes so long.

Where to start

Compute three numbers per entity this week: simple DSO on a fixed window, best possible DSO, and days beyond terms. Write down the window and definitions so next month is comparable.

Then look at the gap. If it is small, your collections work is fine and your terms are the constraint. If it is large, the aging report you already have will not close it on its own, which is the subject of why aging reports alone won't fix collections.

If you cannot get a per-entity receivables picture without a week of spreadsheet work, that is a reporting problem before it is a collections problem. Receivables itself sits on cruisr's roadmap; what cruisr works on today is that reporting layer, current books and a fast close on QuickBooks Online or Xero. Get in touch if that is the broken part.

See the state of your books in 48 hours.

Free, on your own QuickBooks or Xero, delivered in a 30-minute readout.

No obligation · No migration · Nothing installed · No credit card required