Home > CRM, CRM iPhone, CRM Mobile, Data Migration, Javista, Microsoft, Microsoft Dynamics, Microsoft Dynamics CRM Online, Tips and Tricks, Workflow > Importing Data from Salesforce.com to Microsoft Dynamics CRM Online – Part 2

Importing Data from Salesforce.com to Microsoft Dynamics CRM Online – Part 2

Welcome back, to the second part in series of Importing data from Salesfore.com. In this post I will take you deeper into the mapping details of the two Salesforce.com maps, which I introduced in my earlier post.

The out of box Salesforce.com Maps, map 18 record types from Salesforce.com to the corresponding record types in MSCRM. The table below lists the names of these 18 record types as well as their mapping details. It also gives you details of some of the known things which you will observe during Import.

The following table lists the record types that are included in the default Salesforce.com data map.

No. Salesforce.com Record Type Microsoft Dynamics CRM Online Record Type Limitations
1 Task Task (task) In Salesforce.com Tasks records, the WhatID column refers to Solution or Product2. But in Microsoft Dynamics CRM, a task cannot refer to a Kbarticle(Solution) or Product(Product2). Thus, the Task.csv records referring (through “WhatId” column) to Solution.csv or Product2.csv files are not imported, and are shown as failure ‘The lookup reference could not be resolved.’ in the Imports grid.
2 Contact Contact (contact) None
3 Opportunity Opportunity (opportunity) All opportunity records imported in Microsoft Dynamics CRM using the default Salesforce.com data map are created with the Revenue field set to ‘user calculated’.

This is done so that the data from the Expected Revenue column of Oppurtunity.csv is correctly imported into Microsoft Dynamics CRM.

4 Account Account (account) None
5 Campaign Campaign (campaign) During the Import, the Salesforce.com map performs the following conversions to the data in the Status column:

Status before import State/Status after import
In Progress Active/Ready to Launch
Planned Active/Proposed
Aborted Active/Canceled
Completed Active/Completed

 

After the import is complete, you can manually change the state/status of these imported campaign records if you want.

6 Case Case (incident) In Microsoft Dynamics CRM Online, all cases refer to a subject. The default Salesforce.com data map uses Assign transformation to automatically populate the Subject field in the Microsoft Dynamics CRM Online case record.

After importing data, once you have developed your subject hierarchy in Microsoft Dynamics CRM, you might want to update these values.

Or, if you prefer to create subjects prior to importing the cases, you will need to remove the transformation for Subject from the default data map.

Case records with Closed status are always imported with an Active state and an InProgress status.

During the Import, the Salesforce.com map performs the following conversions to the data in the Status column:

Status before import State/Status after import
On Hold Active/On Hold
Escalated Active/Researching
Closed Active/In Progress
New Active/InProgress

 

After the import is complete, you can manually change the state/status of these imported case records if you want.

7 Lead Lead (lead) In Microsoft Dynamics CRM Online, all Lead records must have a Topic. Salesforce.com data does not use a Lead topic. The default Salesforce.com data map uses the Concatenate transformation to automatically populate the Topic field in the Microsoft Dynamics CRM Online Lead record type by concatenating the FirstName and LastName columns of the record in Salesforce.com.

During the Import, the Salesforce.com map performs the following conversions to the data in the Status column:

Status before import State/Status after import
Open Open/New
Unqualified Disqualified/Lost
Contacted Open/New
Qualified Qualified/Qualified

 

After the import is complete, you can manually change the state/status of these imported lead records if you want.

8 Contract Contract (contract) In Microsoft Dynamics CRM, all contracts use a contract template. Salesforce.com does not use contract templates. The default data map uses an Assign transformation to automatically populate the Template field in the Microsoft Dynamics CRM contract record with the default “Service” contract template.

After importing data, once you have developed your own contract templates in Microsoft Dynamics CRM, you might want to update the contract template values in the imported records.

Or, if you prefer to create contract templates prior to importing the contracts, you will need to remove the transformation for contract template from the default data map.

In Microsoft Dynamics CRM, all contracts must have a date in the Contract End Date (expireson) field. This is not required in Salesforce.com. The default data map automatically creates an end date by using the Add to Date transformation to map the sum of the contract start date and contract term source columns to the Contract End Date (expireson) field.

During the Import, the Salesforce.com map performs the following conversions to the data in the Status column:

Status before import State/Status after import
Activated Draft/Draft
In Approval Process Draft/Draft
Draft Draft/Draft

 

After the import is complete, you can manually change the state/status of these imported contract records if you want.

