Skip to content

Insights · 6 min read

Dual-write, virtual entities or integration: connecting Dynamics 365 Finance & Operations with Dataverse

8 October 2026 · Uthsav Consulting Services

Sooner or later, Dynamics 365 Finance & Operations needs to share data: with Dynamics 365 Sales, a Power App, a warehouse partner or your analytics platform. Microsoft offers several ways to do it, and choosing the wrong one is a common cause of slow, fragile or expensive integrations. Here is how we decide.

The options at a glance

Option Where the data lives Best for
Dual-write Copied into Dataverse and kept in sync both ways Dynamics 365 customer engagement apps that need F&O master data (customers, products, prices)
Virtual entities Stays in F&O, shown in Dataverse on demand Power Apps and Power Automate that read or update F&O data without duplicating it
Business events Stays in F&O; a message announces a change Notifying other systems when something happens (an invoice posted, an order confirmed)
OData and custom services Stays in F&O; called through an API Request-based integrations with external systems
Data management framework Moved in batches (files or packages) Bulk imports and exports, migrations and scheduled file-based exchanges

Dual-write: one record in two places

Dual-write keeps tables in Finance & Operations and Dataverse synchronised in near real time, in both directions. When a salesperson creates a customer in Dynamics 365 Sales, it appears in Finance & Operations, and vice versa.

Choose it when the same business entities must be worked on in both applications and users expect them to match immediately: customers, contacts, products, price lists and sales documents.

Keep in mind that the data is physically copied, so it uses Dataverse storage, and every synchronised table needs mapping, initial synchronisation and monitoring of sync errors. Keep the list of synchronised tables to what users genuinely need.

Virtual entities: one record, viewed from two places

Virtual entities (virtual tables) expose Finance & Operations data entities inside Dataverse without copying the data. When a Power App reads a virtual entity, the request goes straight through to Finance & Operations.

Choose it when a Power App, Power Automate flow or Copilot experience needs F&O data on demand, such as checking stock or viewing open invoices, and you don’t want a second copy to maintain.

Keep in mind that performance depends on the live call to Finance & Operations, so they suit lookups and moderate volumes better than heavy reporting. Some Dataverse features behave differently for virtual tables.

Business events: tell, don’t ask

Business events let Finance & Operations announce that something happened, for example a vendor payment posted or a purchase order confirmed. Subscribers such as Power Automate, Azure Service Bus, Event Grid or your own endpoint then react.

Choose it when another system needs to act on a change promptly, without polling Finance & Operations every few minutes.

OData and custom services: ask when you need it

OData endpoints expose data entities over standard REST calls; custom services expose your own operations. They suit external systems that need to read or write specific records on request.

Keep in mind that OData is not designed for large volumes. For thousands of records, use the Data management framework instead.

The Data management framework: bulk and batch

For migrations, periodic bulk loads and file-based exchanges with partners, the Data management framework (including recurring integrations) is the most reliable choice. It is built for volume, supports staging and validation, and can run on a schedule.

And for analytics?

Avoid building reporting on top of transactional integrations. Use Microsoft’s supported options for exporting Finance & Operations data to a data lake or Microsoft Fabric, then report with Power BI. It is faster, cheaper and doesn’t load the live system.

A quick decision guide

  1. Do two Dynamics 365 apps need the same records, kept identical? Dual-write.
  2. Does a Power App need live F&O data without a copy? Virtual entities.
  3. Must another system react when something happens? Business events.
  4. Does an external system need specific records on request? OData or a custom service.
  5. Are you moving lots of records at once, or on a schedule? The Data management framework.
  6. Is it for reporting? Export to a data lake or Fabric, and use Power BI.

Most real projects use more than one of these, and that’s fine as long as each is used for what it does best.

Where we can help

We design and build Dynamics 365 Finance & Operations integrations across all of these options, and fix ones that have become slow or unreliable. If you are planning a new integration, we’re happy to recommend the right approach before you commit budget.

Related serviceDynamics 365 Finance & Operations

All insights

Let’s talk

Want a second opinion on your plans?

Tell us about your system and what you're trying to achieve. A consultant will reply with practical next steps.

Chennai, India · Mon–Fri, 9:30 AM – 6:30 PM IST