Skip to main content
Card class: HeroCategory: Ecommerce Platform
Average days from invoice issue to cash applied. Earliest warning of cash-flow trouble.

At a glance

Average days from Sage Intacct Invoice issue to Cash Receipt application. The single most-watched cash-flow KPI in mid-market commerce. Rising DSO is the earliest warning of cash-flow trouble. Card uses the standard formula (AR Balance ÷ Total Credit Sales × Days) and respects Multi-Entity Console + Customer dimension scope.
What it countsStandard formula: DSO = (AR Balance ÷ Total Credit Sales) × Number of Days. Card uses 90-day rolling window.
Tax treatmentIncludes tax in both numerator (AR) and denominator (Credit Sales). Net result is the same as a tax-exclusive calculation.
AR balanceOpen Invoice Amount Due, gross of Credit Memos. Pulled from ARINVOICE.AMOUNTDUE summed across all open Invoices.
Credit salesInvoiced Revenue (Cash Receipts with revenue offset excluded; only credit-terms transactions count, otherwise DSO is artificially low).
Cash Sales / DTC prepaidExcluded from both numerator and denominator.
CurrencyMulti-Entity Console: each component translated to reporting currency. Ratio is currency-neutral.
Entity scopeRespects dashboard filter; defaults to all connected entities.
Customer dimensionThe card surfaces the headline. Pivoting by Customer dimension shows per-customer DSO, the killer cut for B2B AR triage.
Time window30D vsP (rolling DSO computed on 90-day denominator)
Alert trigger>45 days OR up >5 vsP, sentiment dso
Rolesowner, finance

Calculation

Calculated automatically from your Sage data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US B2B distributor on Sage Intacct Multi-Entity Console. Snapshot 14 Apr 26.
ComponentValue
Open AR (excludes Cash Receipts with revenue offset)$9,840,000
90-day Credit Sales (Invoiced Revenue)$16,200,000
Days in window90
DSO (this card)(9.84M ÷ 16.20M) × 90 = 54.7 days
This periodPrior 30DvsP
DSO54.749.4+5.3 days
By Customer dimension (top 5 contributors to DSO drift):
CustomerARDays past termsDSO contribution
Apex Industrial Supply$1,240,000+28+6.8 days
Northwind Manufacturing$980,000+22+4.1 days
Helios Wholesale$620,000+18+2.0 days
Vortex Energy LLC$480,000+14+1.2 days
Stella Components Co$360,000+9+0.6 days
Five things to notice:
  1. DSO at 54.7 days exceeds the alert threshold (45 days). Net-30 customers are paying ~25 days late on average. The card fires the sentiment alert.
  2. vsP is +5.3 days, just over the 5-day jump threshold. Trend is bad. The Controller has a week to act before it spikes through 60 days.
  3. The Customer dimension cut is the actionable view. Apex Industrial Supply alone is dragging DSO up by 6.8 days. A single payment-terms renegotiation conversation could drop DSO by 5 days. Without the Customer dimension cut, the Controller would chase 200 accounts; with it, they call 5.
  4. Net-30 textbook DSO is 35-40 days for healthy B2B (terms + 5-10 days slack). 54.7 days means the average is now Net-30 + 25 days late. Compare to last year’s 42 to confirm structural drift.
  5. Cash Sales correctly excluded. If this distributor included DTC prepaid web orders (which clear instantly), DSO would compute artificially low because cash hits same-day. The card excludes them.

Sibling cards merchants should reference together

CardWhy pair it with DSO
Invoice Aging SummaryThe bucket detail behind DSO.
A/R Aging DetailPer-customer aging bucket. The Customer-dimension cut.
Cash CollectedReceipts side. Strong cash-collected days reduce DSO.
Overdue Invoice ValuePressure target. Overdue % of AR drives DSO.
Cash Application RateOperations efficiency.
Customer Credit UtilisationPredictive risk view.
Top B2B Accounts by RevenueConcentration.
DSO Increase AlertThe trigger when DSO breaks vsP threshold.

Reconciling against the vendor’s own dashboard

