Synchronising Data in Business Central with Microsoft Dataverse
When you integrate Dataverse with Business Central, you can decide whether to synchronise data in selected fields of Business Central (such as customers, contacts, and sales people) with equivalent rows in Dataverse (such as accounts, contacts, and users). Depending on the type of row, you can synchronise data from Dataverse to Business Central, or vice versa. For more information, see Integrating with Dynamics 365 Sales.
Synchronisation uses the following elements:
- Integration table mappings
- Integration field mappings
- Synchronisation rules
- Coupled records
When synchronisation is set up you can couple Business Central records to Dataverse rows to synchronise their data. You can start a synchronisation manually, or based on a schedule. The following table provides an overview of the ways you can synchronise.
|Manual synchronisation||Synchronise on a row-by-row basis.
You can synchronise individual records in Business Central, such as a customer, with a corresponding Dataverse row, such as an account. This is typically how users will work with Dataverse data in Business Central.
|Couple and Synchronise Records Manually|
|Synchronise on a table mapping basis.
You can synchronise all records in a Business Central table with an table Dataverse table.
|Synchronise Individual Table Mappings|
|Synchronise all modified records for all table mappings.
You can synchronise all of the records that have been modified in Business Central tables since the last synchronisation.
|Synchronising All Modified Records|
|Full synchronisation of all data for all table mappings.
You can synchronise all of the data in Business Central and Dataverse tables that are mapped, and create new records or rows in the destination solution for uncoupled records in the source solution.
Full synchronisation synchronises all data and ignores coupling. Typically, you do a full synchronisation when you set up the integration and only one of solutions contains data. A full synchronisation can also be useful in a demonstration environment.
|Run a Full Synchronisation|
|Scheduled synchronisation||Synchronise all changes to data for all table mappings.
You can synchronise Business Central with Dataverse on scheduled intervals by setting up jobs in the job queue.
|Schedule a Synchronisation|
The synchronisation between Dataverse and Business Central is based on the scheduled execution of job queue entries and does not guarantee real time data consistency between two services. For real time data conistency you should explore Business Central Virtual Tables or Business Central APIs.
Standard Table Mapping for Synchronisation
Tables in Dataverse, such as accounts, are integrated with equivalent types of tables in Business Central, such as customers. To work with Dataverse data you set up links, called couplings, between tables in Business Central and Dataverse.
The following table lists the standard mapping between tables in Business Central and Dataverse.
You can reset configuration changes made to integration table and field mappings to their default settings by selecting the mappings, then choosing Use Default synchronisation Setup.
|Business Central||Dataverse||Synchronisation Direction||Default Filter|
|Salesperson/Purchaser||User||Dataverse -> Business Central||Dataverse contact filter: Status is No, User Licensed is Yes, Integration user mode is No|
|Customer||Account||Business Central -> Dataverse and Dataverse -> Business Central||Dataverse account filter: Relationship Type is Customer and Status is Active. Business Central filter: Blocked is blank (Customer is not blocked).|
|Vendor||Account||Business Central -> Dataverse and Dataverse -> Business Central||Dataverse account filter: Relationship Type is Vendor and Status is Active. Business Central filter: Blocked is blank (Vendor is not blocked).|
|Contact||Contact||Business Central -> Dataverse and Dataverse -> Business Central||Business Central contact filter: Type is Person and the contact is assigned to a company. Dataverse contact filter: The contact is assigned to a company and the parent customer type is Customer.|
|Currency||Transaction Currency||Business Central -> Dataverse|
The Dataverse actions will not be available on pages, for example, the Customer Card page, for records that do not respect the table filter on the integration table mapping.
Tip for Admins: Viewing Table Mappings
You can view the mapping between the tables in Dataverse and Business Central on the Integration Table Mappings page, where you can also apply filters. You define the mapping between the fields in Business Central tables and the columns in Dataverse tables on the Integration Field Mapping page, where you can add additional mapping logic. For example, this can be useful if you need to troubleshoot synchronisation.