Accounting & close

Days sales outstanding (DSO)

Also known as DSO

Days sales outstanding is the average number of days it takes to collect cash after you invoice a customer.

Parag Jain, CPA
Parag Jain, CPAFounder, Zinance·Last updated September 2026

Summarize this article

Key takeaways

  1. DSO = (Accounts Receivable ÷ Total Credit Sales) × Number of Days in Period
  2. 30–45 days for most B2B SaaS on net-30 terms
  3. DSO is a direct read on how long your cash sits in customers' hands instead of your bank account.

What is days sales outstanding (DSO)?

Days sales outstanding is the average number of days it takes to collect cash after you invoice a customer. It turns your accounts receivable into a time figure, showing how quickly sales convert to cash. Lower DSO means faster collections and healthier cash flow; rising DSO signals collection or credit problems.

Formula

Formula

DSO = (Accounts Receivable ÷ Total Credit Sales) × Number of Days in Period

  • Accounts ReceivableTotal unpaid customer invoices at the end of the period
  • Total Credit SalesSales made on credit during the period. Cash-at-point-of-sale revenue is excluded
  • Number of Days in PeriodDays in the period being measured (30, 90, or 365)

Worked example

With $150,000 in receivables and $600,000 in quarterly credit sales, DSO is about 23 days ((150,000 ÷ 600,000) × 90).

Benchmarks by stage

Across all US industries the median DSO sits in the mid-40s, and the professional and business services sector — the closest public proxy for B2B software — runs meaningfully above the all-industry median. In practice a B2B company invoicing net-30 should expect 30–45 days: the gap above 30 is the collections friction that exists even when customers intend to pay on time.

Source: Hackett Group / CRF Working Capital Survey (2024)

How to calculate DSO, step by step

The arithmetic is three inputs, but two of them are where the number usually goes wrong.

  1. Pick the period. Monthly is the working cadence for most companies; quarterly smooths seasonal noise. Use the same period every time, because DSO is only readable as a trend.
  2. Take ending accounts receivable from the balance sheet at the close of that period. Use gross AR before the allowance for doubtful accounts, or you will flatter the number exactly when collections are deteriorating.
  3. Take credit sales for the same period, not total revenue. Any revenue collected at the point of sale — self-serve card payments, app-store billing — never sits in AR, so including it in the denominator pushes DSO artificially low.
  4. Divide, then multiply by the days in the period. $150,000 ÷ $600,000 = 0.25, and 0.25 × 90 = 22.5 days.

Two refinements are worth knowing. Average AR — opening plus closing, divided by two — is the more defensible input when receivables moved a lot inside the period, which is normal for a company growing 15% a month. And countback (or roll-back) DSO works backwards through the most recent months' sales until the AR balance is used up, which is the method to reach for when growth is fast enough that a simple average lags reality.

The growth distortion

DSO falls mechanically when sales grow, because a bigger denominator is divided into receivables that were generated when the company was smaller. A company doubling every year can show improving DSO while collections get worse. This is the single most common misreading of the metric, and countback DSO is the fix.

Benchmarks by billing model

There is no universal good DSO, because the number is mostly determined by how you bill before anyone in your company touches a collections process. Compare against your own terms and your own model first, and against an industry median second.

Billing modelExpected DSOWhat drives it
Self-serve, card on file0–5 daysCash collects at the point of sale; almost nothing enters AR
Annual prepaid, invoiced20–35 daysOne invoice a year on net-30, so DSO tracks invoice timing not payment behaviour
Monthly, net-30, auto-charge25–35 daysPredictable, and card failures rather than late payers are the main leak
Monthly, net-30, manual pay35–50 daysProcurement and AP cycles add a week or two on top of your stated terms
Enterprise, net-60 with PO55–80 daysThe customer's own AP calendar sets the pace; a missing PO number can add 30 days alone
Usage-based, invoiced in arrears40–60 daysInvoice generation lags the usage period, and disputes over metered lines stall payment

Read the table as terms plus friction. If you invoice net-30 and run a DSO of 38, you have roughly eight days of friction, which is normal. At 55 you have 25 days of friction, and that is a process problem rather than a customer problem. The best possible DSO — what you would collect in if nobody paid late — is the benchmark that actually isolates your own performance from your billing terms.

How to reduce DSO: the playbook

Ordered by how much they move the number for a typical B2B company, not by how satisfying they are to implement. The first two are worth more than the rest combined.

1. Invoice on the day, not at month end

The clock starts when the invoice is issued, not when the work is done or the contract is signed. A company that batches invoicing to the last day of the month adds an average of fifteen days to DSO before a single customer has done anything wrong. Invoicing on the contract date is the cheapest DSO reduction available, and it usually requires no negotiation with anyone.

2. Fix what is on the invoice

