Skip to main content
Card class: HeroCategory: 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.
What it countsThe number of Dataverse contact / account records that have no corresponding entry in the D365 customer master. In a dual-write configuration, a Dataverse contact should mirror to the F&O / Business Central customer table automatically. This card counts the records where that mirror failed or stalled, so the customer is present in Customer Engagement (CE) but absent from Finance.
CurrencyNot applicable. This is a count of unsynced customer records, not a monetary figure.
Time window7D (rolling 7-day view of recently created Dataverse records still awaiting promotion)
Alert triggercount > 0. Any record stuck in Dataverse without a Finance counterpart is a sync failure worth catching. A healthy dual-write pipeline should hold this at zero.
Rolesowner, finance, engineering

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.
StageCountNotes
New Dataverse contacts / accounts in last 7 days47Created in CE or by integration
Successfully promoted to F&O customer master43Dual-write mirror completed
Customers in Dataverse Not Promoted (this card)4Above the zero-tolerance threshold
Of which: have an open opportunity or order3Revenue at risk
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.
CardWhy pair it with Customers in Dataverse Not Promoted
Ecom Customers Absent from D365The downstream symptom. A buyer stuck in Dataverse is also absent from the Finance master, blocking invoicing.
Ecom Customers Absent from D365 Customer MasterThe customer-master view of the same absence, useful for confirming which entity the record failed to land in.
Power Automate Flow FailuresThe integration-failure context. A promotion gap often coincides with a flow or dual-write run failure.
New Customers (30d)The denominator of fresh records. A spike in new customers with a spike here points at promotion throughput under load.
Active CustomersThe healthy population. Stuck records as a share of active customers shows how leaky the dual-write pipeline is.

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:
ReasonDirectionWhy
Dual-write run cadenceEitherDual-write can run synchronously or with a queue. A record created seconds ago may legitimately not be promoted yet and will clear on the next run.
Records not in scope for promotionCard higherSome Dataverse contacts (personal contacts, partner records) are never intended to become Finance customers. If the integration scope is wider than the card filter, the count can read high.
Mandatory-field failuresCard persistentA promotion blocked by a missing customer group or posting profile stays stuck until corrected, so the same record persists across snapshots rather than clearing.
Multi-entity promotionEitherDual-write may promote into a specific legal entity. A record present in one entity but expected in another can read as not promoted depending on scope.
Sync lagCard up to 15 min behindA record promoted in the last few minutes may still appear stuck until the next refresh resolves it.
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.