D365 Business Central Integration with Common Data ServiceAlok Dhyani
Connecting D365 Business Central with Common Data Service (CDS) was something which was expected to come anytime as Microsoft moves towards expanding the parameters of CDS making it as a central place to hold all the data – thus, enabling customers to create applications on top of it.
Microsoft started with D365 CE and D365 Finance & Supply Chain providing clean and easy integration with CDS through PowerApps Data Integrator and therefore the next in the line was Business Central only. Rather than putting this integration piece through Power Apps Data Integrator, MS has chosen to provide this option via D365 Business Central only!!
In a scenario where BC, CRM are present as backend and frontend applications, integration has always been achieved via the standard connector present in Business Central. Recently, we faced a unique situation in one of our BC Online/CRM implementations. We had integrated the BC General Journal lines with a custom table in CRM and it was working absolutely fine. Post one version upgrade in BC, this integration started failing. RCA showed that the integration mapping for General Journal Line with a custom CRM entity had been removed in the newer version. Since this happened post the planned upgrade, and there was no intimation from MS regarding this, we had to create an extension for this to work. These issues can cause escalations at your customer end as these have business impact for them (like in our case).
The April 2020 Business Central release comes with inbuilt integration with Common Data Service. In this blog we will showcase how to set this up and its features.
Note: The CDS Integration option is available only in BC 16 and not in the prior versions.
Setting it up is quite simple and straightforward with following few steps:
- Search CDS in the search option. This will open the Common Data Service Connection Setup.
- As shown below in screen1- Put the environment URL, Username, password (Note the user should not be an Admin in D365 CE). Mention the Team or the User who will be the owner of the synced records in CDS. Click on Test Connection to check the connection.
- On clicking enable, another screen pops up where you have to again put username and password (Note- this user should be a system administrator in D365 CE)
- Once done, it will show Integration Solution setting and advanced setting.
- Selecting the Integration Table mapping option in the Integration option on the ribbon, it shows the OOB available mappings for different tables in both CE and BC. You can edit the same, change the direction, add more custom fields, add more tables etc.
- Running Full Synchronization or Synchronizing modified records is possible.
- CDS Integration allows multiple companies to connect Common Data Service Business Unit.
- Transformation of data in integration can also be done while mapping values.
- BC Wave 16 has come up with extensibility capability where Common Data Service tables and Common Data Service table extensions can be created.
Essentially, the integration has been built up somewhat like PowerApps Data Integrator and looks quite similar to that. Though it does not have a Power Query support but is a good beginning in terms of data to be brought under the Common Data Model umbrella and would hopefully resolve the earlier issues that we faced with the OOB BC integration plugin.