> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Days Sales Outstanding (DSO), Oracle ERP Cloud

> Average days from invoice issue to cash applied. Earliest warning of cash-flow trouble. How to read it, why it matters, and how to act on it.

**Metrics type:** [Key Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> Average days from invoice issue to cash applied. Earliest warning of cash-flow trouble.

## At a glance

> Average days from Receivables Invoice issue to Cash Receipt application. The single most-watched cash-flow KPI in Fortune 500 finance. Rising DSO is the earliest warning of cash-flow trouble.

|                              |                                                                                                                                                                                                                                  |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**           | Standard formula: `DSO = (AR Balance ÷ Total Credit Sales) × Number of Days`. Card uses 90-day rolling window. Oracle Fusion's variant follows the same convention against `AR_PAYMENT_SCHEDULES_ALL` and `RA_CUSTOMER_TRX_ALL`. |
| **Tax treatment**            | Includes tax in both numerator (AR open balance) and denominator (Credit Sales). Net result is the same as a tax-exclusive calculation.                                                                                          |
| **AR balance**               | Open Receivables transaction `Amount Due Remaining`, gross of Credit Memos. Pulled from the AR aging snapshot.                                                                                                                   |
| **Credit sales**             | Invoiced Revenue from Receivables (Cash Receipts excluded; only credit transactions count, otherwise DSO is artificially low).                                                                                                   |
| **Cash Sales / DTC prepaid** | Excluded from both numerator and denominator.                                                                                                                                                                                    |
| **Currency**                 | Multi-Ledger: reporting currency.                                                                                                                                                                                                |
| **Business Unit scope**      | Respects dashboard filter.                                                                                                                                                                                                       |
| **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 Oracle ERP Cloud 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 Fortune 500 industrial-equipment distributor on Oracle ERP Cloud. Snapshot 14 Apr 26.

| Component                              | Value                                  |
| -------------------------------------- | -------------------------------------- |
| Open AR (excludes Cash Receipts)       | \$148,200,000                          |
| 90-day Credit Sales (Invoiced Revenue) | \$232,800,000                          |
| Days in window                         | 90                                     |
| **DSO (this card)**                    | **(148.2M / 232.8M) × 90 = 57.3 days** |

|     | This period | Prior 30D | vsP       |
| --- | ----------- | --------- | --------- |
| DSO | 57.3        | 51.4      | +5.9 days |

Five things to notice:

1. **DSO at 57.3 days exceeds the alert threshold (45 days).** Net-30 customers are paying \~27 days late on average. The card fires the sentiment alert.
2. **vsP is +5.9 days, above the 5-day jump threshold.** Trend is bad and the threshold is breached. The Controller has 1 to 2 weeks to act before it spikes through.
3. **The breakdown helps diagnose.** Six accounts in the 90+ aging bucket are pulling DSO up disproportionately. Resolving 3 of them would drop DSO back under 50.
4. **Net-30 textbook DSO is 35-40 days** for healthy B2B (terms + 5 to 10 days slack). 57.3 days means the average is now Net-30 + 27 days late. Compare to last year's same-quarter average; if 12 months ago it was 44, the trend is structural.
5. **Cash Sales correctly excluded.** If this distributor included DTC prepaid web orders (which clear instantly via Stripe in their commerce stack), DSO would compute artificially low because cash hits same-day. The card excludes them so the number reflects credit-customer behaviour only.

## Sibling cards merchants should reference together

| Card                                                                                          | Why pair it with DSO                                  |
| --------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| [Invoice Aging Summary](/nerve-centre/kpi-cards/oracle-erp/invoice-aging-summary)             | The bucket detail behind DSO.                         |
| [A/R Aging Detail](/nerve-centre/kpi-cards/oracle-erp/a-r-aging-detail)                       | Per-customer detail.                                  |
| [Cash Collected](/nerve-centre/kpi-cards/oracle-erp/cash-collected)                           | Receipts side. Strong cash-collected days reduce DSO. |
| [Overdue Invoice Value](/nerve-centre/kpi-cards/oracle-erp/overdue-invoice-value)             | Pressure target. Overdue % of AR drives DSO.          |
| [Cash Application Rate](/nerve-centre/kpi-cards/oracle-erp/cash-application-rate)             | Operations efficiency.                                |
| [Customer Credit Utilisation](/nerve-centre/kpi-cards/oracle-erp/customer-credit-utilisation) | Predictive risk view.                                 |
| [Top B2B Accounts by Revenue](/nerve-centre/kpi-cards/oracle-erp/oerp-top-b2b-accounts)       | Concentration.                                        |
| [DSO Increase Alert](/nerve-centre/kpi-cards/oracle-erp/dso-increase-alert)                   | Threshold-based alert built on this card.             |

## Reconciling against the vendor's own dashboard

**Where to look in Oracle ERP Cloud:**

Oracle Fusion does not have a single standard DSO report (unlike SAP S/4HANA which ships a standard DSO Fiori app). Most Fortune 500 implementations build either:

> An **OTBI analysis** combining the Receivables Real Time and General Ledger Real Time subject areas with a calculated column for DSO
> The **Account Receivables Dashboard** in Oracle Analytics Cloud (OAC), which has a pre-built DSO tile

**Why our number may legitimately differ from a manual calculation:**

| Reason                         | Direction     | Why                                                                                                                          |
| ------------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Window selection**           | Either        | Some Controllers use 90-day rolling, some use trailing 12-month. Card defaults to 90-day.                                    |
| **Cash Receipts inclusion**    | Card excludes | Including Cash Receipt revenue 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.                                    |
| **Business Unit scope**        | Either        | Card defaults to all BUs in the reporting ledger.                                                                            |
| **AR transaction type filter** | Either        | Some implementations exclude Chargebacks or Debit Memos from DSO; the card includes all credit transaction types by default. |

**Cross-connector reconciliation:**

This card has no commerce-platform counterpart. Commerce platforms collect at order placement; DSO is meaningless. Cross-reference with [Stripe Average Time-to-Settlement](/nerve-centre/stripe/stripe_avg_settlement) for payment-rail-side latency, but DSO is fundamentally a B2B credit metric.

## Known limitations / merchant FAQs

**What is a "good" DSO for Fortune 500 commerce?**
Net-30 B2B target: 35 to 40 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.

**Why is DSO rising even though cash collected is rising?**
Because revenue (denominator) is rising faster than cash. Or AR balance (numerator) is rising disproportionately due to a few late-paying customers. Drill into [A/R Aging Detail](/nerve-centre/kpi-cards/oracle-erp/a-r-aging-detail) 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?**
No. Cash Receipts 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 the reporting ledger currency at the period-average rate. The ratio is currency-neutral. FX shifts do not move DSO directly.

**What about subscription / recurring billing?**
Each billing cycle is treated as a credit sale. DSO captures whether subscribers pay on time. Healthy SaaS-adjacent businesses see DSO at terms + 0 to 5 days because subscriptions auto-charge.

**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).

