Blog · Finance metrics and formulas · Finance and FP&A teams
DSO is the average number of days customers take to pay. This page gives the formula and which receivables and sales go into it, works DSO for five customers over one quarter with the Excel formulas, proves the company figure as a revenue-weighted average, and covers DSO against terms, the countback method and what a good DSO is.
DSO meaning, in one line: days sales outstanding is the average number of days a company takes to collect cash after it makes a credit sale. Receivables of $1,225,000 against quarterly credit sales of $2,400,000 give a DSO of 45.9 days. On net 30 terms, that says customers are paying about two weeks late on average.
DSO turns the receivables balance into time: how many days of credit sales are sitting unpaid with customers. It is one of the standard activity ratios in the CFA Institute's reading on financial analysis techniques, next to inventory days and payables days.
Finance and credit teams track it because every day of DSO is a day of sales the company has funded itself. It is the receivables leg of working capital: together with inventory days and days payable outstanding it sets how long cash is tied up between paying suppliers and being paid by customers.
DSO = Accounts receivable / Credit sales × Days in period
Annual form: DSO = Accounts receivable / Annual credit sales × 365
Two choices decide whether the figure means anything.
Which receivables. Trade receivables from customers, at the period end, gross of the allowance for credit losses (the ASC 326 allowance). Leave out employee loans, tax refunds and other non-trade balances. Gross or net both work, as long as you use the same one every period.
Which sales. Credit sales for the same period as the days. Cash sales never become receivables, so including them makes DSO look shorter than it is. A quarter's receivables over a quarter's sales uses 90 days; over a year's sales, 365.
One quarter, January 1 to March 31, 2026: 90 days, net 30 terms for every customer. Column B is credit sales for the quarter, column C the receivables at March 31, and DSO in D2 is:
=C2/B2*90
filled down to row 6.
| Customer | Credit sales (USD) | Closing receivables (USD) | DSO (days) |
|---|---|---|---|
| Harlow Foods | 900,000 | 420,000 | 42.0 |
| Brightwell Inc. | 600,000 | 360,000 | 54.0 |
| Kestrel Supplies | 300,000 | 110,000 | 33.0 |
| Northgate Retail | 450,000 | 300,000 | 60.0 |
| Ashby Engineering | 150,000 | 35,000 | 21.0 |
| Total | 2,400,000 | 1,225,000 | 45.9 |
The company figure divides the totals, never the average of the five DSOs:
=SUM(C2:C6)/SUM(B2:B6)*90
1,225,000 / 2,400,000 × 90 = 45.9 days. The simple average of the five customer DSOs is 42.0 days, nearly four days too low, because it gives Ashby's $150,000 the same weight as Harlow's $900,000.
Weight each customer's DSO by its credit sales and the result must equal the company figure:
| Customer | Credit sales (USD) | DSO | Sales × DSO |
|---|---|---|---|
| Harlow Foods | 900,000 | 42.0 | 37,800,000 |
| Brightwell Inc. | 600,000 | 54.0 | 32,400,000 |
| Kestrel Supplies | 300,000 | 33.0 | 9,900,000 |
| Northgate Retail | 450,000 | 60.0 | 27,000,000 |
| Ashby Engineering | 150,000 | 21.0 | 3,150,000 |
| Total | 2,400,000 | 110,250,000 |
110,250,000 / 2,400,000 = 45.9 days. In Excel the check is one cell that must equal the company DSO:
=SUMPRODUCT(B2:B6,D2:D6)/SUM(B2:B6)
Two more ties close it. The $1,225,000 must equal the total of the AR aging report at March 31, and that must equal the trade receivables balance in the general ledger. The $2,400,000 must equal the quarter's credit sales in the ledger. If the aging report and the ledger disagree, fix that before reading any DSO.
DSO only means something next to the terms you gave. If customers paid exactly on net 30 and sales were spread evenly, the receivables not yet due would be 30 days of sales: 30 × 26,667 = $800,000. That is the best possible DSO, 30 days. The other $425,000 is past due, and 45.9 − 30 = 15.9 days is the average days beyond terms.
Per customer, the gap to 30 days picks the chase list:
| Customer | DSO | Days beyond net 30 | Cash beyond terms (USD) |
|---|---|---|---|
| Northgate Retail | 60.0 | 30.0 | 150,000 |
| Brightwell Inc. | 54.0 | 24.0 | 160,000 |
| Harlow Foods | 42.0 | 12.0 | 120,000 |
| Kestrel Supplies | 33.0 | 3.0 | 10,000 |
| Ashby Engineering | 21.0 | −9.0 | −15,000 |
Cash beyond terms is days beyond terms × credit sales / 90: Northgate is 30 × 450,000 / 90 = $150,000. The column sums to $425,000, the same amount beyond terms as the company figure. Northgate and Brightwell are the chase list: $310,000 between them. Check their credit limit headroom before the next order ships, and check the booking-to-invoice cycle too, because days lost before an invoice goes out never show in DSO but delay the cash just the same.
The simple formula assumes sales were spread evenly across the period. When they were not, it misleads. Suppose the quarter's $2,400,000 came in as $650,000 in January, $700,000 in February and $1,050,000 in March. Receivables at March 31 are mostly March invoices, which are not even due yet, but the simple formula spreads them over all 90 days.
Countback works backwards from the latest month. Subtract each month's credit sales from receivables and count that month's days in full, until what is left is smaller than a month's sales; then count the fraction of that month:
| Month | Credit sales (USD) | Receivables left (USD) | Days counted |
|---|---|---|---|
| Start | 1,225,000 | ||
| March (31 days) | 1,050,000 | 175,000 | 31.0 |
| February (28 days) | 700,000 | 0 | 175,000 / 700,000 × 28 = 7.0 |
| Countback DSO | 38.0 |
Countback DSO is 38.0 days against 45.9 from the simple formula. The difference is the March spike, not slower collection. Use countback for any business with a season or a big quarter-end month, and compare like with like from period to period.
Good means close to your terms. On net 30, a DSO in the low to mid thirties says most customers pay on or near time; 45.9 says a sizable share does not.
For an outside reference, the Credit Research Foundation's National Summary of Domestic Trade Receivables, a quarterly survey of US companies, reports a median DSO of 37.50 days for the second quarter of 2026, with a best possible DSO of 34.00 and average days delinquent of 3.70. Terms differ by industry, so treat a survey median as a range check. Your own trend, and the gap between DSO and best possible DSO, say more.
Daily credit sales are 2,400,000 / 90 = $26,667, so cutting DSO by five days releases 5 × 26,667 = $133,333 of cash:
Cash released = Days reduced × Credit sales / Days in period
Covirage computes DSO per customer and per month from your uploaded invoice register and AR aging report, checks the total against the receivables balance, and lists who is beyond terms. The deterministic tools do every calculation; the external AI model explains the result and never does the arithmetic. See Covirage for finance teams, and payment terms compliance for the same test run on your own payments to suppliers. DSO is one leg of the cash conversion cycle, and the AR turnover ratio gives the same receivables measure as turns per year.
A good DSO is close to your standard payment terms: on 30-day terms, a DSO in the mid-thirties means most customers pay roughly on time. What is normal varies by industry, so compare with your own trend and with peers.
Generally bad. A high DSO means cash sits with customers longer, which increases working capital needs and credit risk. It can be deliberate when longer terms win business, but then it should be priced in.
DSO measures how long customers take to pay you; DPO measures how long you take to pay suppliers. Together with inventory days they make up the cash conversion cycle: DSO + DIO - DPO.
Countback works backwards from the latest month, subtracting each month's sales from receivables until they are used up, and counts the days covered. It reflects recent sales, so it is less distorted by seasonal swings than the simple formula.