Where to look in Sage Intacct: Sage Intacct does not ship a standard DSO report. Most merchants build it as an Interactive Custom Report or as a Sage Intacct Dashboard performance card. The closest native equivalents:
Reports → Receivables → AR Aging Summary (provides the AR balance numerator) Reports → Receivables → AR Ledger (transaction-level AR with payment dates) Interactive Custom Report (ICR) with the formula (SUM AR) ÷ (SUM Credit Sales × 90) × 90 Sage Intacct Performance Card (some Implementation Partners pre-build this)
Why our number may legitimately differ from a manual calculation:
ReasonDirectionWhy
Window selectionEitherSome Controllers use 90-day rolling, some trailing 12-month. Card defaults to 90-day.
Cash Receipts inclusionCard excludesIncluding Cash Receipts with revenue offset artificially deflates DSO because they clear instantly.
Tax inclusionEitherSome calculations use net-of-tax in both; others use gross. Card uses gross consistently.
Multi-Entity scopeEitherCard defaults to all entities.
Revenue Recognition timingCard may be lowerIf Intacct Contracts is in use, deferred revenue is excluded from Credit Sales, which lowers the denominator and raises computed DSO. The card honours Intacct’s recognised-only convention.
Cross-connector reconciliation: This card has no commerce-platform counterpart. Commerce platforms collect at order placement; DSO is meaningless on the commerce side. The relevant cross-connector relationships:

Known limitations / merchant FAQs

What is a “good” DSO? Net-30 B2B target: 35-40 days. Net-60 target: 65-75. Net-90 target: 95-110. The healthy range is your terms + 5 to 15 days of slack. Anything beyond that signals collection or credit issues. Why is DSO rising even though cash collected is rising? Because revenue (denominator) is rising faster than cash (effectively). Or AR balance (numerator) is rising disproportionately due to a few late-paying customers. Drill into A/R Aging Detail by Customer dimension to see who. What is the difference between DSO and BPDSO? BPDSO = Best Possible DSO (sales fully collected within terms). It is a theoretical floor. DSO ÷ BPDSO ratio shows collection efficiency; >1.5 means collections are slipping. Should I include Cash Receipts with revenue offset? No. They clear instantly so they push DSO toward zero artificially. DSO is meant to measure credit-customer payment behaviour. Multi-currency, FX impact? Each component (AR, Credit Sales) is translated to reporting currency per Intacct’s Currency Configuration. The ratio is currency-neutral. FX shifts do not move DSO directly. Does Intacct Contracts and Revenue Management bias DSO? Yes if you include deferred revenue in Credit Sales. Contract-deferred revenue not yet billed should not be in the denominator. The card uses Invoiced Revenue (billed) only, so the bias is avoided. SaaS-subscription Intacct merchants will see DSO roughly track terms because subscriptions auto-charge. Is 45 days the right alert threshold? Default. Tunable per workspace. Net-60 businesses should set ~75-80. Net-30 with strict policy can set 40. Single-entity vs Multi-Entity Console behaviour? Identical formula. Multi-Entity Console scope just consolidates AR + Credit Sales across entities in reporting currency. How does this compare to NetSuite or QuickBooks DSO? NetSuite: identical formula, same exclusion of Cash Sales. QuickBooks Enterprise: similar but lacks the per-customer-dimension cut Intacct supports natively. Intacct’s dimensional model lets you slice DSO by Department or Project (e.g. “what is the DSO of the Federal Government project?”); NetSuite needs Class/Department for the same view; QuickBooks cannot. Per-Customer DSO is not in NetSuite by default. Does Intacct expose it? Yes via the Customer dimension. The card pivots natively. This is the single most useful AR triage view for B2B Intacct merchants and the conversation Implementation Partners use to differentiate Intacct from QuickBooks. My Implementation Partner uses a 12-month trailing DSO. Why is the card 90-day? 90-day is more responsive to recent payment behaviour. Trailing 12-month smooths seasonality but lags by months. The card is the operational view; the Partner’s 12-month is the board view. Both are valid and the workspace can switch the default. What about fixed-fee subscription billing? Each billing cycle is treated as a credit sale. DSO captures whether subscribers pay on time. Healthy SaaS-adjacent businesses on Intacct see DSO at terms + 0-5 days because subscriptions auto-charge.

Tracked live in Vortex IQ Nerve Centre

Days Sales Outstanding (DSO) is one of hundreds of KPI pulses Vortex IQ tracks across Sage and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.