Skip to main content
Metrics type: Key MetricsCategory: Ecommerce Platform
The count of Dataverse contacts or accounts that were created but whose matching D365 customer master entry never landed. A dual-write sync gap between Customer Engagement and Finance.

At a glance

A count of customer records that exist in Dataverse (created in Dynamics 365 Customer Engagement, or written by an integration) but that were never promoted into the D365 customer master in Finance & Operations or Business Central. This is the classic dual-write gap: the Dataverse contact or account is created, but the dual-write map that should mirror it into the Finance customer table did not complete. Until promotion lands, the customer exists on the CRM side but cannot be invoiced on the Finance side.

Calculation

Calculated automatically from your Microsoft Dynamics 365 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 B2B manufacturer running Dynamics 365 Customer Engagement for sales and Finance & Operations for the ledger, linked by Microsoft dual-write. New accounts are created by the sales team in CE and are meant to mirror automatically into the F&O customer master. The snapshot covers the rolling week ending 09 Jun 26. Four things to notice:
  1. Four records are stuck, and the threshold is zero. Unlike a count card with a tolerance band, this one alerts on any non-zero value, because a healthy dual-write pipeline simply should not leave customers behind. Four stuck records is four sync failures to investigate.
  2. Three of the four already have sales activity. Those are not dormant contacts; they are accounts the sales team is actively working that cannot be invoiced when their deal closes. The promotion gap turns directly into a revenue-recognition gap the moment an order is raised.
  3. The cause is almost always the dual-write map, not the data. A failed dual-write run, a mandatory field missing on the Finance side (a customer group, a payment term, a posting profile), or a plugin error during promotion are the usual reasons. The Power Platform admin centre dual-write run history is the place to read the exact error.
  4. This is the upstream sibling of the absent-customer card. A record stuck here will also surface on Ecom Customers Absent from D365 if that contact has placed an ecommerce order, because absence from the Finance master is exactly what both cards detect from different angles.

Sibling cards merchants should reference together

This card sits at the top of the customer-promotion chain. These siblings show what the gap causes downstream and what to check to fix it.

Reconciling against Microsoft Dynamics 365

Where to look in Business Central / Finance & Operations:
Power Platform admin centre: Data > Dual-write (table maps and run status for the Contact / Account to Customer maps) Finance & Operations: Accounts receivable > Customers > All customers (search for the contact; if absent, promotion did not land) Dataverse: Contacts and Accounts tables (the record exists here, which is the half of the gap) Finance & Operations: System administration > Inquiries > Dual-write error log (the exact promotion error and field) Business Central: Customers list (for BC-side dual-write configurations, confirm the record is absent)
To verify a single stuck record, take its identity from the card’s drill-down, confirm it exists in the Dataverse Contacts or Accounts table, then confirm it is absent from the Finance All customers page. Open the dual-write run history or error log for the same record and timestamp; the error message almost always names the missing mandatory field or the failed plugin that blocked promotion. Why our number may legitimately differ: The promotion gap is internal to D365, but it has a direct cross-connector consequence: any of these stuck contacts who place an ecommerce order will block that order from invoicing. Read this card alongside the commerce-platform customer and order cards to see which stuck records carry live revenue risk.

Known limitations / merchant FAQs

What is dual-write and why does promotion fail? Dual-write is Microsoft’s bidirectional sync between Dataverse (Customer Engagement) and Finance & Operations. A Dataverse contact is meant to mirror into the Finance customer master automatically. Promotion fails most often because a mandatory Finance field is missing (a customer group, payment terms, a posting profile), because a plugin or business rule errored, or because the dual-write run itself failed. Why is the threshold zero rather than a tolerance band? Because a working dual-write pipeline should not leave customers behind at all. Any non-zero value is a sync failure, and catching the first one before it becomes ten is the whole point of the card. How is this different from Ecom Customers Absent from D365? This card looks at the Dataverse-to-Finance promotion specifically. The absent-customer card looks at whether an ecommerce buyer has a Finance master record, regardless of how they were meant to get one. A record stuck here will usually also appear there if that contact has ordered online. Does this apply to Business Central as well as Finance & Operations? Yes, wherever a dual-write or Dataverse-integration configuration is mirroring records into the D365 customer master. The card detects the gap regardless of which Finance product holds the master. A record cleared on its own. Was it a false positive? Not necessarily. Dual-write can be queued, so a record created moments before a snapshot may promote on the next run and clear naturally. A record that persists across several snapshots is the genuine failure. Can I bulk-promote the stuck records? Yes. Once the blocking field or plugin is fixed, the stuck records can be re-run through dual-write to promote in a batch. The durable fix is to correct the map or the mandatory-field defaults so the gap does not recur. Who should own this card? Finance owns the revenue risk, engineering owns the dual-write configuration, and the owner cares because stuck records become uninvoiceable orders. That is why the card is scoped to owner, finance, and engineering. What is the freshness on this card? The card refreshes on a short cache, typically under 15 minutes, so promotions resolve quickly and genuine failures surface fast without being drowned in transient queue lag.

Tracked live in Vortex IQ Nerve Centre

Customers in Dataverse Not Promoted to D365 is one of hundreds of KPI pulses Vortex IQ tracks across Microsoft Dynamics 365 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.