The killer reconciliation finding for mid-market ecom ops: dollar value of orders that never made it to Oracle ERP Cloud GL plus the reason.
At a glance
The dollar value of commerce-platform revenue that has not yet hit the Oracle ERP Cloud General Ledger, broken down by reason. Calculated as commerce_total_revenue minus oracle_revenue_booked_gl for the same window, with reason codes attached to each missing dollar.
| What it counts | The signed gap between the sum of total_revenue across every connected commerce platform (Shopify, BigCommerce, Adobe Commerce, Salesforce Commerce Cloud) and revenue_booked_gl in Oracle Fusion for the matching window. The reason breakdown classifies each missing dollar into one of: AutoInvoice Pending, Voided / Cancelled, Credit Memo Refund, Unmapped Customer, Period Boundary Timing, FX Translation, RMCS Deferred, or Unknown. |
| Tax treatment | Net of tax on both sides. Commerce platform tax is stripped if the platform reports tax separately. Inclusive-tax modes are normalised at compute time so we are comparing net-of-tax to net-of-tax, otherwise the gap would always show a 20% UK VAT mismatch. Oracle’s E-Business Tax engine recomputation at AutoInvoice time can introduce small reclassification deltas, surfaced in the breakdown. |
| Shipping | Both sides include shipping revenue. Mismatch only occurs if shipping is mapped to a non-revenue natural account in Oracle’s Subledger Accounting rules. |
| Refunds | Counted on both sides. Commerce gross is subtracted by refunds for parity, Oracle Credit Memos are pulled in from Receivables. |
| Currency | Commerce-platform revenue is FX-translated to the Oracle reporting ledger currency at period-average rate (or daily corporate rate, configurable per ledger). A residual FX-translation gap appears in the breakdown as FX Translation if the currency mix is large. |
| Multi-Ledger | Card sums across all Business Units and primary ledgers that have commerce platforms tagged to them in the field map. Single-Ledger setups: trivially scoped. |
| Time window | 30D (no vsP comparison, the gap itself IS the trend) |
| Alert trigger | >$10k unreconciled in the Unknown bucket (default), tunable per workspace |
| Sentiment key | revenue_gap |
| 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 wholesale apparel distributor (annual revenue ~$420M) running Oracle ERP Cloud with three Business Units. Connected commerce platforms: Shopify Plus DTC, Salesforce Commerce Cloud B2B with Net-30 terms, Adobe Commerce wholesale portal. The 30-day window covers 14 Mar 26 to 12 Apr 26.| Source | Window total (USD, period-avg FX) |
|---|---|
| Shopify Plus, DTC | $11,420,000 |
| Salesforce Commerce Cloud, B2B Net-30 | $19,840,000 |
| Adobe Commerce, wholesale portal | $6,820,000 |
| Commerce gross (sum) | $38,080,000 |
| Oracle ERP Cloud GL booked revenue | $33,250,000 |
| Gap (this card) | $4,830,000 |
| Reason | Amount | Explanation |
|---|---|---|
| AutoInvoice Pending | $2,420,000 | 184 SFCC B2B Sales Orders shipped but not yet picked up by AutoInvoice. Net-30 ship-to-bill lag plus a 4-hourly AutoInvoice schedule. |
| Credit Memo Refunds | $820,000 | 312 Credit Memos posted in the window against orders booked in commerce gross. |
| Voided / Cancelled | $360,000 | 47 cancelled orders that show in commerce platform’s lifetime totals but voided in Oracle before reaching Receivables. |
| Unmapped Customer | $384,000 | 22 Adobe Commerce wholesale customer accounts not yet mapped to Oracle Customer records, so the SOs failed to import via Order Management’s inbound integration. |
| Period Boundary Timing | $410,000 | Orders placed 11pm 12 Apr 26 in commerce platform; rolled into Oracle 13 Apr 26 due to integration scheduler. |
| RMCS Deferred | $290,000 | Multi-period subscription bundles that hit commerce gross at first invoice but Oracle Revenue Management Cloud defers across 12 to 36 months. |
| FX Translation | $84,000 | Adobe Commerce captured GBP transactions at spot rate; Oracle booked at month-average. |
| Unknown / Investigate | $62,000 | 14 SFCC orders flagged but no audit trail; under investigation by Operations. |
- **The biggest leak is AutoInvoice Pending (2.4M of working capital for 4 days is real money in a high-rate environment.
- Unmapped Customer ($384K) is real revenue at risk. If the Customer mapping is wrong on Adobe Commerce, those orders may never sync. The Controller pings the Oracle Functional Consultant to fix the mapping in the customer hub; otherwise next month’s gap is even bigger and the orders eventually age out of the integration retry queue.
- Credit Memo Refunds ($820K) is policy, not error. This is the structural gap between gross commerce headlines and net GL booking. It will always exist; what matters is whether the rate is constant or rising. Rising = quality / fulfilment / pricing problem. Constant = baseline noise.
- The $62K Unknown bucket is the leakage signal. It is small enough not to alarm but it is where reconciliation problems live. The Controller hands this list to the Oracle Admin every Monday morning during the close cycle.
- Alert fires at >$10K unreconciled in the Unknown bucket. AutoInvoice Pending and Credit Memos are explained gaps; only Unknown trips the sentiment.
Sibling cards merchants should reference together
This card is the trigger; the action lives on its companions.| Card | Why pair it with Revenue Gap vs Commerce |
|---|---|
| Revenue Gap, Detailed Breakdown | The drill-down. Each missing dollar with the originating commerce order ID and the Oracle-side reason. The Controller’s daily worklist. |
| Revenue Booked into GL | The denominator on the Oracle side. Tells you how big the absolute booked revenue is so the gap percentage makes sense. |
| Open Sales Order Value | AutoInvoice Pending’s forward-looking sibling. Shows what is queued to become GL revenue. |
| Sales Orders Blocked on Inventory or Credit | Why AutoInvoice Pending is stuck. Inventory holds, credit holds, missing approvals. |
| Commerce Orders Without Oracle ERP Cloud Sales Order | Specifically the Unmapped Customer bucket. The list of commerce orders without a paired Oracle Sales Order. |
| Credit Memo Value | The Credit Memo Refunds bucket as its own time series. Tells you whether Credit Memo volume is rising structurally. |
| Sales Order to Invoice Lead Time | The cycle-time metric behind AutoInvoice Pending. |
| shopify.total_revenue | The DTC half of the commerce-side numerator. |
| bigcommerce.total_revenue | The B2B half on BC platforms. |
| adobe_commerce.total_revenue | The B2B half on Adobe Commerce. |
| salesforce_commerce_cloud.total_revenue | The Fortune 500-typical B2B + B2C platform. |
Reconciling against the vendor’s own dashboard
Where to look in Oracle ERP Cloud: There is no single native Oracle Fusion report for this metric, that is precisely why Vortex IQ surfaces it. The closest manual approach inside Oracle is:Build an OTBI analysis on the Receivables Real Time Subject Area filtered toAn Oracle Functional Consultant can build this OTBI analysis in 30 minutes. Most do not, because the cross-platform comparison requires pulling commerce data manually, and the moment you do that you have lost reproducibility. Vortex IQ runs this every 15 minutes. Adjacent Oracle reports that look related but are not:Transaction Status = 'Pending AutoInvoice'and sumTransaction Amount. Then compare manually to the commerce platform’s last-30-day total revenue export.
- Sales Order Inquiry: shows all open SOs but without commerce-side comparison.
- Customer Account Inquiry: AR-balance based, looks at unpaid Invoices not pre-Invoice gap.
- Income Statement (Financial Reporting Center): smooths the gap into a monthly trendline; loses the per-order traceability.
| Reason | Direction | Why |
|---|---|---|
| Connector sync lag | Card may overstate gap | Oracle Fusion REST API sync runs every 5 to 15 minutes. A commerce order placed in the last sync window appears in commerce gross but not yet in Oracle’s Sales Order list. |
| Customer mapping gaps | Card overstates gap | If a commerce customer does not yet have an Oracle Customer record in the Customer Hub, the Sales Order import fails. The integration logs this as Unmapped Customer and the gap shows the gross order. Until the Functional Consultant maps it, the gap persists. |
| AutoInvoice schedule | Card may overstate by hours | AutoInvoice typically runs every 4 hours. Orders shipped in between runs are in commerce gross but not yet in GL. |
| FX rate cadence | Small | Commerce platform may capture spot rate; Oracle may consolidate at period-average or corporate rate. The FX Translation bucket isolates this. |
| Tax reclassification | Either | If the commerce platform sends an inclusive-tax order and the E-Business Tax engine recomputes at a different jurisdiction (e.g. shipping address state), the line totals differ even though gross paid is the same. |
| Period boundary | Card overstates by 1-2 days of orders | Orders placed late on the last day of the window are in commerce gross but not yet in Oracle GL. They show up on the next period’s reconciliation. |
| Multi-Business-Unit scope mismatch | Card understates gap | If only some Business Units are connected via the field map, commerce platforms tagged to unconnected BUs are excluded. |
| SLA rule customisation | Either | Custom Subledger Accounting rules can redirect revenue to non-revenue natural accounts, understating GL booked. |
Known limitations / merchant FAQs
Should this gap ever be zero? No, and you should be suspicious if it is. A small structural gap (AutoInvoice Pending + Credit Memos + period-boundary timing) is healthy. Zero gap means either the connector is not pulling new commerce orders, or someone is force-closing the books before reconciliation. Aim for a stable gap that scales with revenue, with the Unknown bucket near zero. How big should the gap be vs total revenue? A typical Fortune 500 commerce business runs at 8 to 15% gross commerce vs net GL revenue gap inside a 30-day window:- AutoInvoice Pending: 4 to 9% (higher for B2B Net-30 / Net-60, lower for DTC).
- Credit Memo Refunds: 3 to 8% (varies by category, apparel skews high; electronics low).
- Voided / Cancelled: 1 to 3%.
- RMCS Deferred: 1 to 4% if you have subscription / extended-warranty revenue.
- Unknown: ideally < 0.3% of commerce gross.
RMCS Deferred in the breakdown, which is policy-correct, not a defect.
Multi-currency stores: does the FX Translation bucket overstate?
The bucket isolates the residual after period-average FX is applied. If your Business Units transact in 5+ currencies, expect the FX bucket to be 0.5 to 2% of commerce gross. Anything larger usually means the field map’s FX rate source is misconfigured against the GL Daily Rates table.
What does the alert look like in practice?
At >62K reconciliation drift this week?” with a deep-link to the breakdown card. The Controller typically resolves it in 15 to 30 minutes by mapping a missing Customer or escalating a stuck SO to the Oracle Functional Consultant.
Multi-Ledger vs single-Ledger, does the card behave differently?
Same logic, simpler scope. Single-Ledger skips the FX Translation bucket and the Financial Consolidation Hub elimination logic. Most fields are identical.
Does this differ from the equivalent NetSuite card?
Conceptually identical, mechanically different. NetSuite has Subsidiaries and a single integrated GL; Oracle has Business Units and a Multi-Ledger architecture with Subledger Accounting as a customisable rule layer. The Oracle card has additional reason codes (RMCS Deferred, AutoInvoice Pending) reflecting Oracle-specific posting mechanics. Companies migrating from NetSuite up to Oracle Fusion (a common pattern under Oracle’s portfolio strategy) keep the Vortex IQ reconciliation logic intact across the move.
Sales Order vs AutoInvoice vs Cash Receipt, where does each fit?
- Commerce order → Oracle Sales Order: fast (minutes via OIC or REST API). If this fails, gap appears as Unmapped Customer.
- Sales Order → AutoInvoice Receivables transaction: slow (hours to days). If this is stuck, gap appears as AutoInvoice Pending.
- Receivables → Cash Receipt application: slow (days to weeks). NOT in this card; this gap is captured by DSO.
- Refund → Credit Memo: variable. Captured as Credit Memo Refunds bucket.