Skip to main content
Card class: Cross-ChannelCategory: Cross-Channel: Revenue at Risk
An order you shipped that SAP never billed is pure missed revenue and a hole in the audit trail. This card counts them and is usually one IDoc partner profile away from the cause.

At a glance

This is the cleanest revenue-at-risk finding in the SAP connector. It takes orders the merchant has actually fulfilled on a connected storefront and checks whether each one has a matching Billing Document in S/4HANA Cloud (VBRK / VBRP). The ones with no match are orders you delivered but never invoiced: the goods left the building, the customer has them, and SAP has no record that it is owed money. That is missed revenue, an AR balance that should exist but does not, and an audit-trail gap an auditor will flag. The most common cause is mechanical, not strategic: a Sales Document type misconfigured in the IDoc partner profile, so the order-to-billing chain breaks before a Billing Document is ever created. Find the unmatched orders, fix the partner profile, and the revenue posts.
What it detectsFulfilled storefront orders with no corresponding SAP Billing Document. The order shipped but was never invoiced, so the revenue never reached AR or the GL.
How the join worksThe card matches each completed commerce order to a SAP Billing Document (VBRK / VBRP) via the order-to-Sales-Document-to-Billing-Document chain, using the connector’s order-reference map. An order counts as unmatched when no Billing Document resolves after the grace period in the window.
SAP sideBilling Documents (VBRK header, VBRP items) and the Sales Documents (VBAK / VBAP) they bill. The card also reads the IDoc status for the order’s inbound message, because a failed or misrouted IDoc is the usual break point.
Commerce sideOrders marked fulfilled or completed on Shopify, BigCommerce, Adobe Commerce, or other connected storefronts inside the window. Fulfilment is the trigger because a shipped order should always have a downstream invoice.
Common root causeA Sales Document type misconfigured in the IDoc partner profile, so the inbound order never creates the right document; an IDoc stuck in error; the billing-due list not run; a customer with no Business Partner so billing cannot post; or an order-reference mismatch between the platforms.
How to resolveCheck the IDoc partner profile and the message status for the unmatched orders, confirm the Sales Document type mapping, run or reschedule the billing-due list, and resolve any upstream customer-master gap so the invoice can post.
Data source / freshnessSAP Billing Documents, Sales Documents, and IDoc status via OData against the live system; commerce orders via each platform’s API. Vortex IQ polls every 15 minutes by default.
Time window7D (rolling 7 days)
Alert triggermore than 0 fulfilled orders still unmatched after 7 days
Rolesowner, finance, operations

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 merchant runs S/4HANA Cloud (Company Code 1000, GBP) with a Shopify Plus DTC store and a BigCommerce B2B portal. Orders flow into SAP via inbound IDocs that create Sales Documents, which then bill on the daily billing-due list. The 7-day window ends 12 Mar 26. The card reads 9 unmatched orders, above the >0 alert.
Commerce orderChannelFulfilledOrder valueSales Document in SAPBilling DocumentIDoc status
#SHOP-44821Shopify DTC06 Mar 26£180createdbilledmatched
#SHOP-44903Shopify DTC07 Mar 26£240creatednonebilling-due list not run
#BC-10277BigCommerce B2B05 Mar 26£4,400nonenoneIDoc in error, wrong doc type
#BC-10288BigCommerce B2B06 Mar 26£2,950nonenoneIDoc in error, wrong doc type
#SHOP-45010Shopify DTC08 Mar 26£95creatednonecustomer has no Business Partner
Four things to notice:
  1. 9 unmatched orders trips the >0 alert, and three distinct causes are present. #SHOP-44903 is a billing-due-list timing problem (the Sales Document exists, it just has not billed yet). The two BC orders are an IDoc partner-profile fault. #SHOP-45010 is an upstream customer-master gap. Same symptom, three different fixes.
  2. The two BigCommerce orders are the killer rows. £4,400 and £2,950 of fulfilled B2B revenue with no Sales Document at all, because the inbound IDoc is in error: the Sales Document type configured in the partner profile is wrong, so SAP rejected the message. The goods shipped, the customer has them, and SAP has no idea it is owed £7,350. Fix the partner profile, reprocess the IDocs, and both orders flow through to billing.
  3. #SHOP-44903 will resolve itself; the others will not. A Sales Document waiting for the next billing-due-list run is a timing artefact that clears on the next run, which is why the alert uses a 7-day grace. The IDoc errors and the customer-master gap will sit unmatched indefinitely until someone acts. Triage by IDoc status: errors first.
  4. #SHOP-45010 traces upstream. The Sales Document was created but billing cannot post because the buyer has no Business Partner. That is the same root cause as Ecom Customers Absent from SAP Business Partner. Resolve the customer first, then the invoice posts. Pair this card with Revenue Gap vs Commerce to see these unmatched orders aggregated into the headline revenue divergence.

