Free SaaS Finance Tool
Days Sales Outstanding (DSO) Calculator
Calculate DSO instantly, the simple way and the countback way. See how many days of revenue are sitting in your receivables, and how much cash that ties up.
DSO by the numbers
How DSO works, and the formula
Days sales outstanding measures how long revenue remains in accounts receivable. It's the collection period, expressed in days, between making a credit sale and getting the cash.
That's why the metric travels so well: one number, comparable across quarters, that tells you whether collections is keeping pace with sales. It also feeds the cash conversion cycle, alongside days inventory outstanding and days payable outstanding.
The catch is that the simple formula assumes revenue arrives evenly across the period. For SaaS, it rarely does.
The formula
Days sales outstanding (DSO) measures the average number of days a company takes to collect cash after a credit sale. The DSO formula is accounts receivable divided by total revenue for the period, multiplied by the number of days in that period.
β
A worked example, and the countback method
Take the prefilled example: a Series C SaaS company closing Q2 with $5,200k of accounts receivable against $8,000k of quarterly credit sales.
β
Two inputs, two decisions. Use ending AR, not average AR, if you want the number to line up with what your investors model. And use credit sales rather than total revenue, because cash collected at the point of sale never enters receivables and only drags the ratio down.
The countback method, and when the simple formula lies
The countback method corrects DSO for uneven or seasonal revenue. Instead of averaging the whole period, it works backwards from the ending AR balance through the most recent months of revenue until the balance is used up, which is much closer to how receivables actually age. This matters for SaaS specifically, because revenue is almost never flat inside a quarter. Renewals cluster at quarter end. Enterprise deals close in the last two weeks. A June-heavy quarter loads the AR balance with invoices that are days old, and the simple formula treats them as though they'd been sitting there since April.
Same company, same quarter, now with the monthly detail: April $2,200k, May $2,300k, June $3,500k.
β
Simple DSO says 59.2. Countback says 52.9. The 6.3-day gap is entirely the June spike, and if you're reporting the simple figure to a board you're overstating your collection period by more than a week. Run both. When the two diverge, the shape of your revenue is the story, not your collections team.
Best possible DSO, the number your terms allow
Best possible DSO is the floor. It uses only the current portion of AR, the invoices that aren't past due yet, so it answers a narrower question: if every customer paid exactly on the day the invoice fell due, what would DSO be?
β
β
Best possible DSO = (3,900 Γ· 8,000) Γ 91 = 44.4 days
The gap between actual DSO and best possible DSO is the part you control. Here it's 14.8 days. The other 44.4 days are your payment terms, and the only way to move that is to renegotiate contracts.
DSO benchmarks for B2B SaaS
Cross-industry DSO tables are easy to find and close to useless for a SaaS finance team. They average software in with construction, logistics and consulting, and the number that falls out describes nobody. The comparison worth making is against other SaaS companies, and against the quartile you want to be in rather than the middle of the pack.
Two things are worth noticing before you read the table. SaaS collects slightly worse than B2B as a whole, 59 days against 56, which is the opposite of what most people assume about recurring revenue. And the spread inside SaaS is wide: the top quartile collects in 38 days while the median sits at 59. Twenty-one days separate them, and almost none of it is sector.
SaaS and vertical medians: Upflow, State of B2B Payments 2024. Public-company row: The Hackett Group, 2025 U.S. Working Capital Survey.
Read your own number against the SaaS median and the SaaS top quartile, not against the cross-industry figure. And read it against your billing model before anything else. Fifty-nine days on an annual prepay book is a collections problem. Fifty-nine days on a monthly, in-arrears book at net-45 is roughly what the arithmetic allows.
DSO vs. AR turnover ratio vs. AR aging
Three views of the same balance, used for three different jobs.
Which view to use when
The AR turnover ratio counts how many times receivables convert to cash in a year. Same information as DSO, inverted: turnover of 6.2x is a DSO of about 59 days, because 365 Γ· 59.2 = 6.2. Ratio for the board deck, days for the operating conversation. Nobody chases an invoice in turns.
AR aging
AR aging is the operational view. It buckets open invoices by how overdue they are (current, 1 to 30, 31 to 60, 61 to 90, 90+) and tells you which accounts to call.
DSO vs. aging
DSO says the process is slipping. Aging says where. When aging shows concentration in one or two large accounts, that's an allowance for doubtful accounts conversation before it's a collections one.
Run all three. DSO tells you the process is slipping, turnover puts it in the board's language, and aging tells you which account to call first.
Calculating DSO across multiple entities and currencies
Consolidated DSO hides more than any other version of it. Three things go wrong, and they compound.
Entities close on different days and sub-ledgers post at different times, so an AR balance struck before every entity has closed understates receivables and flatters DSO. Use the same cutoff for AR and revenue in every entity or the ratio means nothing.
Receivables translate at the closing rate, revenue at the average rate for the period. In a quarter with real currency movement, that mismatch alone can move consolidated DSO by several days without a single invoice being paid late. It's an artifact. Call it out rather than explaining it away.
Intercompany AR. Intercompany balances eliminate in consolidation, but they don't eliminate themselves out of a spreadsheet, and one large intercompany receivable left in the numerator quietly inflates group DSO. It's one of the most common errors in multi-entity accounting, and the reason treasury management teams want DSO by entity as well as consolidated.
How to reduce DSO
Five levers, in the order they usually pay off.
The cheapest days on this list. If invoices go out five days after the period closes, you've added five days to DSO before the customer has done anything. Invoice on delivery or at contract milestone, automatically, from the billing system rather than from someone's task list.
Every step between invoice and payment costs days. Card and ACH on the invoice itself, no portal login, no PDF to print. Unglamorous, and it moves the number.
Accounts receivable automation reduces DSO by automating dunning and cash application. Scheduled reminders before the due date, escalating after, with the sequence and the owner defined once rather than reinvented per account. Cash application matters just as much: unapplied cash makes paid invoices look open and inflates DSO on a balance you've already collected.
Net-60 concessions granted in a deal cycle are permanent unless someone claws them back at renewal. Look at which accounts got extended terms and whether the deal size justified it.
Limits, approval thresholds and a defined stop-ship point, applied before the sale rather than after. The least popular lever with sales, and the one that keeps bad debt expense off the P&L. Pair it with a live view of SaaS cash flow so the whole order-to-cash tradeoff is visible in one place.
Work them in order. The first two cost almost nothing and move the number within a quarter; the last one is the only lever that keeps bad debt off the P&L in the first place.
DSO Calculator FAQs
How do you calculate DSO?
How is DSO calculated in 3 months?
How do you calculate DSO in Excel?
What is a good DSO for a SaaS company?
What is a good DSO ratio?
Is DSO the same as AR days?
Does deferred revenue affect DSO?
How does DualEntry help track DSO?
The arithmetic is trivial. What makes DSO hard is getting AR and revenue onto the same cutoff, in every entity, with intercompany balances out and FX applied correctly. Fix the inputs and the number starts telling you something.
Track DSO live in your GL. Not in a spreadsheet.
DSO is a general ledger question, not a reporting one. Your accounts receivable automation and your general ledger are the same system in DualEntry, so AR and revenue land on one ledger, on one cutoff, across every entity.
By clicking "Schedule Demo" you agree to the use of your data in accordance with DualEntry's Privacy Notice.
ERP Implementation Cost Calculator
Estimate license, implementation, and hidden costs of a legacy ERP rollout.
Open calculator βSaaS metricsChurn Rate Calculator
See what share of customers or revenue youβre losing each period.
Open calculator βPlanningBreak-Even Calculator
Find the point where revenue covers your fixed and variable costs.
Open calculator βPlanningBurn Rate Calculator
Track how fast youβre spending cash and how many months of runway remain.
Open calculator βSaaS metrics
Net Revenue Retention Calculator
Weigh expansion against contraction and churn to see if your existing base grows on its own.
Open calculator β
SaaS metricsWorking Capital Calculator
Calculate working capital, current and quick ratios, and non-cash working capital from your balance sheet.
Open calculator β