Microsoft Dynamics CRM offers a native import wizard which allows you to import small, single files of data into an entity of your choice in CRM. It comes free with your purchase of CRM and offers an easy interface for creating a basic mapping of your fields. One cool feature includes the ability to create fields/entities/add option set values on import if they do not already exist in the target CRM. However, this tool can be very limiting for large imports. For more complex data migrations, at Beringer, we use a tool called Scribe from Scribe Software, which does come with an additional cost and requires an in-house server/laptop to install the tool or agent on. It is a more robust data migration and integration tool which allows flexibility in terms of mapping your data fields and retrieving data from various source types.
|CRM Native Import tool allows for basic field mappings:||Scribe allows for pre-defined functions and calculations on field mappings:|
In the chart below, the most common differences have been identified in features that we have found helpful when comparing the two tools:
|Feature||Native CRM Import Wizard||Scribe Software|
|Choosing your data source||Can only import a single file 8MB or less at a time. File types allowed include: XML Spreadsheet 2003 (.xml), .csv, .txt, and .zip||There is no data source size limit. It supports data imports from various source types such as: Microsoft SQL Server, ODBC, Text Files(e.g.: .txt, .csv), XML, it also includes adapters for various other CRM systems(e.g.: Salesforce, SalesLogix, Dynamics GP, Dynamics NAV, etc.)|
|Linking records together||Can only link records that have a 1:N relationship, where the lookup field exists on the entity you are importing data for. Can’t populate lookups using more than one field as the identifier (e.g.: The tool can’t find the Parent Customer of a Contact by using the Account Type field and Account Number field on Account)||Can link records regardless of relationship type and the tool will allow you to "seek" or "lookup" the related record by using an unlimited combination of fields for the unique identifier.|
|Updating existing records in CRM||In order to update records using the tool, you must first export them from a view or Advanced Find. You can then manually add the changes to the exported file and reimport into CRM.||Can update records straight from the tool to your target CRM by using one or many fields to identify the records for updating|
|Mapping entities and fields||Can only apply basic mapping to fields. Cannot apply calculations/logic to the mappings. You can manually map the fields or have the tool map automatically using a saved mapping file. The tool will also automatically map fields if your column headers in the source file have the same display name as a field on the target entity in CRM. If the entity/field/option set value you want to import your data to does not exist in the target CRM, the import tool can create it for you!||Can include pre-defined functions and calculations on your field-to-field mappings for data manipulation on import. Can also apply field-to-field value mapping from related entity to target entity.If the entity/field/option set value you want to import your data to does not exist in CRM, you must manually create them in CRM.|
|Choosing an import time||Not available – can only import on demand||Can schedule the imports to run at a specific time such as based on a datetime or when a file is dropped into a local folder.|
|Detecting duplicates||Can utilize native duplicate detection rules to prevent duplicate records from importing||Need to manually set up lookup mappings to prevent duplicate records from importing|
Most of the time, the native CRM import tool presents too many limitations for large data imports vs Scribe. However, if you have a limited budget, there are workarounds to some of the native import tools limitations. The following are some which we have commonly used:
- Scenario: You need to apply field-to-field value mapping from a parent entity to the child entity which you are importing, but the tool does not allow this. Workaround: Create a standard workflow that triggers on creation of your imported records to apply these field updates for you.
- Scenario: You need to import a child entity, such as Contact, and link it to a Parent Customer based on a unique identifier that uses a combination of two fields. Workaround: Create a hidden field on the Parent Customer entity. Then, create a standard workflow or utilize the imports update record feature to concatenate the two fields into the hidden field. When setting up your data mappings for importing the Contacts, utilize the hidden field you created on the Parent Customer to identify the record.
If you or your company would like additional information on these two tools or are looking for a partner to assist with your data imports, contact Beringer Associates today.