Integrate with Microsoft Dataverse via data sync
Business apps often use data from more than one source. Dataverse combines data into a single set of logic that makes it easier to connect Business Central to other Dynamics 365 applications. For example, Dynamics 365 Sales or your own application built on Dataverse. To learn more about Dataverse, go to What is Dataverse?.
The following steps provide an overview of the steps to integrate Dataverse with Business Central.
Note
These tasks require the System Administrator security role in Dataverse and Business Central.
Assign licences for Dataverse to the Business Central users who will use the integrated apps.
Set up a connection to Dataverse. For more information, see Connect to Dataverse.
Synchronize data between the apps. For more information, see Synchronizing Business Central and Dataverse.
Get started with Dataverse
To get started with Dataverse, you'll need a Microsoft Power Apps account. If you don't already have a Power Apps account, you can get one for free by visiting powerapps.com and choosing the Get started free link. To learn more about how to get started with Dataverse, go to the Get started with Dataverse module from Microsoft training.
Bi-directional or uni-directional data synchronization
You can synchronize data either to or from one Dynamics 365 business app to another, or in both directions in near-real time, through Dataverse. For example, if you integrate Business Central with Dynamics 365 Sales, a salesperson can create a sales order in Dynamics 365 Sales and the order synchronizes to Business Central. Conversely, from Dynamics 365 Sales, the salesperson can check the availability of the item on the order in Business Central.
Standard and custom entities
Dataverse securely stores data in a set of tables, which are sets of records similar to how a table stores data within a database. Dataverse includes a base set of standard tables that cover typical scenarios, but you can also create custom tables specific to your organization. In Business Central, you can view standard and custom tables being synchronized on the Integration Table Mappings page.
About the Business Central Base Integration Solution
The Base Integration Solution is a key component of the integration. The solution adds the required roles and access levels to the user accounts for the integration, and it creates tables needed to map Business Central company to business unit in Dataverse.
By default, the Set up Dataverse connection assisted setup guide imports the solution. To do that, the setup guide uses an administrator user account that you specify. This account must be a valid user in Dataverse with the System Administrator security role.
To learn more about user accounts, go to the following articles:
- Setting Up User Accounts for Integrating with Dataverse
- Create users in Microsoft Dynamics 365 (online) and assign security roles.
The administrator account is used only one time during the setup for the configuration changes that the Base Integration Solution makes in Dataverse. After the solution imports, the account is no longer needed. Integration will continue to use the user account that is automatically created specifically for the integration.
In addition to customizing Dataverse, the solution also creates a security role in Dataverse for the integration:
- Business Central Dataverse Integration - Allows you to manage the connection between Business Central and Dataverse. Typically, this role is assigned only to the user account that's automatically created for synchronization. To learn more about this role, go to Setting Up User Accounts for Integrating with Dataverse.
When you set up the connection, you create the integration table mappings that you need to synchronize data. Entities in Dataverse are mapped to tables and table fields in Business Central through integration tables. To learn more about mappings, go to Standard Entity Mapping for Synchronization.
Handle differences in local and base transaction currencies
You can connect to a Dataverse environment that has a different base currency than the local currency in Business Central. You make the connection in Business Central on the Dataverse Connection Setup page or by using the Set up connection to Dataverse assisted setup guide.
To be able to connect, ensure that the base transaction currency setting in Dataverse has the currency that set on the Currencies page in Business Central, and at least one exchange rate is specified for the currency on the Currency Exchange Rates page.
Here's an example. You're connecting Dataverse with Euro (EUR) set as the local currency on the General Ledger Setup page to a Dataverse environment that has a base transaction currency set to US dollar (USD). You'll need to have USD on the Currencies page in Business Central and the appropriate exchange rate.
When you enable the connection to Dataverse, Business Central adds its local currency to the Currency entity in Dataverse with the exchange rate from the Currency Factor field on the Currency Exchange Rates page.
Currency synchronization is unidirectional, from Business Central to Dataverse, monetary amounts convert and synchronize as follows:
- Amounts in the Dataverse base currency convert to the Business Central local currency based on the latest exchange rate synchronized from Business Central.
- Amounts in the Business Central local currency synchronize with the Business Central local currency in one of the other (non-base) currencies in Dataverse.
What happens when you copy a company
You can safely copy companies that integrate with Dataverse or Dynamics 365 Sales. Copying companies helps reduce the risk of data inconsistencies and can save you valuable time. To learn more about copying companies, go to Copy a company.
Note
When you copy a company in an environment where Dataverse or Sales integration is enabled, Business Central clears the following settings while copying to the target company:
- Dataverse and Dynamics Connection Settings to ensure that integration correctly re-initiates in the target company.
- Integration records to ensure that the target company doesn't point to records that are coupled in the source company.
- Integration synchronization jobs to stop synchronization background jobs.
- Synchronization errors, it they exist, because they point to errors in the source company and would just be considered noise in the target company.