A strong revenue month doesn't always translate to cash on hand. When you invoice customers on net-30 or net-60 terms, you record the sale weeks before payment lands, so the timing gap can distort how you read cash flow. Days sales outstanding (DSO) tells you how long that lag runs so you know how much of your recorded revenue is still sitting in receivables.
Under accrual accounting, you record revenue when you earn it, which often coincides with invoicing and occurs before the customer pays. The formula turns that lag into a specific number:
DSO = (accounts receivable ÷ total credit sales) × the number of days in the period.
Tracking DSO separates recorded revenue from cash currently available.
Gather the numbers for your DSO calculation
Use ending accounts receivable (AR) and total credit sales from the same report period to calculate DSO. If AR swings sharply around period-end, average opening and ending AR can produce a steadier result, but ending AR keeps the calculation simple. For a March 31 quarter-end report, pair the March 31 AR balance with credit sales from January through March. For AR, pull posted customer invoices that remain unpaid, then account for credits and other receivable entries. For credit sales, include invoices issued on payment terms and leave out cash collected at checkout.
Run the days sales outstanding (DSO) formula
In your accounting software, calculate the result in four steps:
Pull ending accounts receivable for the period from the balance sheet or the AR summary report.
Pull total credit sales for the same period.
Divide accounts receivable by credit sales.
Multiply the result by the number of days in the period.
For example, divide $145,000 in quarter-end AR by $290,000 in credit sales for the 90-day quarter, then multiply by 90. The DSO is 45 days. That means customers hadn't paid about 45 days' worth of the quarter's credit sales by quarter-end.
Document the result
During monthly close, save the AR and credit-sales reports you used with the DSO result. Label the exact start and end dates, period length, AR balance type, and sales filters. That record lets you or another reviewer reproduce the number without rebuilding the report setup. Store everything in the same monthly-close folder. The reports also reveal changed filters or mismatched dates before you assume collections have slowed.
Use the same calculation period each time. Monthly catches problems faster than quarterly, and the next section covers how to get that speed without the month-to-month noise. Record the result beside revenue and AR. Keep your operating balance on the same line so you can compare all four with prior periods. You can also use the same number as a cash flow forecasting input for the weeks when invoices remain open.
Uneven cash flow is common among small employers: in the Federal Reserve Banks' 2025 Report on Employer Firms, 51% of small employer firms cited uneven cash flows as a financial challenge. The report doesn't isolate delayed collections as the cause, but DSO shows whether unpaid invoices contribute to the problem.
Adjusting for cash sales and seasonal swings
When a customer pays at the moment of purchase, the sale has a DSO of zero. Leaving it in the denominator makes collection performance look better than it is. Limit the sales report to invoiced transactions and exclude sales receipts and point-of-sale payments. Otherwise, heavy cash sales can hide credit customers stretching past 60 days.
Seasonality distorts the number a different way. Credit sales are the denominator of the formula, so a slow sales month can shrink that denominator and push DSO higher even if payment behavior hasn't changed. A spike month can do the reverse and flatter the number.
Recalculate DSO every month over the trailing 90 days so no single slow or hot month dominates the result. Keeping the window fixed lets one month roll out as the next rolls in. The trend becomes easier to compare without hiding a sustained slowdown.
Keep a note of each window's exact start and end dates. The next calculation should replace the oldest month; don't change the period length or count part of a month twice. Larger finance teams may use more precise formulas, but a trailing 90-day calculation is usually enough when you manage AR yourself.
Compare your DSO with your invoice terms
A good DSO sits close to the payment terms you print on your invoices, and the result works as a directional trend signal even though it doesn't prove average payment time on its own. On net-30 invoices, the 45-day result from the worked example sits 15 days above the stated terms and warrants checking the aging report. On net-45 terms, it matches the stated terms. Subtracting those terms from DSO gives you a rough comparison signal.
Compare similar payment terms
When invoices use different terms, one subtraction can blur the result. Segment net-15, net-30, and net-60 invoices before comparing DSO with terms, or review the largest customer groups separately. Segmenting invoices can prevent a small set of longer-term invoices from making on-time customers look late. Use the aging report or invoice-level payment data to determine how late customers pay.
Treat industry benchmarks carefully
Industry benchmark tables can mislead small businesses with concentrated customer revenue. They aggregate businesses with different stated terms, so the average blends net-15 shops with net-60 ones. In a business where three to five customers make up most of revenue, the slowest-paying customer can dominate the average. A large-company average also isn't a useful target for a small business because the billing terms, customer mix, and collections resources differ.
Plan for the collection wait
Compare your latest DSO with the previous four readings. A rise from 30 to 38 days deserves more attention than a stable result of 50 days. Then use a cash-flow forecast to size a receivables cushion. Include expected invoice and due dates, aging data, payroll, and other scheduled payments. Separate that receivables cushion from day-to-day operating money so a slow-paying customer doesn't quietly drain what you meant to spend on rent or materials.
For limited liability companies (LLCs) and corporations, Relay business banking supports up to 20 checking accounts on the Starter and Grow plans, and up to 50 on Scale. Keep the cash you reserve for collection delays in its own account with a name that matches its job.
How DSO and your AR aging report work together
DSO shows whether collection time is changing overall, while the aging report shows which invoices and customers caused the change.
DSO combines open receivables and sales into a single estimate of collection time. The aging report takes the opposite view by sorting open invoices into 0–30, 31–60, 61–90, and over-90-day buckets, with customer names attached to each.
What to do when your DSO spikes
When DSO spikes, open the aging report before changing how you collect.
Managing by DSO alone has a specific failure mode. A handful of large invoices paid quickly can pull the average down into a range that looks healthy. At the same time, several smaller, older invoices may age past 90 days toward bad debt. The aging report identifies those overdue invoices by customer.
If you handle collections yourself, recalculate DSO monthly and check the aging report weekly to decide who gets a follow-up call.
Growth concentrated in 0–30 usually means more recent invoices remain open, often because sales increased or newer work carries longer terms. To see whether you sent invoices late, compare completion dates with invoice dates. Growth in the 61–90 or 90+ buckets means customers haven't paid older invoices, which points to slow follow-up on the collections side.
A DSO spike has four common causes, so run these checks in order of speed, fastest first, before changing how you collect. If DSO jumps from 41 to 58 days in one quarter, the estimate rose 17 days, but the cause may not require a broader policy change.
Sort open invoices by size. One large, slow-paying customer can drag the average up. Compare that customer's open balance with total AR. If one customer explains the change, discuss revised terms or a deposit on the next job without changing the policy for everyone else.
Check whether the period's credit sales dropped. If they did, treat the formula change as a reporting effect rather than a collections problem. A reporting-period change doesn't require a broader collections fix.
Scan for disputed or error-flagged invoices. Correct and reissue any problem invoice the same day you find it. Confirm that the revision reached the person responsible for approving payment.
Check whether customers overall are paying more slowly. If no single payer, sales dip, or dispute explains the jump, tighten reminders across all customers and require deposits on new work. Apply the change to future invoices so customers know the terms before work begins.
Let the cause you identify determine whether the next action applies to one invoice, one customer, or your broader collection process.
Turn DSO into a decision tool
DSO becomes useful when each movement leads to a specific review, owner, and follow-up date. Set a trigger that opens the aging report, then record the cause and the action taken. List the invoices affected. A temporary formula swing then doesn't have to force a company-wide policy change.
When collection timing affects near-term spending, consider opening a Relay account. You can separate cash across multiple checking accounts, and the QuickBooks Online connection keeps banking activity and accounting records in sync. Keeping the receivables cushion in a named account gives each DSO review a clear place in your cash plan.
Frequently asked questions
What is a good days sales outstanding number?
No universal DSO target applies to every business. The useful benchmark is your own invoice terms—a DSO close to your stated terms means customers are paying roughly on schedule. A lower DSO isn't automatically better when customers have longer agreed terms, so compare similar customer groups and check the aging report for overdue invoices.
Do cash sales count in DSO?
No. DSO applies only to invoiced credit sales, so exclude sales paid at checkout.
Should I calculate DSO monthly, quarterly, or annually?
Recalculate it monthly over the trailing 90 days. That catches problems early while the fixed 90-day window keeps one slow or busy month from distorting the trend. Keep the window length the same every time so one month rolls out as the next rolls in.
How is DSO different from accounts receivable turnover?
Accounts receivable turnover is net credit sales divided by average accounts receivable. Calculate average AR by adding the opening and ending AR balances, then dividing by two. When DSO uses the same sales period and average AR, DSO is approximately the number of days in the period divided by turnover. The two metrics express the same collection pattern in different forms.
Why did my DSO go up when my sales went down?
A sales decline can raise DSO even when payment behavior hasn't changed because credit sales are the denominator. Check the aging report to see whether older invoices are also increasing.





