What is Dual Write?

Dual-write is a Microsoft Dynamics 365 framework that provides near real-time, bi-directional data synchronization between Dynamics 365 Finance and Operations apps (like Finance & Supply Chain Management) and Dataverse (used by Dynamics 365 Customer Engagement apps, like Sales, Customer Service, etc.).

Key Concepts of Dual-write:

  1. Bi-directional Synchronization

     Data flows automatically and in near real-time between Finance & Operations (F&O) and Dataverse. For example, when a customer is created in Dynamics 365 Sales (Dataverse), it’s automatically created in Finance (F&O), and vice versa.
  2. Out-of-the-box Mapping

     Microsoft provides predefined entity maps (over 30+ standard templates) for commonly used entities like customers, vendors, products, and contacts. These mappings can also be customized.
  3. Tightly Coupled Experience

     It allows Dynamics 365 apps to behave like a single application. Users don’t need to manually sync or integrate data — the system does it behind the scenes.
  4. Foundation for Unified Data

     Dual-write is a core enabler of Microsoft’s One Dynamics concept — creating a unified data layer across front-office (CRM) and back-office (ERP) applications.

Example Use Case:

ActionSourceResult
Create a customer in Dynamics 365 SalesDataverseAutomatically creates the same customer in F&O
Update product price in F&OF&OAutomatically updates the product info in Sales or Field Service
Invoice generated in F&OF&OSynced back to Dataverse, viewable in Customer Service for case handling

How It Works Technically:

  • Uses Dataverse virtual entities, Data Integrator, and Power Platform connectors.
  • Runs on Azure-based services and uses Common Data Service (Dataverse) as a hub.
  • Uses Solution-aware components for updates and extensibility (custom fields, entities, etc.).

Security and Governance:

  • Dual-write respects the security roles and permissions defined in both environments.
  • It’s recommended to manage data policies and user access through Power Platform CoE and Azure AD roles.

Limitations to Consider:

  • Custom integrations may need extra attention for complex business logic.
  • Latency might occur in large-scale or high-volume systems.
  • Data model differences between F&O and Dataverse can lead to mapping complexities.

When to Use Dual-write:

  • When you want real-time integration between CRM and ERP systems.
  • If you’re building a unified customer or product master across departments.
  • For accelerated implementation of Dynamics 365-based enterprise solutions.

What is the architectural diagram for Dual-write?

Here is a breakdown of a typical Dual-write architecture and a detailed setup guide using a common use case: synchronizing Customers between Dynamics 365 Sales (Dataverse) and Dynamics 365 Finance (F&O).

Dual-write Architecture Diagram: Customer Synchronization

+————————–+       Dual-write Framework       +——————————+

|   Dynamics 365 Sales     |  —————————–>  | Dynamics 365 Finance & Ops   |

|  (Dataverse, CRM layer)  |       (Azure, Near Real-time)    |  (F&O, ERP layer)            |

|                          |  <—————————–  |                              |

+————————–+                                  +——————————+

        |                                                                  |

        | Customer entity (Account)                                        | Customer entity (CustTable)

        |                                                                  |

        v                                                                  v

+————————+                                       +————————–+

|  Business Rules (CE)   |                                       | Business Logic (F&O)     |

|  Workflows, PowerApps  |                                       | X++ Extensions, Plugins  |

+————————+                                       +————————–+

     ^                                                                  ^

     |                                                                  |

     |     Power Automate, Plugins, etc.                               |

     |                                                                  |

     +—————– Admin & Monitoring Layer ———————-+

                        (LCS, Dual-write Admin, Azure Monitoring)

Setup Guide: Synchronizing Customers Using Dual-write

Pre-requisites:

  1. Environment readiness:
    • One F&O environment (e.g., Dynamics 365 Finance or Supply Chain).
    • One Dataverse environment (e.g., linked to Dynamics 365 Sales).
    • Both linked to the same Azure AD tenant.
  2. System Admin privileges on both environments.

Step-by-Step Dual-write Setup:

1. Enable Dual-write from F&O Environment

  • Navigate to F&O > Data Management > Dual-write.
  • Click “Link to Dataverse”.
  • Sign in with your Azure AD credentials and select the correct Dataverse environment.
  • The system will create a connection and deploy solutions to both environments.

2. Install Dual-write Core Solutions

  • Go to Power Platform Admin Center or Power Apps.
  • Verify that these solutions are installed:
    • Dual-write core
    • Dual-write application orchestration
    • Dynamics 365 Finance and Operations Common
    • Dynamics 365 Customer Engagement Common

These provide the schema and metadata mapping between F&O and Dataverse.

3. Set Up the Customer Mapping Table

  • From F&O, navigate to Dual-write > Table mappings.
  • Locate the mapping: Customers V3 (Accounts) ↔ CustTable.
  • Open it and verify field mappings:
    • AccountNumber ↔ CustomerAccount
    • Name ↔ Name
    • Address ↔ DirPartyPostalAddressView
  • Customize or add fields if needed.

4. Initial Sync of Data

  • Go to the Mapping form > Initialize Sync.
  • Choose direction:
    • Typically Dataverse → F&O for master data (like customers from CRM).
  • Monitor for errors in the sync monitor/logs.

5. Validation

  • Create a new Customer in Dynamics 365 Sales (CRM).
  • Wait a few seconds → Verify it appears in F&O under All customers.
  • Similarly, create a customer in F&O and verify it syncs back to Sales.

Optional: Extend with Custom Fields

  • Add a custom field (e.g., CustomerType) to Dataverse Account and F&O CustTable.
  • Use Table Mapping Designer in Dual-write to map the new field.
  • Update the solution using Application Lifecycle Management (ALM) pipelines or manually.

Monitoring Tools

  • Lifecycle Services (LCS): Monitor health and alerts.
  • Dataverse Admin Center: Monitor plugin failures or issues.
  • Dual-write Admin Center in F&O: Enable/disable mappings, troubleshoot.

error: Content is protected !!