Skip to main content
Metrics type: Key MetricsCategory: 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.

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. By Customer dimension (top 5 contributors to DSO drift): 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

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