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 Billing Document issue to cash applied (FB05 / F-30 customer payment posting). The single most-watched cash-flow KPI in enterprise B2B commerce on S/4HANA Cloud. Rising DSO is the earliest warning of cash-flow trouble.
What it countsStandard formula: DSO = (AR Balance ÷ Total Credit Sales) × Number of Days. AR Balance = sum of open customer line items in BSID / BSAD (or the modern ACDOCA items where KOART = D Customer). Credit Sales = Invoiced Revenue minus Cash Sales (BV order type). Card uses 90-day rolling window for the denominator. Aligns with SAP’s standard DSO computation in the Receivables Management Cockpit Fiori app.
Tax treatmentIncludes tax in both numerator (AR open items are gross of output VAT, sitting in customer reconciliation account) and denominator (Credit Sales). Net result is the same as a tax-exclusive calculation.
AR balanceOpen customer line items, gross of any unapplied credit memos.
Credit salesInvoiced Revenue from credit billing types (F2 standard, S1 cancellation, G2 credit memo netted in). Cash Sales (BV) excluded; otherwise DSO is artificially low because cash hits same-day at goods issue.
Cash Sales / DTC prepaidExcluded from both numerator and denominator.
CurrencyGroup Currency for consolidated views. Each Company Code’s AR and Credit Sales are translated at TCURR rate type M then summed.
Company Code scopeRespects dashboard filter.
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 SAP 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 enterprise wholesale distributor on SAP S/4HANA Cloud Public Edition (annual run-rate ~$280M). Snapshot 03 May 26.
ComponentValue
Open AR (excludes Cash Sales / BV)$34,820,000
90-day Credit Sales (Invoiced Revenue, F2 + G2 net)$58,140,000
Days in window90
DSO (this card)(34.82M ÷ 58.14M) × 90 = 53.9 days
This periodPrior 30DvsP
DSO53.947.6+6.3 days
Five things to notice:
  1. DSO at 53.9 days exceeds the 45-day alert threshold. Net-30 customers are paying ~24 days late on average. The card fires the sentiment alert and Ask Viq surfaces the question “Why has DSO jumped 6.3 days this period?”.
  2. vsP is +6.3 days, above the 5-day jump threshold. Trend is bad and accelerating. Two compounding alerts: absolute level breach + jump-rate breach. The CFO and Finance Manager get a paired notification.
  3. The breakdown helps diagnose. Five large customers (Top B2B Accounts) in the 60+ aging bucket are pulling DSO up disproportionately. Resolving 3 of them via the Receivables Management Cockpit (Fiori app F0729) collections worklist would drop DSO back under 50.
  4. Net-30 textbook DSO is 35-40 days for healthy B2B (terms + 5-10 days slack). 53.9 days means the average is now Net-30 + 24 days late. Compare to last year’s average; if 12 months ago it was 41, the trend is structural and likely traces to either a customer-base shift (more late-paying accounts) or a collections-process degradation.
  5. Cash Sales correctly excluded. This merchant’s mix includes 12% DTC prepaid orders booked as BV (cash-sale order type) which clear instantly. If included, DSO would compute artificially low because BV orders hit cash same-day. The card excludes them so the number reflects credit-customer behaviour only.
T-codes / Fiori apps for drilling in:
  • FBL5N: Customer Line Items (per-customer open-item drill).
  • F-30 / FB05: Cash application (Incoming payments).
  • Receivables Management Cockpit Fiori app for the collections worklist.
  • F.13: Automatic Clearing run (clears matched payments to invoices automatically).

Sibling cards merchants should reference together

CardWhy pair it with DSO
Invoice Aging SummaryThe bucket detail behind DSO.
A/R Aging DetailPer-customer detail.
Cash CollectedReceipts side. Strong cash-collected days reduce DSO.
Overdue Invoice ValuePressure target. Overdue % of AR drives DSO.
Cash Application RateOperations efficiency: how fast cash hits open items.
Customer Credit UtilisationPredictive risk view from FSCM-CR.
Top B2B Accounts by RevenueConcentration: who matters.
Sales Documents Blocked on Inventory or CreditCredit-blocked documents reflect the same upstream problem.

Reconciling against the vendor’s own dashboard

