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.

No signup required
Instant results
Simple + countback methods
Accounts receivable (ending)
Quarterly revenue (credit sales)
Use credit sales, not total revenue. Cash and card sales collect immediately, so leaving them in the denominator flatters DSO and hides the collections problem.
Period
Uses 91 days for this period.
Advanced inputs β€” for countback, best-possible & trapped cash
Monthly revenue, last 3 months
Apr
May
Jun
Used for the countback method β€” more accurate for lumpy or seasonal revenue.
Contractual payment terms
days
Current (not past due) AR
What's a good DSO?
Under 30World-class
30–45Healthy
45–60Elevated
Over 60Critical
General guidance β€” benchmark against your industry, stage and payment terms.
Days Sales Outstanding
59.2 days
Elevated
Countback DSO52.9 days
Walks AR back through recent months β€” truer for lumpy or growing revenue.
AR turnover (annualized)6.2x
How many times receivables are collected per year (365 Γ· DSO).
Best possible DSO44.4 days
The floor if every not-yet-due invoice were collected on time.
Cash tied up in AR$1.24M
Extra cash locked up by collecting past terms.
How this is calculated
THE FORMULA
DSO = (Accounts receivable Γ· Revenue) Γ— Days in period

What's a good DSO?

A good DSO is one you can explain, not one that matches a chart.

For B2B SaaS, most of the spread comes down to two things: how much of your book is on annual prepay, and whether anybody actually owns collections. A company billing twelve months upfront can post a DSO under 30 without trying. A company on net-45 with monthly invoicing and no dunning process will sit near 60 no matter how good the product is.

So read your number against your billing model first, then against the bands below. All four use the simple formula on a quarterly period, which is how most finance teams report it internally.

Under 30 days

World-class

Almost always an annual-prepay book. Cash lands at signature, revenue recognizes over the following twelve months, and accounts receivable never gets a chance to build. The deferred revenue balance is doing the work here, not the collections team. If you're under 30 without annual prepay, your collections process is genuinely excellent, and that's rare.

30 to 45 days

Healthy

Net-30 terms, invoiced on time, collected close to on time. A handful of accounts slip and the rest pay inside terms. This is the band a mixed book of annual and quarterly contracts should hold with one AR owner and automated reminders running. It's a realistic target for most companies reading this page.

45 to 60 days

Elevated

Where the median B2B SaaS company actually sits, at 59 days. The usual causes are familiar: enterprise procurement pushing terms to net-45 or net-60, invoices going out days after the period closes, and dunning handled by whoever remembers. Nothing is broken. The cash is just arriving two weeks later than it has to.

Over 60 days

Critical

Past 60, the problem is process, not payment terms. Invoices go out late, disputes sit unresolved for weeks, cash application lags so invoices that were paid still show as open, and no one owns escalation. Bad debt expense usually starts moving in the same period. This is a collections rebuild, not a tuning exercise.

DSO by the numbers

$600 billion
The receivables share of excess working capital tied up by the 1,000 largest US public nonfinancial companies.
18 days
The DSO gap between top-quartile and median performers. Part negotiated terms, part process. Either way, 18 days of cash.
56 days
Median DSO across B2B. SaaS runs higher at 59 days, while its top quartile collects in 38.
01

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.
‍

DSO = (Accounts receivable Γ· Revenue) Γ— Days in period
02

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.
‍

DSO = (5,200 Γ· 8,000) Γ— 91 = 59.2 days


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.
‍

Month
Revenue
Days covered
Running result
June revenue
$3,500k
30 days
AR remaining: $1,700k
May revenue
$2,300k
31 days
(1,700 Γ· 2,300) Γ— 31 = 22.9 days
Countback DSO = 30 + 22.9 = 52.9 days

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 = (Current AR Γ· Revenue) Γ— Days in period
‍
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.

03

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.

Segment
Median DSO
Top quartile
How to read it
B2B SaaS, all verticals
59 days
38 days
The headline number for this page. Three days worse than B2B as a whole, which surprises most people about recurring revenue. The 21-day gap between median and top quartile is the part that responds to process.
Cloud, network and IT infrastructure (SaaS)
50 days
Not published
The fastest-collecting SaaS vertical in the data, and nine days better than services businesses in the same category.
Human resources (SaaS)
50 days
Not published
Level with cloud and IT, and eleven days better than services businesses in the same category.
Transportation and logistics (SaaS)
56 days
Not published
One of only two verticals where SaaS collects worse than services, by ten days.
Finance, insurance and banking (SaaS)
59 days
Not published
At the SaaS median. Services businesses in this vertical run 91 days, the widest SaaS-versus-services gap in the data.
Marketing and advertising (SaaS)
63 days
Not published
The slowest SaaS vertical, and eleven days slower than services in the same category.
All B2B, every sector
56 days
Not published
Context, not a target. Services businesses across these verticals run 46 to 91 days and pull the cross-industry median around.
Large US public companies, all sectors
46 days
28 days
A different population: the 1,000 largest US public nonfinancials. Included for the 18-day quartile gap, which is the number worth acting on.

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.