Sibling cards merchants should reference together

This card is the order-level evidence behind the revenue gap. Pair it with the gap, order-flow, and root-cause cards below to size the loss and trace each unmatched order to its fix.
CardWhy pair it with Ecom Orders Missing Matching SAP Billing Document
Revenue Gap vs CommerceThe aggregate. This card is the order-by-order detail; that card rolls the unmatched orders into the headline gap between commerce revenue and SAP-booked revenue.
Revenue Gap Detailed BreakdownThe full reconciliation. Splits the gap into timing, mapping, and policy causes, of which unmatched billing documents are a major part.
Commerce Orders Without S/4HANA Cloud Sales DocumentThe earlier break point. An order with no Sales Document never reaches billing; this card catches the orders that got a Sales Document but no invoice, and the orders that never got either.
IDoc Error Queue Depth (last 24h)The mechanical cause. Most unmatched orders trace to an IDoc in error. This card shows the queue depth; that one shows the order impact.
Ecom Customers Absent from SAP Business PartnerThe upstream cause. An order from a buyer with no Business Partner cannot bill, so it lands here.
Invoiced RevenueThe total that did bill. The contrast with this card is the slice of fulfilled revenue still waiting to be invoiced.
Sales Document to Invoice Lead TimeThe speed of the chain. A long lead time turns into unmatched orders once it crosses the grace period.
shopify.total_revenue / bigcommerce.total_revenue / adobe_commerce.total_revenueThe channels generating the fulfilled orders. The channel with the most unmatched orders is where the integration is leaking.

Reconciling against SAP

Where to look in S/4HANA Cloud: The closest native equivalents inside the SAP Fiori launchpad are:
Manage Billing Documents Fiori app (the VF03 equivalent) to confirm whether a Billing Document exists for an order Manage Sales Orders / Display Sales Order to trace the order from inbound IDoc to Sales Document Billing Due List (VF04 equivalent) to see Sales Documents awaiting billing Monitor IDocs / IDoc status overview to find inbound order messages in error and the reason Embedded Analytics: query the Billing Document CDS view and intersect with the inbound order reference
To reconcile, take the unmatched orders from the card and search Manage Billing Documents for each order reference. If no Billing Document exists, walk back: is there a Sales Document? If not, check the inbound IDoc status. The break point tells you the fix, billing-due-list timing, an IDoc error, or an upstream customer-master gap. Common mistakes when comparing against SAP’s own reports:
  • Checking too soon. A fulfilled order that has not yet hit the next billing-due-list run is not lost, just pending. The card applies a grace period so timing artefacts do not raise false alarms; a manual same-day check will show more unmatched orders than the card.
  • Looking for the Billing Document without checking the Sales Document. If there is no Sales Document, the break is upstream of billing (an IDoc error or a customer gap), and searching only the Billing Document list tells you nothing about why.
  • Ignoring IDoc status. The single most informative field is the inbound IDoc status. An IDoc in error with a wrong Sales Document type points straight at the partner profile, which is the most common root cause. A report that does not surface IDoc status hides the answer.
  • Order-reference mismatch. If the order reference the storefront sends does not match the field SAP stored it in, an existing Billing Document will not resolve and the order looks unmatched. Confirm the reference map before concluding revenue is missing.