A material share of late payments are not late payments at all — they are invoices an AP department could not process. The usual causes are a missing PO number, the wrong billing contact, a line item that does not match the contract, or no remittance instructions. Each one sends the invoice into a queue that nobody is measuring.

  • Capture the PO number and the AP contact at contract signature, not at first invoice.
  • Send to an AP inbox as well as the champion, since the champion is the person most likely to be on holiday.
  • Match line items to the contract's wording exactly, so nothing needs a human to reconcile.
  • Put payment instructions and accepted methods on the invoice itself.

3. Run a dunning schedule, and run it before the due date

Most collections processes start when an invoice is already late, which is the point at which it has entered somebody else's payment run and cannot move until the next one. A schedule that touches the invoice seven days before the due date catches the processing problems while they are still fixable: seven days before, on the due date, then at seven, fourteen and thirty days past. Automate the first three and escalate the last two to a named person.

4. Change the terms rather than chasing them

Annual prepayment at a discount converts twelve collection events into one and usually improves both DSO and runway more than any process change. An early-payment discount (2/10 net 30 — two per cent off if paid within ten days) is expensive in annualised terms, so price it deliberately: that discount costs roughly 36% a year, which is worth paying only when cash is genuinely the binding constraint.

5. Make it someone's number

DSO deteriorates quietly because it belongs to nobody. Put ageing on the monthly close checklist with a named owner, review anything over sixty days line by line, and give sales visibility of their own accounts' payment behaviour before the next renewal is negotiated.

Where the cash actually is

At $600,000 a quarter in credit sales, every ten days of DSO is about $66,000 of cash sitting in customers' bank accounts instead of yours. Cutting DSO from 45 days to 30 releases roughly $100,000 once, permanently — a one-time working-capital gain, not recurring revenue, but it arrives without dilution.

What DSO does not tell you

DSO is an average, and averages hide the thing you most need to see. Three limits are worth holding in mind before acting on a movement in the number.

  • One large account can be the whole story. A single $200,000 invoice at 90 days can swamp forty healthy small ones. Always read DSO next to an AR ageing report, which shows the distribution the average is concealing.
  • It says nothing about collectability. An invoice at 120 days and an invoice at 30 days both count as receivable. DSO tracks speed, not whether the money is coming at all; that is what the allowance for doubtful accounts and your write-off history are for.
  • Growth flatters it. As above: a rising denominator pulls DSO down while collections are unchanged or worsening. Check the direction of your growth rate before congratulating anyone on an improvement.

The complementary metrics are days payable outstanding on the other side of the ledger and the cash conversion cycle, which nets the two against inventory. For a software company with no inventory, DSO minus DPO is close enough to the whole working-capital picture.

Why it matters for fast-growing companies

DSO is a direct read on how long your cash sits in customers' hands instead of your bank account. Rising DSO ties up working capital and can force you to raise money you wouldn't otherwise need — at $600,000 a quarter in credit sales, ten days of DSO is about $66,000. Founders should track it monthly alongside an ageing report, and tighten invoicing timing, dunning, and credit checks when it creeps up.

Frequently asked questions

What is a good DSO for a SaaS company?+
It depends on your billing model, so compare against your own terms rather than a universal target. If you invoice net-30, a DSO near 30 is expected and 30–45 is normal once processing friction is counted; annual upfront billing can push it lower. The useful signal is the trend: a DSO climbing well past your stated payment terms points to collection trouble.
How is DSO different from payment terms?+
Payment terms are the deadline you set (say net-30); DSO is how long customers actually take to pay on average. If your terms are 30 days but DSO is 50, customers are routinely paying late, and that 20-day gap is exactly what you want to close to protect cash flow.
How do you calculate DSO from a balance sheet?+
Take ending accounts receivable from the balance sheet, divide by credit sales for the same period from the income statement, and multiply by the days in that period. Use gross AR before the allowance for doubtful accounts, and exclude any revenue collected at the point of sale, because it never enters receivables.
Is a low DSO always good?+
Not necessarily. A very low DSO can mean credit terms so tight that they are costing you deals, or that you are discounting heavily for early payment. It can also be an artefact of fast growth, which pulls DSO down mechanically as the sales denominator rises faster than receivables. Read it next to win rates and your growth rate.
What is countback DSO and when should you use it?+
Countback DSO works backwards through recent months' sales, subtracting each month in full until the receivables balance is exhausted, then counting the days. Use it when growth is fast enough that a simple average distorts the picture — typically above roughly 10% month on month — because the standard formula divides current receivables by a sales figure the company has already outgrown.
How do you reduce DSO quickly?+
Invoice on the contract date rather than batching at month end, which alone can remove about fifteen days. Then fix what is on the invoice — PO number, AP contact, line items matching the contract — since a large share of late payments are invoices AP could not process. Start dunning seven days before the due date, not after it.

Want these numbers tracked for you?

Zinance handles the books, the reporting, and the CFO-level read-outs for fast-growing companies, so your metrics stay current every day and investor-ready, without the back-office bloat.

✓ Live in 7 business days✓ No long-term contracts✓ Your books belong to you