04

Why deferred revenue and usage-based billing distort SaaS DSO

This is where SaaS DSO stops behaving like textbook DSO, and it's the reason cross-industry benchmarks mislead.

Annual prepay contracts compress DSO because cash is collected before revenue is recognized. The customer pays for twelve months in January. Under ASC 606, you typically recognize one twelfth each month and the rest sits in deferred revenue as a contract liability.

Annual prepay

Compresses DSO

Cash is in the bank months before the revenue is recognized, receivables hold only the unpaid tail of recent invoices rather than a full cycle of delivered revenue, and DSO looks world-class. It isn't a collections achievement. It's a billing model.

Usage-based billing

Inflates DSO

Usage-based billing pushes the other way. You deliver the month, meter it, invoice in arrears, then wait out net-30. Recognition and invoicing both lag consumption, so receivables carry a full billing cycle of revenue that a prepay book never carries at all.

Same discipline, different DSO

Why it matters

Two companies with identical collections discipline can post DSOs twenty days apart purely on billing model.

Prepay compresses it, usage-based billing inflates it

The practical fix is to segment. Calculate DSO separately for prepay and in-arrears revenue rather than blending them, because the blended number moves whenever the mix moves, and mix shifts get read as collections problems in board meetings.

05

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.

06

Calculating DSO across multiple entities and currencies

Consolidated DSO hides more than any other version of it. Three things go wrong, and they compound.

Timing

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.

FX translation

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.

07

How to reduce DSO

Five levers, in the order they usually pay off.

01
Invoice faster

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.

02
Fix payment friction

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.

03
Automate dunning

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.

04
Renegotiate terms selectively

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.

05
Write a credit policy

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?

Divide accounts receivable by credit sales for the period, then multiply by the number of days in that period. Ending AR of $5,200k against $8,000k of quarterly revenue gives you (5,200 Γ· 8,000) Γ— 91, or 59.2 days. Use ending AR rather than average AR if you want your number to match what investors model, and keep cash sales out of the denominator.

How is DSO calculated in 3 months?

Same formula, 91 days instead of 365. Take quarter-end AR, divide by the quarter's credit sales, multiply by 91. Switch the calculator above to Quarterly and it does exactly that. One warning: a quarter with a June-heavy revenue month will overstate DSO on the simple formula, so run the countback method alongside it and report the pair.

How do you calculate DSO in Excel?

It's =(AR/Revenue)*Days in a single cell, which is why so many finance teams still do it there. The problem isn't the formula, it's the inputs. Somebody has to pull AR and revenue on the same cutoff, every period, for every entity, and strip out intercompany balances by hand. That's where the errors live, not in the arithmetic.

What is a good DSO for a SaaS company?

Under 45 days is healthy for most B2B SaaS, and under 30 usually means you're billing annually upfront rather than collecting brilliantly. The B2B SaaS median is 59 days and the top quartile collects in 38. Judge yourself against your billing model and your vertical first. A 50-day DSO on a monthly, in-arrears book is a different result than 50 days on annual prepay.

What is a good DSO ratio?

People asking this usually mean the AR turnover ratio, which is the same data flipped around: revenue divided by receivables, annualized. The calculator above uses ending AR so the two figures agree, which makes a DSO of 59 days a turnover of roughly 6.2x a year. Textbook versions use average receivables and land slightly differently without changing the story. Higher turnover is better, lower DSO is better. Days are easier to act on.

Is DSO the same as AR days?

Yes. Days sales outstanding, AR days, days receivable outstanding and collection period all describe the same measurement, and you'll see all four in the same board deck. The one to watch out for is best possible DSO, which is a different calculation: it uses only current, not-yet-due receivables to show the floor your payment terms set.

Does deferred revenue affect DSO?

Not directly, because deferred revenue is a liability and never enters the DSO formula. Indirectly it changes everything. Annual prepay puts cash in the bank before recognition, so receivables stay small and DSO looks excellent while a deferred revenue balance builds. Grow the prepay share of your book and DSO falls without your collections process improving at all.

How does DualEntry help track DSO?

DualEntry doesn't ship DSO as a preset metric. You build it once in the report builder as a calculated column, and from then on it reads live off the ledger, so there's no manual pull and no spreadsheet to rebuild. AR and revenue come off the same ledger on the same cutoff, intercompany balances are eliminated as posted entries rather than stripped out by hand, and FX translation applies the closing rate to receivables and the average rate to revenue. You get DSO by entity and consolidated, next to the AR aging that explains it.
Conclusion

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.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

By clicking "Schedule Demo" you agree to the use of your data in accordance with DualEntry's Privacy Notice.