Days sales outstanding (DSO) is the average number of days a company takes to collect cash after it invoices. The DSO formula is ending accounts receivable divided by credit sales for the period, times the days in the period. In SaaS, divide by billings rather than recognized revenue. This calculator also runs the countback method and best possible DSO.
Enter one period: a month, a quarter or a year. In a subscription business, enter billings (invoiced dollars) as credit sales. The last three fields are optional.
Start from the latest month and work back. Each month's billings use up part of the receivables balance until it runs out. Use this when billings bunch at quarter end or grow fast.
Annual contracts billed upfront put the whole invoice in receivables while revenue arrives a twelfth at a time. This tab rebuilds billings from revenue and deferred revenue and shows DSO both ways.
Get The Forecast Brief
You just measured how fast your invoices turn into cash. The Forecast Brief is a short email from Pete Furseth, ORM's COO, built on what ORM sees in its customers' forecasts.
DSO formulas, with Excel and Google Sheets versions
Each result above comes from one of these formulas. The examples use the calculator's default numbers, which describe an illustrative SaaS company closing a 90-day quarter. The cell formulas work the same in Excel and Google Sheets.
| Measure | Formula | Excel or Sheets | Example (illustrative) |
|---|---|---|---|
| DSO (standard) | Ending AR / credit sales x days in the period | =B2/B3*B4 | $2,000,000 / $3,600,000 x 90 = 50.0 days |
| DSO on average AR | (Beginning AR + ending AR) / 2 / credit sales x days | =AVERAGE(B2,B5)/B3*B4 | $1,850,000 / $3,600,000 x 90 = 46.3 days |
| Best possible DSO | Current (not yet due) AR / credit sales x days | =B6/B3*B4 | $1,500,000 / $3,600,000 x 90 = 37.5 days |
| Average days delinquent | DSO - best possible DSO | =B7-B8 | 50.0 - 37.5 = 12.5 days |
| Billings (SaaS) | Revenue + ending deferred revenue - beginning deferred revenue | =C2+C4-C3 | $2,400,000 + $6,200,000 - $5,000,000 = $3,600,000 |
| DSO on revenue (the wrong SaaS version) | Ending AR / recognized revenue x days | =B2/C2*B4 | $2,000,000 / $2,400,000 x 90 = 75.0 days |
| Countback DSO (three months) | Use up AR month by month, latest first, and prorate the last month | =IF(B2<=E2,B2/E2*F2,IF(B2<=E2+E3,F2+(B2-E2)/E3*F3,F2+F3+(B2-E2-E3)/E4*F4)) | 30 + ($100,000 / $900,000 x 30) = 33.3 days |
| AR turnover and DSO | 365 / (annual credit sales / average AR) | =365/(B9/B10) | 365 / 8 = 45.6 days |
B2 is ending accounts receivable, B3 credit sales or billings for the period, B4 the days in the period, B5 beginning receivables, B6 current receivables that are not yet due, B7 DSO and B8 best possible DSO. B9 is annual credit sales and B10 average receivables for the year. C2 is recognized revenue, C3 beginning deferred revenue and C4 ending deferred revenue. For the countback, E2 to E4 are billings for the latest three months, latest first, and F2 to F4 the days in each of those months. Format every DSO cell as a number with one decimal.
How to calculate DSO, step by step
- Pick the period. A month gives the fastest signal. A quarter matches the board pack. A year smooths everything out and hides a bad quarter.
- Pull ending accounts receivable. Take it from the balance sheet or the AR aging report on the last day of the period. Use the gross balance of open invoices, before any allowance for doubtful accounts, and use the same choice every period.
- Pull credit sales for the same period. For a product company that is sales on terms, without cash and card sales that never sat in receivables. For a SaaS company it is billings: every invoice sent in the period, including annual renewals invoiced upfront.
- Divide and multiply. Receivables divided by credit sales gives the share of the period's invoicing still unpaid. Multiplied by the days in the period, it becomes days.
- Split it with the AR aging. Run the same formula on current receivables only. That is best possible DSO, the floor your payment terms set. The gap between the two is average days delinquent, the part collections can fix.
- Check for bunching. If most of the period's invoices went out in its last few weeks, run the countback tab. A big gap between the two answers means the standard DSO is measuring timing, not slow payers.
Why SaaS companies should divide by billings, not revenue
Receivables come from invoices, so the denominator should be invoices too. In a product business, invoices and revenue land in the same period, so the textbook formula uses sales. In SaaS they split apart. An annual contract billed upfront puts the full invoice into receivables on day one, while revenue is recognized one twelfth a month. Divide that receivable by revenue and DSO looks far worse than the way customers actually pay.
Billings is revenue plus the change in deferred revenue. Slack's 2019 SEC filing defined calculated billings as "revenue plus the change in our deferred revenue", and ORM's entry on billings covers the variants, such as the change in contract assets. In the default example, $2,400,000 of revenue plus $1,200,000 of new deferred revenue is $3,600,000 of billings. The same $2,000,000 of receivables is 50.0 days of billings and 75.0 days of revenue. The 25-day gap is accounting, not customer behavior.
Public software companies show the effect in their filings. Saba Software reported both measures in its fiscal 2011 10-K: a DSO of 86 days and a billing days outstanding of 73 days at May 31, 2011, where billing days outstanding divides period-end receivables by the quarter's average billings per day (Saba Software, Form 10-K, fiscal 2011). Bazaarvoice calculated DSO on average daily sales for the quarter, noted that it invoices SaaS clients monthly, quarterly, semiannually and annually, and reported DSO of 91, 82 and 64 days for the fourth quarters of fiscal 2015, 2014 and 2013. The same filing explains why the number moves: receivables swing with bookings seasonality and billing frequency, while revenue-based daily sales "are not influenced by factors such as seasonality, billing frequency and billing timing" (Bazaarvoice, Form 10-K, fiscal 2015). A change in billing mix moves DSO on a revenue base even when customers pay exactly as before.
| Your billing model | Denominator to use | Why |
|---|---|---|
| Mostly monthly, billed in the month of service | Revenue or billings (close to equal) | Invoices and revenue land in the same month |
| Annual or multi-year, billed upfront | Billings | Receivables hold a full year of invoice; revenue holds a month |
| Mixed: monthly, quarterly and annual | Billings, plus the mix noted on the report | A shift toward annual billing raises AR without any change in how customers pay |
| Usage billed in arrears | Billings for the period the usage was invoiced | Usage invoices go out after the revenue is earned, so revenue runs ahead |
| Services billed on milestones | Billings, with unbilled work tracked on its own | Work done but not invoiced sits in contract assets, not AR |
Whichever you choose, write the definition on the report and keep it. A DSO that switches from a revenue base to a billings base between quarters drops by weeks with no change in collections.
The countback method, and when it beats the standard formula
The countback method, also called the exhaustion method, measures receivables against your most recent billings. Start with the latest month: if receivables are bigger than that month's billings, count all of its days, subtract its billings and move to the month before. When the remaining balance is smaller than a month's billings, count only that share of its days. Oracle's Hyperion Financial Management documents the same routine for its DSO rule, going back period by period until the receivables are used up and prorating the final period (Oracle, DSO: Days Sales Outstanding).
The standard formula assumes billings arrived evenly through the period. A SaaS quarter does not work that way. Pete Furseth, ORM's COO, sees the same shape across ORM customers: the third month is always the largest month of the quarter, the first month is always the smallest, and a large share of business closes in the last week. A quarter-end receivables balance full of invoices sent in the last two weeks is mostly invoices that are not due yet.
In the default example, $1,900,000 of the quarter's $3,600,000 was billed in month 3. The standard formula says 50.0 days. The countback uses up month 3's $1,900,000 (30 days) and $100,000 of month 2's $900,000 (one ninth of 30 days), for 33.3 days. Customers are paying a few days past net 30, not 20 days past it. If the countback and the standard DSO tell different stories, the countback is the one that describes the customers.
Worked example with the calculator's defaults
The numbers are illustrative. A B2B SaaS company on net 30 terms closes a 90-day quarter.
- It bills $3,600,000: $800,000 in month 1, $900,000 in month 2 and $1,900,000 in month 3, including annual renewals invoiced upfront.
- Receivables were $1,700,000 at the start of the quarter and are $2,000,000 at the end. Of the ending balance, $1,500,000 is not yet due.
- Standard DSO is $2,000,000 / $3,600,000 x 90 = 50.0 days. On average receivables it is 46.3 days.
- Best possible DSO is $1,500,000 / $3,600,000 x 90 = 37.5 days, above the 30-day terms because so much was billed late in the quarter. Average days delinquent is 12.5 days.
- The countback gives 33.3 days, because the latest month's billings cover almost all of the receivables.
- Revenue recognized in the quarter is $2,400,000, and deferred revenue rose from $5,000,000 to $6,200,000. DSO on revenue would be 75.0 days, 25 days worse than the billings figure, with the same customers paying the same way.
- The company bills $40,000 a day on average ($3,600,000 / 90). Each day of DSO it removes frees about $40,000 of cash, once.
Four numbers from one balance sheet: 75.0, 50.0, 37.5 and 33.3 days. The board should see one of them with its definition, and finance should know why the others differ. For how invoices turn into cash on a schedule, see billings vs cash collections.
What is a good DSO for a SaaS company?
A good DSO is one close to your best possible DSO. Terms set the floor, so a net 60 enterprise business and a net 15 self-serve business should not chase the same number. Outside benchmarks are a sanity check, and few published ones trace back to data.
| Benchmark | Figure | Source |
|---|---|---|
| Median DSO, SaaS companies | About 59 days | Upflow, State of B2B Payments 2024, data from more than 500 companies on its platform |
| Top quarter of SaaS companies | 38 days | |
| Median across all industries | 56 days | |
| Gap between top and median performers, top 1,000 US public nonfinancial companies | 18 days | The Hackett Group, 2025 Working Capital Survey, which also found DSO worsened for a second straight year |
Upflow's sample is companies that use its collections software, and it does not say whether each company measured DSO on revenue or billings. Treat 59 days as a market reference, not a target. Your own trend matters more: DSO on the same definition, month by month, against the same month last year.
DSO next to the other receivables and cash metrics
| Metric | What it measures | Formula | Read it with DSO because |
|---|---|---|---|
| Best possible DSO | The DSO terms alone produce | Current AR / credit sales x days | It splits DSO into terms and lateness |
| Average days delinquent | Days lost to late payment | DSO - best possible DSO | It is the part collections can fix |
| AR turnover | Times a year receivables turn into cash | Credit sales / average AR | DSO is 365 divided by the annual turnover |
| Collection effectiveness index | Share of collectible dollars collected | (Beginning AR + credit sales - ending AR) / (beginning AR + credit sales - ending current AR) | It measures collection work in dollars, not days |
| Days payable outstanding (DPO) | Days you take to pay suppliers | Ending AP / cost of purchases x days | DSO minus DPO is your own financing gap |
| Cash conversion cycle | Days from paying for inputs to collecting cash | DSO + days inventory outstanding - DPO | Most SaaS companies hold no inventory, so DSO and DPO drive it |
The collection effectiveness index and the full set of receivables KPIs, with Excel versions and a quarter-end example, are in ORM's guide to order to cash, the process DSO measures.
What Pete Furseth sees in SaaS collections
Pete works with B2B SaaS revenue and finance teams on forecasts, capacity and plans. These points change how a DSO number should be read.
- The calendar sets quarter-end DSO. Within a quarter, the third month is always the largest and the first month always the smallest across ORM customers. ORM splits each quarter into 13 weeks and weights them; in an example Pete shared, the last week carried a weight of 2.27 against 0.59 to 0.96 for the first seven. Measure DSO monthly or with the countback, and compare the same quarter year over year. For the weeks themselves, the 13-week cash flow template turns the AR aging into weekly receipts.
- A renewal invoice is a retention moment. "If you send them an invoice 30 days before their renewal and never talk to them, you are putting that renewal at more risk." An annual renewal that sits unpaid in receivables is often a churn signal before it is a collections problem.
- Sales owns part of DSO. In his guide to billings and collections, Pete notes that a rep near quarter end will trade longer terms for a signature, because the booking counts either way. Put a terms field on the deal record and report concessions by rep.
- The same number on every slide. "If you show one number on one slide, that number better show up on the next, or there should be a clear explanation for why it changed." DSO on billings and DSO on revenue can both appear, but each needs its label.
How to lower DSO without squeezing customers
- Invoice on the day the contract starts. Every day between signature and invoice is a day of DSO you added yourself. Track billing lag, closed-won to first invoice, as its own number.
- Get the PO number and the AP contact at signing. Pete's guide to billings and collections names missing purchase order numbers and invoices sent to someone who left the company as two ways a net 45 cycle turns into 90 days or more.
- Talk to the customer before the renewal invoice. Customer success, not only finance, should know an annual invoice is coming.
- Offer card or ACH on smaller accounts and retry failed payments. Small invoices cost as much to chase as large ones.
- Apply cash the day it arrives. A payment in the bank that is not matched to its invoice still shows as open, and DSO looks worse than it is.
- Forecast collections from billings. The cash flow forecast template turns your billings and payment curve into monthly cash, so a DSO change shows up in the cash plan before it shows up in the bank.
Common DSO mistakes
- Dividing billings-driven receivables by recognized revenue. In a SaaS company with annual upfront billing, it overstates DSO by weeks.
- Mixing periods. Quarter-end receivables against a full year of sales, with 90 days in the formula, cuts DSO to about a quarter of its real value.
- Leaving cash and card sales in the denominator. They never sat in receivables, so they pull DSO down.
- Reading one quarter-end figure as a trend. Invoice bunching moves quarter-end DSO more than customer behavior does.
- Changing the definition quietly. Gross or net of the allowance, billings or revenue, ending or average receivables: pick one each and write it on the report.
- Treating unapplied cash as open AR. Match payments before you measure.
ORM's take on DSO and the bookings forecast
DSO tells finance how long a booked and billed dollar takes to become cash. The bigger uncertainty sits earlier: which deals will close, in which week, at what size and on what terms. A cash forecast built on a bookings forecast that is wrong will be wrong by the same amount, whatever the DSO.
That is what ORM forecasts. We build bookings and ARR forecasts from your own CRM data, with a low case, an on-target case and an upper bound, and with the week-by-week seasonality of your quarter built in. ORM targets 95% accuracy on the forecasts it builds. Put a forecast like that in front of a billings schedule and a DSO curve, and the cash plan has a defensible starting point.
Common questions
How do I calculate days sales outstanding in accounts receivable?
Take the accounts receivable balance at the end of the period and divide it by the credit sales for the same period. Multiply the result by the number of days in the period. With $2,000,000 of receivables and $3,600,000 of credit sales in a 90-day quarter, DSO is 2,000,000 / 3,600,000 x 90 = 50.0 days. In SaaS, use billings as the credit sales figure.
How do I calculate trade receivable days?
Trade receivable days, also called debtor days or receivable days, is the same measure as DSO under another name. Divide trade receivables by credit sales and multiply by the days in the period, usually 365 for a full year. On annual figures, $1,500,000 of receivables against $12,000,000 of credit sales is 1,500,000 / 12,000,000 x 365 = 45.6 days.
What is a good DSO?
A good DSO sits close to your payment terms. Measure best possible DSO, the figure your current receivables alone produce, and treat every day above it as late payment to fix. For an outside reference, Upflow's 2024 report on more than 500 companies put the SaaS median at about 59 days and the top quarter of SaaS companies at 38 days.
Is a higher or lower DSO better?
Lower is better, up to a point. A lower DSO means customers pay sooner and less cash is tied up in receivables. A DSO far below your terms can mean terms are tighter than the market accepts, or that most customers pay by card upfront. A rising DSO with flat billings is the warning sign, because it means cash is slowing while sales are not.
How does accounts receivable turnover relate to DSO?
They are two views of the same ratio. Accounts receivable turnover is credit sales divided by average receivables, so it counts how many times a year receivables turn into cash. DSO is 365 divided by the annual turnover. A turnover of 8 times a year is a DSO of about 45.6 days, and a turnover of 12 is about 30.4 days.
How do I calculate DSO in Excel?
Put ending accounts receivable in B2, credit sales or billings for the period in B3 and the days in the period in B4. Then enter =B2/B3*B4 in another cell and format it as a number with one decimal. For the version with average receivables, add beginning receivables in B5 and use =AVERAGE(B2,B5)/B3*B4. The same formulas work in Google Sheets.
Know which deals will be billed before quarter end
This tool measures how fast invoices turn into cash. ORM forecasts the bookings behind those invoices.
Schedule a Demo