Microsoft Dynamics NAV – CRM integration: native connector vs data integration platform
By Henning Lund - April 27, 2020
Anyone who has been following the struggles to successfully integrate Microsoft Dynamics NAV (NAV) and Microsoft Dynamics CRM since Microsoft Dynamics CRM was released in 2003 (at that time branded “Microsoft Business Solutions Customer Relationship Management 1.0) knows that it has been uphill to integrate the two systems with the standard integration. First there was no integration at all. Some partners tried to make a connector but the first many years, it was unstable and not generic enough.
Microsoft did try to include a standard integration between Microsoft Dynamics NAV and CRM in various releases, but it was not until Microsoft Dynamics NAV 2016 that they had something that actually seemed to work as intended. I’ve been working with both Microsoft Dynamics NAV and CRM for many years now and it has been quite frustrating to tell customers that the standard Microsoft integration didn’t work. I know that it’s something that has been very frustrating for many partners and customers.
I was thrilled when NAV 2016 came out with a new integration connector because it could remove a pain I’d had for many years. The only question that remained was: is the native connector as good as the integrations developed by partners in the past years? Take RapidiOnline , for example. The solution offers a standard integration between Microsoft Dynamics NAV and Microsoft CRM (and actually also many other systems such as AX, Salesforce, Oracle) with sufficient out-of-the-box functionality to even support more complex integration scenarios and data replications. It even serves the needs of international organizations with multiple ERP instances that want to integrate into a single instance of CRM - which the native interfaces are not designed to handle.
How good is the native Microsoft Dynamics native integration?
The native Microsoft Dynamics Connector is actually pretty good and will cover the needs of quite a few companies, but it is not outstanding yet. So yes, for some companies the native Microsoft integration will be sufficient and the great benefit of that is that it comes with no additional license cost and it covers the basic stuff. On the downside the functionality is limited and fairly rigid - thus you will need a developer to maintain the integration and it does not appear to support a normal full quote to cash process.
Before diving into the native integration let me first share a bit of my ERP-CRM background with you. One of the first integration questions is to figure out whether if you need both a CRM and ERP system or not. The short answer is yes, and you can read more about it one of my previous blog article . Secondly my experience from managing sales and marketing organizations for more than 25 years in CRM systems is, that every time a user has to switch systems during a working process there is a decrease in productivity and motivation. Moreover, why should you acquire user licenses for multiple systems when it’s sufficient to work with just one system? Ideally, the sales people should work in the CRM system only. It’s their sales cockpit and the basic operating system for sales. If the systems are disconnected, then the CRM system is often reduced to a system where sales people have to track their activities and it’s perceived to be a one-way system to please management and therefore to contributing to increase sales or improve customer satisfaction.
This means than the basic ERP-CRM integration flows that need to be supported are:
Quote -> Sales order
Sales order updates
You can also find more details about these flows in this blog article .
What basic needs does the Microsoft Dynamics Connector cover?
The Microsoft Connector for Microsoft Dynamics supports mapping Microsoft Dynamics NAV entities, or record types, to their equivalent entities in Microsoft Dynamics CRM. For most data, synchronization occurs in one direction only, which is generally from Microsoft Dynamics NAV to Microsoft Dynamics CRM. Microsoft has decided to prioritize this working direction to help preserve data integrity in Microsoft Dynamics NAV, which, by Microsoft, is considered the system of record for most data that is exchanged. You can make changes in Microsoft Dynamics NAV and then synchronize the changes with Microsoft Dynamics CRM. However, for customers, contacts, and sales orders, the Connector for Microsoft Dynamics also provides maps that you can use to integrate data from Microsoft Dynamics CRM to Microsoft Dynamics NAV.
For example, a salesperson can create a contact in Microsoft Dynamics CRM and then use synchronization to add that contact to the Microsoft Dynamics NAV database.
Customized Entity Mapping using the Microsoft Connector
In most cases, you must customize the default mappings that are included with the Connector for Microsoft Dynamics to reflect how you use Microsoft Dynamics NAV and Microsoft Dynamics CRM. For example, if your entities include fields that are country/region-specific, then these fields are not included with the standard mappings. You must customize the mappings to account for these fields. In another example, you may have a customized field in your Microsoft Dynamics CRM solution for which you want to provide synchronization. You must add this field to the relevant RoleTailored client page that is exposed as a web service. For example, if you want to have a CRM reference number on the Customer entity, then you must add the reference number field to the Customer Card page. The Connector for Microsoft Dynamics becomes aware of the field during configuration, and the field is exposed in the Connector for Microsoft Dynamics. You can then map it.
You may also want to provide an integration map for a custom entity. In this case, you must modify the IsIntegrationRecord function in the Integration Management codeunit to ensure that the OnDatabase<x> triggers are executed on the corresponding page or table. In this way, you can create integration records. You must also add the page as an integration web service. When you run the configuration tool in the Connector for Microsoft Dynamics, the fields are exposed to the Connector. You then create a map of the Microsoft Dynamics NAV fields to the equivalent Microsoft Dynamics CRM fields.
Overall, the integration looks fairly ok, but there are some important limitations you have to consider before using the standard Microsoft Dynamics Connector:
In regards to orders, the typical integration is not to synchronize sales orders in CRM to sales orders in NAV right away. The logical flow is to have a quote on an opportunity converted to a sales order in NAV, and then copy that sales order back into CRM and keep it synchronized.
The system is designed so that you can only change or update the order in NAV which some companies can live with, but it’s a less lean process and it requires extra user licenses overall or a handover to a person with access to NAV to make an update.
To my experience you have to be on NAV 2016 as a minimum, and it won’t work for older versions even if the documentation says otherwise. I may have changed with the newer releases, but I’ve not seen it work.
You cannot use the Connector for other integration purposes (unless you add significant custom development).
Multiple NAV cannot integrate to one CRM.
Before a customer can be synchronized to an account, the salesperson that is assigned to a customer must be coupled to a user in Microsoft Dynamics CRM. Therefore, when you are running the Customers - Dynamics CRM synchronization job and you set it up to create new records, make sure that you synchronize salespeople with Microsoft Dynamics CRM users before you synchronize customers with Microsoft Dynamics CRM accounts. This setup is a bit fragile especially if the company has a high turnover of people in Sales.
Modifications to data in Microsoft Dynamics CRM that are performed by the Microsoft Dynamics CRM connection account are ignored. Therefore, it is recommended that you do not modify data by using the Microsoft Dynamics CRM connection account.
If you want to do a direct mapping of two fields that are not compatible or if you need to do any new formatting during the transfer, then you need a developer to develop additional rules in the 5341 codeunit, thus you cannot maintain these integrations yourself.
If you need specific synchronization rules that are not covered by the standard settings, then you also have to ask a developer to add these to the 5341 codeunit.
Microsoft Dynamics Connector or Data Integration Platform: which one to choose?
How is a data integration platform different and which solution is best for you? Third party tools come of course at an additional cost, but also with tremendous benefits, for example a faster implementation time, more data optimization features and more sophisticated logging and error handling. I’ve put together a 15-page handbook on the topic that I can recommend if you are looking at the different options to integrate Microsoft Dynamics NAV and CRM.
With over 25 years’ experience in strategically propelling businesses forward, Henning is considered a business development entrepreneur with a passion for transforming businesses, sales and marketing operations through out-of-the-box thinking, concepts building and process automation to improve overall performance and scalability.