**Single-Ledger vs Multi-Ledger behaviour?**
Identical formula. Multi-Ledger scope just consolidates AR + Credit Sales across BUs in reporting currency.

**RMCS deferred revenue, does it bias DSO?**
Yes if you include it in Credit Sales. RMCS-deferred revenue not yet billed should not be in the denominator. The card uses Invoiced Revenue (billed) only, so the bias is avoided.

**How does this compare to SAP S/4HANA's standard DSO Fiori app?**
SAP ships a built-in DSO tile; Oracle Fusion does not. SAP's tile uses a similar formula but defaults to a calendar-month denominator vs our 90-day rolling. Our card matches a properly-built OTBI analysis on Receivables; an out-of-the-box SAP report on the same data set may differ by a few days due to denominator window choice.

**How does this compare to NetSuite's DSO?**
Same formula, same logic, different underlying tables (NetSuite's `transaction` + `transactionAccountingLine` vs Oracle's `RA_CUSTOMER_TRX_ALL` + `AR_PAYMENT_SCHEDULES_ALL`). Companies running both during a NetSuite-to-Fusion upmarket migration see the same DSO figure across the cutover, which is the point of vendor-neutral reconciliation.

***

### Tracked live in Vortex IQ Nerve Centre

*Days Sales Outstanding (DSO)* is one of hundreds of KPI pulses Vortex IQ tracks across Oracle ERP Cloud 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