9 Event Appointment (appointment) In Salesforce, the event records refer to Solution or Product2 or Campaign using WhatId. But Microsoft Dynamics CRM does not support an Appointment (Event) to refer to a Kbarticle(Solution) or Product(Product2) or Campaign. Thus, Event.csv records that refer (through “WhatId” column) to Solution.csv or Product2.csv or Campaign.csv file will not be imported, and these will be shown as failure “The lookup reference could not be resolved.” in the imports grid

The Salesforce.com map for full-data export uses the following AddToDate transformation to calculate the Start and End date of the Event:

End Date Time = ActivityDate + ActivityDateTime + DurationInMinutes

Start Date Time = ActivityDate + ActivityDateTime

The Salesforce.com map for report export uses:-

End Date Time = Start + Duration (minutes)

This is done because in Microsoft Dynamics CRM, the End date is a required field, but in Salesforce.com there is no corresponding End date field.

10 Pricebook2 Price List (pricelevel) In Microsoft Dynamics CRM, the name of the Price List must be unique. Salesforce.com allows multiple records in Pricebook2 to have the same name. Edit your source Pricebook2 data to provide unique values in the Name column.
11 Solution Article (kbarticle) In Microsoft Dynamics CRM Online, all articles refer to a subject . The default data map uses two Assign transformations to automatically populate the Subject and Template fields in the Microsoft Dynamics CRM Online article record.

After importing data, once you have developed your subject hierarchy and article templates in Microsoft Dynamics CRM Online, you might want to update these values.

Or, if you prefer to create subjects and templates prior to importing the articles, you will need to remove the transformation for Subject and Template from the default data map.

During the Import, the Salesforce.com map performs the following conversions to the data in the Status column,

Status before import Status after import
Duplicate Unapproved
Draft Draft
Reviewed Published

 

12 Product2 Product (product) In Microsoft Dynamics CRM, all product references also need Unit Group, Unit, and Decimals Supported values. Salesforce.com does not use these values in Product2. The default data map uses Assign transformations to automatically populate the Unit value in each Microsoft Dynamics CRM Product record with the default values “Primary Unit”, the Unit Group value with “Default Unit”, and the Decimals Supported value with “1”.

After importing data, once you have developed your own unit records in Microsoft Dynamics CRM, you might want to update these values in the imported records.

Or, if you prefer to create unit records prior to importing the Product2 records, you will need to remove the transformation for units from the default data map.

13 PriceBookEntry Price List Item (productpricelevel) In Microsoft Dynamics CRM Online, all Price List Item references also need Unit values. Salesforce.com does not use these values in PriceBookEntry records. The default data map uses an Assign transformation to automatically populate the Unit values in each Microsoft Dynamics CRM Online Price List Item record with the default value “Primary Unit”.

After importing data, once you have developed your own unit records in Microsoft Dynamics CRM Online, you might want to update these values in the imported records.

Or, if you prefer to create unit records prior to importing the PriceBookEntry records, you will need to remove the transformation for unit from the default data map.

Microsoft Dynamics CRM Online price list items include a required field, Quantity Selling Option. This field defines the type of quantities in which the product is sold. By default, the values are No Control, Whole, Whole and Fractional. For example, if you are selling an item that can’t be sold in fractions, such as a digital camera, you would set this option to Whole. If you are selling something like fabric, which can be sold in yards or fractions of a yard, you would set this option to Whole and Fractional. Or, if you don’t want to enforce this, you can set it to No Control.

Salesforce does not have an equivalent field in PriceBookEntry. You need to create a source column in the PriceBookEntry source file called “quantitysellingcode”. Each row needs to be populated with a valid value from Microsoft Dynamics CRM Online. If you prefer different values, you need to customize the Price List Item entity in Microsoft Dynamics CRM Online before importing your data.

When you run the Import Data Wizard or manually edit the data map, map your new column to the Microsoft Dynamics CRM Online Quantity Selling Option field.

14 Note Note (annotation) None
15 User User (systemuser) None
16 Attachment Note (annotation) In Salesforce.com, Solution records can have attachments associated with them. But Microsoft Dynamics CRM does not allow KbArticles (Solution) to to be associated with attachments. Hence Attachment.csv records referring to Solution.csv file will not get imported, and these will be shown as failure “The lookup reference could not be resolved.” in the Imports grid.
17 CaseComment Note (annotation) In the default Salesforce.com map, the Idea.csv is set to Ignored. Thus, if you use the Saleforce.com map, any records in CaseComment.csv that are referring (through “ParentId” column) to Idea.csv file will not get imported, and these will be shown as failure “The lookup reference could not be resolved.” in the Imports grid.
18 Asset Asset (create a new custom entity in Microsoft Dynamics CRM) The Salesforce.com map creates new custom fields for some of the columns and ignores the rest. Because data in any column that are set to be ignored is not imported, we suggest that you review the mappings.

 

