If you are implementing Dynamics 365 Finance and Operations and you have more than one legal entity (company) configured there may be cases where both companies use the same set of data and they always need to be synchronized. For example, if both companies use the same list of modes of delivery it may be easier to just share that data across the two companies instead of having to configure it twice or multiple times if you have more than two companies. The primary use case for this feature is companies that have the same or similar configuration and setup data.
In short Cross Company Data Sharing reduces the overhead involved with data maintenance on sets of data that are common between two or more companies by replicating or sharing the data among all the selected companies.
In this article I will show you how to setup the cross company data sharing feature as well as discuss some limitations you need to be aware of.
How To Enable Cross Company Data Sharing
In this example I will use the mode of delivery as the data that we want to share between two companies. Below you can see that we have two modes of delivery in company “THMF”.
I will need to know the name of this table because the when we enable cross company sharing it will reference the table name not the form name. To do this right click on the form, hover over “Form information”, and click “Form Name”.
This will open the “Form information” form. In the “Administration” tab you will see a field called “DataSource”. The text in parenthesis is the table name.
Now let’s go look at the other company. If you don’t know how to switch companies please see this post on the basics and navigation. As you can see there is no mode of Delivery in company “USSI”.
Now let’s enable cross company data sharing by navigating to System administration > Setup > Configure cross-company data sharing.
Click the “New” button to create a new cross company data sharing policy. In the “Name” field enter the name of policy which will just be a description of the data you are sharing.
In the “Table name” field enter the table name that we found earlier and click “Add” table.
Next select any related tables that should also be included. You can select individual tables or enable the parent node to enable all eligible related tables in the table group.
In the section to the right use the “Add” button to add all the companies that should share the data in the selected tables.
Click the “Save” button and click the “Enable” button. If there was already different data in these companies each company would get the record that the other was missing.
Click the “Yes” button to start the replication process.
Now if we navigate back to the “USSI” company we can see that the data has been successfully copied over to this company.
Find Sharing Issues
If you already have data in tables in the companies that you decide you want to share data with, there may be cases where there are certain discrepancies in the data. For example, in one company you may have the same ID for mode of delivery but maybe they are actually used for different modes of delivery in each company. In that case you would need to resolve those conflicts.
The “Find sharing issues” button is a tool you can use to detect issues like this. I ran the same process but in two companies where I knew there was already data for mode of delivery. Now if I click “Find sharing issues”, I can see if there are any conflicts or issues I need to resolve.
This brings me to a page where I can see all the potential issues. Let’s take this one as an example. The system has detected that even though these two companies have the same primary key value in the table they have a different name. This may or may not be an issue depending on the table and the data in the table.
If I go to the mode of delivery table in each of these two companies, I can indeed see that the “Description” field is different. In this case we would probably just copy over the description to make them the same to avoid confusion.
Disable Cross Company Sharing
If you no longer want the data to be replicated between the selected companies, you can disable the cross company sharing policy. This will not delete the copied data; it will only prevent new records created in the table from being replicated.
So, if there is replicated data that you no longer want shared you will need to manually delete that data assuming it has not already been used in a transaction somewhere. To disable the cross company data sharing policy simply click the “Disable” button and click “Yes” on the popup dialog box.
There are some limitations to be aware with the cross company data sharing.
- Transactions cannot (and should not) be replicated across companies.
- The current record limit for replication is 2,000,000 records.
- 300 companies is the current limit for data replication.
- It is currently not supported with the dual-write functionality.
- Data that uses number sequences must have the same number sequence type to be shared across companies.
- Cross company data sharing does not support replication of data that has effectivity dates.
Tips For Implementation
During your project implementation make a list of data sets and tables that may be a good fit for cross company data sharing and make sure it is enabled in all testing cycles to flesh out any issues. If you are already in a production system make sure you thoroughly test in a pre-production environment and think through the ramifications of sharing certain sets of data between companies.
It may be convenient to share data across companies, but it may also have negative affects like user experience. If users are seeing values from other companies that are not applicable to processes in their company and they have to sift through a list of values that are not applicable, it may become cumbersome.
Cross company data sharing is a powerful tool and can drastically reduce the data management overhead that is associated with an ERP system. Before implementing cross company data sharing, think through different scenarios, talk with all the functional teams, and decide as a group whether cross company data sharing would benefit your implementation of Dynamics 365 Finance and Operations.