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 counts | Standard formula: DSO = (AR Balance ÷ Total Credit Sales) × Number of Days. Card uses 90-day rolling window. |
| Tax treatment | Includes tax in both numerator (AR) and denominator (Credit Sales). Net result is the same as a tax-exclusive calculation. |
| AR balance | Open Invoice Amount Due, gross of Credit Memos. Pulled from ARINVOICE.AMOUNTDUE summed across all open Invoices. |
| Credit sales | Invoiced Revenue (Cash Receipts with revenue offset excluded; only credit-terms transactions count, otherwise DSO is artificially low). |
| Cash Sales / DTC prepaid | Excluded from both numerator and denominator. |
| Currency | Multi-Entity Console: each component translated to reporting currency. Ratio is currency-neutral. |
| Entity scope | Respects dashboard filter; defaults to all connected entities. |
| Customer dimension | The card surfaces the headline. Pivoting by Customer dimension shows per-customer DSO, the killer cut for B2B AR triage. |
| Time window | 30D vsP (rolling DSO computed on 90-day denominator) |
| Alert trigger | >45 days OR up >5 vsP, sentiment dso |
| Roles | owner, 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.| Component | Value |
|---|---|
| Open AR (excludes Cash Receipts with revenue offset) | $9,840,000 |
| 90-day Credit Sales (Invoiced Revenue) | $16,200,000 |
| Days in window | 90 |
| DSO (this card) | (9.84M ÷ 16.20M) × 90 = 54.7 days |
| This period | Prior 30D | vsP | |
|---|---|---|---|
| DSO | 54.7 | 49.4 | +5.3 days |
| Customer | AR | Days past terms | DSO 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 |
- 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.
- 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.
- 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.
- 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.
- 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
| Card | Why pair it with DSO |
|---|---|
| Invoice Aging Summary | The bucket detail behind DSO. |
| A/R Aging Detail | Per-customer aging bucket. The Customer-dimension cut. |
| Cash Collected | Receipts side. Strong cash-collected days reduce DSO. |
| Overdue Invoice Value | Pressure target. Overdue % of AR drives DSO. |
| Cash Application Rate | Operations efficiency. |
| Customer Credit Utilisation | Predictive risk view. |
| Top B2B Accounts by Revenue | Concentration. |
| DSO Increase Alert | The 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:
| Reason | Direction | Why |
|---|---|---|
| Window selection | Either | Some Controllers use 90-day rolling, some trailing 12-month. Card defaults to 90-day. |
| Cash Receipts inclusion | Card excludes | Including Cash Receipts with revenue offset artificially deflates DSO because they clear instantly. |
| Tax inclusion | Either | Some calculations use net-of-tax in both; others use gross. Card uses gross consistently. |
| Multi-Entity scope | Either | Card defaults to all entities. |
| Revenue Recognition timing | Card may be lower | If 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. |
- stripe.stripe_payouts_pending: captures the card-payment lag (typically 2-3 days), not credit-terms DSO.
- paypal.pp_payouts_pending: same for PayPal.