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:
- 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. - 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. - 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. - 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:
| Action | Source | Result |
| Create a customer in Dynamics 365 Sales | Dataverse | Automatically creates the same customer in F&O |
| Update product price in F&O | F&O | Automatically updates the product info in Sales or Field Service |
| Invoice generated in F&O | F&O | Synced 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:
- 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.
- One F&O environment (e.g., Dynamics 365 Finance or Supply Chain).
- 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
- Dual-write core
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
- AccountNumber ↔ CustomerAccount
- 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).
- 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.