Where to look in S/4HANA Cloud:
Receivables Management Cockpit Fiori app (F0729) DSO tile Days Sales Outstanding Fiori KPI tile (configurable in Receivables overview page) SAP Analytics Cloud standard Finance content pack: “DSO Trend” story Saved query: build via Embedded Analytics CDS view I_CustomerARAging and I_BillingDocumentItem
Direct deep-link: https://my{tenant}.s4hana.cloud.sap/sap/bc/ui2/flp#ReceivablesMgmt-display Why our number may legitimately differ from a manual SAP calculation:
ReasonDirectionWhy
Window selectionEitherSome Finance teams use 90-day rolling, some use trailing 12-month, some use the last calendar quarter. Card defaults to 90-day rolling.
Cash Sales (BV) inclusionCard excludesIncluding BV orders artificially deflates DSO because they clear instantly. SAP’s standard tile includes or excludes based on customising; align the field map.
Tax inclusionEitherSome calculations use net-of-tax in both numerator and denominator; others use gross. Card uses gross consistently (AR open items are gross of output VAT in SAP standard).
Multi-Company-Code scopeEitherCard defaults to all CCs visible to the connected role. SAC tile may be scoped per CC.
EBRR deferred revenueCard lowerIf your tenant uses Event-Based Revenue Recognition, deferred revenue is excluded from Credit Sales (the denominator), keeping DSO from being artificially deflated by un-billed deferred recognition postings.
Cross-connector reconciliation: This card has no commerce-platform counterpart. Commerce platforms collect at order placement (Stripe / PayPal / wallets); DSO is meaningless because there is no Net-30 lag.

Known limitations / merchant FAQs

What is a “good” DSO for an SAP-running enterprise? Net-30 B2B target: 35 to 42 days. Net-60 target: 65 to 75. Net-90 target: 95 to 110. The healthy range is your terms + 5 to 15 days of slack. Anything beyond that signals collection or credit issues. Enterprise SAP shops typically have stricter terms than mid-market, so 35 to 42 is the realistic ceiling for healthy. Why is DSO rising even though cash collected is rising? Because Credit Sales (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 to see who. What is the difference between DSO and BPDSO? BPDSO = Best Possible DSO (sales fully collected within terms). Theoretical floor. DSO ÷ BPDSO ratio shows collection efficiency; >1.5 means collections are slipping. Should I include Cash Sales (BV order type)? No. Cash Sales clear instantly so they push DSO toward zero artificially. DSO is meant to measure credit-customer payment behaviour. SAP’s standard configuration excludes BV; the card aligns. Multi-currency, FX impact? Each component (AR open items, Credit Sales) is translated to Group Currency at TCURR rate type M. The ratio is currency-neutral. FX shifts move both numerator and denominator proportionally so DSO is roughly insulated. Subscription / recurring billing on SAP? Each billing cycle is treated as a credit sale. SAP S/4HANA Cloud supports this via Convergent Invoicing or via standard scheduling-agreement-driven periodic billing. DSO captures whether subscribers pay on time. Healthy SaaS-adjacent businesses see DSO at terms + 0-5 days because subscriptions auto-charge via SAP Cash Application. Is 45 days the right alert threshold? Default. Tunable per workspace. Net-60 businesses should set higher (~75-80). Net-30 with strict policy can set lower (40). Multi-jurisdiction merchants with India / Brazil exposure (longer cultural payment cycles) often run higher thresholds. Single-Company-Code vs multi-Company-Code Group Reporting? Identical formula. Group Reporting just consolidates AR and Credit Sales across CCs in Group Currency. The card respects the dashboard’s scope. ASC 606 / IFRS 15 deferred revenue, does it bias DSO? Yes if you include it in Credit Sales. EBRR / RAR-deferred revenue not yet billed should not be in the denominator. The card uses Invoiced Revenue (billed only), so the bias is avoided. SAP Cash Application AI / FI-AR auto-clearing, does it affect this card? Yes positively. SAP S/4HANA Cloud’s Cash Application machine-learning engine auto-matches incoming bank line items to open AR items, reducing the manual lag between bank-receipt and cash-applied. Higher auto-match rate = faster numerator reduction = lower DSO. Pair this card with Cash Application Rate to see the operations-side efficiency. FSCM-CR credit holds, do they bias DSO? No directly, but they delay the Sales Document from billing in the first place. A document blocked by credit hold never enters the AR aging until released, so it does not appear in either numerator or denominator. That is correct (it is not yet a credit sale), but it can mask a worsening collections situation if the credit team is over-aggressively blocking instead of collecting. T-codes vs Vortex IQ, which to use when? For headline: this card. For per-customer drill: FBL5N (customer line items). For collections action: Receivables Management Cockpit Fiori app. For cash application: F-30 / FB05.

Tracked live in Vortex IQ Nerve Centre

Days Sales Outstanding (DSO) is one of hundreds of KPI pulses Vortex IQ tracks across SAP 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.