Why our number may differ from SAP’s reports:
ReasonDirectionWhy
Grace period vs same-day checkCard lowerThe card waits out the billing-due-list cadence before flagging; a same-day manual check counts pending orders as unmatched.
Sales Document present vs absentEitherThe card distinguishes orders with a Sales Document but no invoice from orders with neither; a Billing-Document-only report cannot tell them apart.
IDoc error visibilityEitherThe card reads IDoc status; a billing report that ignores IDocs cannot explain the gap and may miscount its size.
Order-reference mappingCard higherA reference mismatch makes an existing Billing Document fail to resolve, overstating unmatched orders until the map is fixed.
Upstream customer gapCard higherOrders that cannot bill because the buyer has no Business Partner show here; resolving the customer removes them.
Company Code scopeEitherThe card respects the dashboard Company Code filter; a report run at a different scope counts a different set of orders.
Cross-connector reconciliation, the killer finding: This card only means anything as a join: fulfilled on the storefront, missing in SAP billing. The table below is where to act, channel by channel.
CardExpected relationshipWhat causes legitimate divergence
shopify.total_revenueEvery fulfilled Shopify order should have a SAP Billing Document after the grace periodBilling-due-list timing (clears on next run), an inbound IDoc in error, or a DTC buyer with no Business Partner. High DTC volume makes timing artefacts common, so the grace period matters most here.
bigcommerce.total_revenueEvery fulfilled B2B order should billNet-30 B2B order types are more prone to Sales-Document-type misconfiguration in the IDoc partner profile, the classic root cause. A single wrong doc-type mapping can strand every order from that channel.
adobe_commerce.total_revenueAs BigCommerceAdobe Commerce B2B approval workflows and multi-step order release can delay Sales Document creation, so orders cross the grace period before SAP ever sees them; check the integration trigger timing.
The most useful pivot is into IDoc Error Queue Depth (last 24h) when the cause is mechanical, and into Revenue Gap Detailed Breakdown to size the total revenue at risk across every unmatched order.

Known limitations / merchant FAQs

Why is an unmatched order such a serious finding? Because it is the cleanest form of missed revenue. The order shipped, the customer has the goods, and SAP has no record that it is owed money. There is no AR balance to chase, no GL revenue posted, and no audit trail for the transaction. Unlike a timing gap that resolves itself, an unmatched order sits there until someone fixes the cause, and every day it sits is revenue you cannot collect because you never invoiced. The card says an order is missing a Billing Document, but I can see the Sales Document. Which is it? That is the most actionable case. The order reached SAP and created a Sales Document, but it never billed. Two usual reasons: the billing-due list has not run yet (timing, resolves itself), or billing cannot post because of an upstream block such as a missing Business Partner. Check whether the Sales Document is in a billable state and whether the customer is mastered. Why is a misconfigured IDoc partner profile the most common cause? Because the inbound order IDoc carries the Sales Document type that tells SAP what kind of document to create. If the partner profile maps the storefront to the wrong Sales Document type, or to one that is not valid for that sales area, SAP rejects the IDoc and no Sales Document is created. Every order from that channel then strands the same way, which is why one bad mapping can produce a wall of unmatched orders. How long before a fulfilled order is counted as unmatched? The alert uses a 7-day grace so normal billing-due-list cadence and B2B approval delays do not raise false alarms. An order still unmatched after that window is genuinely stuck, not merely pending. If your billing-due list runs less often than weekly, expect more orders to sit close to the grace boundary. Does the card double-count an order that is also missing a Sales Document? No. An order with no Sales Document is the earlier break point and is the focus of Commerce Orders Without S/4HANA Cloud Sales Document. This card surfaces fulfilled orders missing a Billing Document and reports the chain state (Sales Document present or absent) so you can tell which break point applies without counting an order twice. An order shows unmatched but the Billing Document exists in SAP. Why? Almost always an order-reference mismatch. The reference the storefront sends and the field SAP stored it in do not line up, so the existing Billing Document fails to resolve. The fix is the reference map in the connector, not a new invoice. Confirm the map before concluding revenue is genuinely missing. How fresh is the data? Both sides poll every 15 minutes by default, and IDoc status is read against the live system. A billing-due-list run, an IDoc reprocess, or a fix to the partner profile appears at the next poll. For a live investigation, the native Manage Billing Documents and IDoc monitor apps are real-time; the card is at most one poll behind. Can the card fix the IDoc or run the billing-due list? No. The card detects, reports, and points at the break point with the IDoc status and the chain state. Reprocessing IDocs, correcting the partner profile, and running the billing-due list happen in SAP, which keeps the system of record authoritative and auditable. Vortex IQ surfaces the unmatched orders and the likely cause so the fix is fast and targeted.

Tracked live in Vortex IQ Nerve Centre

Ecom Orders Missing Matching SAP Billing Document 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.