Additionally there are some Salesforce.com record types which are not included in the OOB Salesforce.com Maps, but you can import them by doing the steps outlined below:-

The following record types can be migrated but are not included in the data map created for Salesforce.com data files. See the specific instructions for each record type you want to migrate.

Salesforce.com Record Type Required Preparation
Partner There is no separate record type in MSCRM for Partner. If you need to import partner records, you need to map it to Account:

1. Prepare your partner file. It should have a Relationship Type field, with the value for each record set to “Partner”.

2. In the Import Data Wizard, map this file to the Microsoft Dynamics CRM Online Account record type.

Approval If you need to import approval records, use the Import Data wizard to create a custom Approval record type.
CampaignMember In Salesforce.com, this record type includes both lead and contact records. In Microsoft Dynamics CRM, for each marketing list, marketing list members can only contain one type of record: leads, contacts, or accounts.

You have several options: split your source CampaignMember.csv file into two files: one containing all lead records, and one containing all contact records. In Microsoft Dynamics CRM, for each Salesforce.com campaign that includes leads and contacts, set up two marketing lists. Edit the source data or create a transformation so that each source record maps to a marketing list. Use the Import Data Wizard to map the new source files to the Marketing List Members record type.

CaseSolution If you need to import CaseSolution records, use the Import Data Wizard to create a custom CaseSolution record type.
Idea If you need to import Idea records, use the Import Data Wizard to create a custom record type.
IdeaComment If you need to import IdeaComment records, use the Import Data Wizard to create a custom Idea record type.
OpportunityLineItem If you need to import OpportunityLineItem records, you can map it to Opportunity Product in Microsoft Dynamics CRM Online. However, you must edit your source file and add a new column for Product reference because Opportunity Product in Microsoft Dynamics CRM Online requires a Product reference. You can get the correct Product references using the PriceBookEntry.csv. Sales Force uses multi level reference. OpportunityLineItem.csv has reference to PriceBookEntry.csv, which has reference to Product.csv. But Microsoft Dynamics CRM Online has only a single level of reference from Opportunity Product to Product.
OrgWideEmailAddress If you need to import OrgWideEmailAddress records, use the Import Data Wizard to create a custom record type.
Document If you need to import Document records, use the Import Data Wizard to create a custom record type.
Entities that Use N:N Relationships:

Partner

OpportunityContactRole

AccountContactRole

ContractContactRole

UserRole

CaseContactRole

OpportunityCompetitor

CaseHistory

CaseHistory2

OpportunityHistory

The Import Data Wizard cannot create custom record types with N:N relationships. If you need to import data to these record types, you must create these record types in Microsoft Dynamics CRM Online and set up the N:N relationships, and then import data to them.

 

Apart from this, there are Salesforce.com record types which are not recommended for Import in MSCRM:-

The following source files are created when you back up Salesforce.com data. We recommend not importing these source files to Microsoft Dynamics CRM Online.

Salesforce.com Record Type Purpose How Handled in Microsoft Dynamics CRM Online
BusinessProcess Tracks business processes. Business processes must be created using workflow in Microsoft Dynamics CRM Online.
EntityHistory Tracks history of changes to entities. This is not tracked by default in Microsoft Dynamics CRM Online.
FieldHistory Tracks history of changes to attributes. This is not tracked by default in Microsoft Dynamics CRM Online.
EmailRoutingAddress Stores information about how to convert incoming e-mail messages to cases. In Microsoft Dynamics CRM Online, this is a per-user setting set in Tools/Personal Options in Microsoft Dynamics CRM Online for Outlook.
FiscalYearSettings, Period Stores information about the fiscal year of the organization. To define the fiscal year in Microsoft Dynamics CRM Online, in Settings, click Business Management, and then click Fiscal Year Settings.
RecordType This stores information about record types. This is used in Salesforce.com to control how the user interface is displayed. To customize the user interace in Microsoft Dynamics CRM Online, in Settings, click Customize Entities.

 

I guess you might have already tried using the powerful MSCRM Data Import functionality. And this blog post will help you to further understand the mappings between your Salesforce.com source files and MSCRM entities.

In the next blog I will cover some more specific scenarios of Importing data from Salesforce.com. Till then enjoy the productivity with simplicity offered by MSCRM. And Stay Tuned!!

Nitin Mukhija

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: