Dynamics CRM and AX – Integrated Together
Your CRM and ERP systems don’t have to be their own silos – with the Connector for Microsoft Dynamics, you can connect your Dynamics CRM data to Dynamics AX, GP or NAV. This gives you the ability to have visibility to your CRM customers in AX and your orders in CRM. I discussed in an earlier blog article about which tool you should use for sales, so this article assumes you made the decision to put CRM and AX together.
Microsoft Dynamics CRM 2015 just came out, as did Dynamics AX 2012 R2 CU8 and both are available to be connected via the latest version of the Connector. Let’s go through the steps to get them connected. These instructions are assuming you are using CRM 2013 Online or higher.
Installing the Connector
- First things first – you need the software. It’s available at no charge for customers who have access to CustomerSource. You can download the software directly from the Connector page on CustomerSource: https://mbs.microsoft.com/customersource/northamerica/Connector
- Determine where you want to install the Connector – depending on integration traffic, you may want to put it on a separate machine within the same network as your AX instance. If you have minimal traffic, you can likely put it on your AX box. Talk to your partner or technical specialist about the expected load for their opinion.
- Download the latest version of the Connector Tool which, as of this writing, is 3.4.304.1 or V3 CU4.
- If you don’t have it already, you need .NET Framework 4.5.2. Install that before the Connector Tool.
- If you are on Dynamics AX 2012 R2 CU6 or earlier, you’ll need to download and install an XPO into your Dynamics AX instance, so grab that while you’re on CustomerSource.
- Install the Connector which places a new database (default MSDI) into your system. The Connector now supports SQL Server 2014.
Configuring the Connector
Installing the Connector is the easy part – here comes the fun:
- When you open the Connector, you’ll see there are options to set up 4 different adapters. You’ll need 2 of them to make this work. Let’s set up the Dynamics AX 2012 and CRM 2011 (or later) adapters.
- For the Dynamics AX adapter, click on that option on the left side of the screen. Enter the AOS Server Name, the document and services port and your integration account with domain, username and password. Test the settings to make sure they work, then click “Apply”
- If you want to set up more integrations than the default, you’ll want to click the “Configure Microsoft Dynamics AX 2012” utility. In that utility, additional document services are exposed that you can use when you create a new map (integration field mapping). If you want to use the Project integration, you’ll want to configure those document services.
- Before you set up the Dynamics CRM adapter, make sure you have a service account set up in Dynamics CRM that has the System Customizer role (not the System Administrator role).
- For the Dynamics CRM adapter, click on Microsoft Dynamics CRM 2011 on the left if you are on CRM 2011 or higher or Dynamics CRM Online. Enter the username (with domain) for the integration account you just set up and its password. For the Discovery Service, go to your Dynamics CRM instance and navigate to Settings > Customizations and click on the Developer Resources tab. Under there, you’ll see a few different service locations, copy the URL to the Discovery Service and paste it into the Adapter setup. Click Test Settings to make sure it works and click “Apply”
- Before this will work, you’ll need to click the “Configure Microsoft Dynamics CRM” utility. It will run through a number of steps including deploying a Solution to your Dynamics CRM instance. (It’s nice that it does that without you having to do it manually). Don’t be alarmed if you get a few errors during the process – they haven’t presented a problem for me in the past.
Building an Integration
You’ll find out pretty quickly if the configuration didn’t work – when you click “New Integration” you’ll see a drop-down for the Application 1 and Application 2 and Dynamics AX and Dynamics CRM should be available in those drop-downs. If they aren’t, the adapter wasn’t fully set up.
- Click on New Integration and I recommend you choose “From template” and Dynamics AX 2012/Dynamics CRM 2011. Choose Dynamics AX 2012 as Application 1 and choose the Company you want to integrate. Choose Dynamics CRM 2011 as Application 2 and the Company you want to integrate.
- Note – you have to build an integration between each separate combination of companies you want to integrate
- The default integrations are now set up and will look like this:
- You’ll notice all of the Maps have a status of “Inactive”. No integrations are turned on by default, so you can choose which ones you want to configure. You’ll also notice that the default is to have it run every 45 seconds. This is all configurable.
Let’s Run an Integration
Now that we have all the building blocks in place, we have a few more steps to go through to make the integration work. In this illustration, I’m going to show how to integrate an Account from CRM to AX without any customized fields (baby steps).
- The first thing you need to do is turn on the Map that integrates Enumerated Values to Picklists. Click to Activate it and click Save. You can confirm it ran by clicking the “View log for this map”. You only need to run this once.
- Next you need to integrate your users between the two systems. To do this, you need to activate the “Employees Service to ERP System User” as that will port the AX users into CRM and allow you to associate a CRM user with an AX user. Turn that on and set the appropriate frequency (I think that one can run less often unless you immediately need to activate the integration when a new employee is entered into AX.)
- Once you’ve run that map, you’ll need to go into Dynamics CRM and look at the User record where there will be a new field called “ERP System User”. For each CRM user, you’ll need to select the appropriate ERP System User to have the data flow over to AX as that particular user. If you want, you could map everything over to one ERP system user if you’re not concerned about the CRM source user when you get to AX.
- Next you’ll need to map unit schedules and unit groups, currencies, items and products through similar steps to what was done above.
- OK – we’re finally ready to integrate customers. Click on “Account to Customer Service” and click Active. I left the other defaults the same including all of the field mappings.
- CRM accounts don’t automatically flow over to AX – you actually need to “Submit” them into the queue where they get picked up and moved over.
- In CRM, I am selecting an account and making sure I have the new “Category” field completed. Once the account looks the way I’d like, I click on “Submit” so it’s queued to go into AX.
If your goal is to keep the leads, opportunities, customers and contacts in CRM, the default mapping will be a good solution. The default mapping is set up to make your CRM system the Informational/Sales system and your AX system to be the Transactional/Invoicing system. Because of that the Quote entity doesn’t integrate by default, so the transition in the sales process happens at Order time. Orders have a two way integration between Dynamics CRM and Dynamics AX and invoices are integrated back from AX to CRM. When AX2012 R2CU7 came out, they added an integration between CRM and AX at the project level, so if you’re a professional services company, that option may be something you want to take advantage of.
If you’d like to make customizations at the field level on the mapped entity, those changes are pretty straight-forward. On the maps, you select the field from the source system and map it to the new system. This applies to out-of-the-box attributes as well as custom attributes you may create. These changes can be done by system analysts.
If you’d like to make new entities or record types available between the two systems, you’ll need to do mapping between your CRM system and a custom service from Dynamics AX. This is more complicated as you will need knowledge of how to configure a service in AX to expose the fields to the Connector. Honestly, it’s very straight-forward on the CRM side, but you will need a technical/development resource to assist with the service creation on the Dynamics AX side. Once you’re able to connect the CRM entity to the AX service, the mapping process is similar to what it would take to do to map attributes of existing, mapped entities.
There is a lot more you can read about how to get the integration running. Here’s a list of what I find to be the best resources available:
- Connector blog: http://blogs.msdn.com/b/dynamicsconnector/
- Connector website on CustomerSource: https://mbs.microsoft.com/customersource/northamerica/Connector
- Connector for AX Configuration Guide (whitepaper): http://download.microsoft.com/download/C/A/6/CA6BC295-1326-4809-BC78-866DEB3F4A33/MSDynConnectorAXconfig.pdf
- Connecting to a Custom Service: http://blogs.msdn.com/b/dynamicsconnector/archive/2013/05/10/customizing-a-microsoft-dynamics-ax-2012-and-microsoft-dynamics-crm-2011-integration.aspx
- Resource Page: https://community.dynamics.com/ax/b/axresources/archive/2012/07/02/resource-page-for-crm-connector-in-microsoft-dynamics-ax-2012.aspx
- Videos (these are from 2012):
- Case Study on Heritage Bag: http://www.microsoft.com/en-us/dynamics/customer-success-stories-detail.aspx?casestudyid=710000003090
Best of luck with your CRM to AX integration – let us know if we can be of any help.