Salesforce Migration is the hard work. Nobody wants to leave valuable data about customers in the old system and start with the empty new system, so we need to migrate this data. Migrate data to Salesforce your business data is very critical and challenging job. Your team needs the right strategy to succeed.
Nearly every enterprise must go through this hectic data migration process at some point in migrating data to Salesforce. Common challenges that arise during a Salesforce data migration include underestimating a project’s complexity, poor planning and not setting aside enough resources. If not quickly addressed, these problems can lead to slow user adoption at best and major customer relationship issues at worst.
Enterprise resource planning (ERP) is defined as the ability to deliver an integrated suite of business applications. It’s a business process management software that manages and integrates a company’s financials, supply chain, operations, reporting, manufacturing and human resource activities
A legacy ERP is outdated computing software, hardware, method, technology that is still in use The system still meets the needs it was originally designed for, but doesn’t allow for growth.
There are a number of reasons your organisation might be reliant on older technologies or systems that don’t take full advantage of modern approaches.
Business-critical data may be stored and managed in ERP that are now outdated, but still in working order.
But the issues that may eventually arise include:
• Slow, lagging processes and lack of automation reduces a team’s productivity.
• Cost and risk of maintaining legacy systems running on obsolete technology.
• Growing skills gap when it comes to knowledge of working with legacy systems.
• Legacy systems are incompatible with the adoption of technology like AI and IoT.
Salesforce is a powerful platform, and much more than just a CRM – there’s Sales Cloud, Service Cloud, Marketing Cloud, Community Cloud and thousands of products on the AppExchange.
Data migration involves three steps:
Make Migration a Separate Project – In the software deployment checklist, data migration is not an “export and import” item handled by a clever “push one button”. While this might seem pretty straightforward, it involves a change in storage and database or application. It is a complex activity, deserving a separate project, approach, plan, budget and team. An entity level scope and plan must be created at the project’s beginning, ensuring no surprises. In the context of the ETL (Extract, Load and Load) process, any data migration will involve at least the transform and load steps. This means that extracted data needs to go through a series of functions in preparation, after which it can be loaded in to a target location.
This is not an easy decision, though. The approach must be agreed upon and communicated to all business and technical stakeholders so that everybody is aware of when and what data will appear in the new system.
Estimation – As described earlier, Data Migration is very complex activity which need resources, planning and modern tools. In many scenarios team needs to perform same task multiple time due to several environment specific errors. Estimation should also include the middleware software/tool license costing (e.g. Informatica Cloud Data Wizard, Jitterbit, SQL Servers etc.)
Below are the factors which needs to be considered when migrating data to Salesforce:
• Mapping of Objects – It signifies the number of tables need to migrate data to Salesforce. It is also advisable to check if Salesforce out-of-box objects can be used or custom objects needs to be created. Creating custom object is an additional development work and it may increase estimation.
• Mapping of Fields – The number of columns of table needs to map with Salesforce Object fields. More number of fields in a table, more will be the effort to map and load.
• Number of Lookup or Master-details fields – The most challenging part of data migration is to create/map correct parent child relationship. The more number of lookups/master-details fields, the more will be complexity of the data migration.
• Compatibility of Data – Compatibility of data includes the format of the fields/column. It is always advisable to check if Salesforce supports all the field formats available in legacy system. If not, need to check for the alternative ways which may require format conversion or data transformation. it increases effort and plays key role in estimation.
Quality of Data – Data quality in legacy system is one of the key factors in Data migration. Legacy systems may contain data from past which is not used or supported in current days e.g. old currencies, old address formats, old phone number formats etc. These data may not seem complex in the beginning, but can create issues when trying to map to Salesforce Object fields.
For example, in legacy system, there can be User records without email address but in Salesforce, email is mandatory to create a User.
Poor quality of data imposes a significant cost to post migration maintenance with issues ranging from poor business intelligence to delay or disruption in business processes. It is always advisable to refactor old data before planning to migrate data to Salesforce. And data which can not be refactored should be communicated to stockholders prior to data migration.
Automate the process – automation means less human interactions, which leads to lesser errors. Errors directly impact quality and integrity of the Data in destination system. Using modern ETL tools, such as Jitterbit, Informatica Cloud Data Wizard, Starfish ETL, Midas and the like, can reduce the effort, increase quality of data. Almost all modern ETL tools supports automation, where you can schedule the migration, transform the data of different formats and also do data clean-ups based on certain criteria.
Data migration may involve large number of data where rows can be in millions or more. It is almost impossible for a human being to do entire migration manually. It is also possible that Legacy system uses more than one data servers and data needs to be transformed before coming to Salesforce. To make data migration smooth and streamed line, Salesforce offers different APIs which can be used to build integration between ETL Tools and Salesforce. These ETL tools gives us flexibility to transform the data into a usable format, and load the data from all of these sources into Salesforce.
Data load may need to be done in different phases, and we have to repeat the same action multiple times. Making it automated, does not cost more effort. Automation gives us the flexibility to reuse the existing process such as data transformation, integration, clean-ups etc.
Data Selection – Data selection is the first and most important step in a migration process. In the preparation phase, you need to identify the data which needs to be migrated to Salesforce. Data needs to be identified for the business processes which you have built in Salesforce. For example, most information related to sales processes is likely to be stored in a Customer Relationship Management System tables. Ideally, Customer Service agents will be processing service tickets in the same system, but this will not always be the case. If Customer Service Teams do not work on the same system as Sales agents, some more business data will be found in the Customer Service tool they use. Other teams could be working with different tools too, so it is very important to identify which data is being used by which process or team and vice-versa.
You need to identify Salesforce objects which will store data from legacy system tables. Salesforce offers many out-of-box objects such as Account, Contact, Opportunity, Case, Task etc. You can utilize it if it fits to the business process. Or may create custom objects in Salesforce to store these data.
|Auto Number||A system-generated sequence number that uses a display format you define. The number is automatically incremented for each new record.|
|Formula||A read-only field that derives its value from a formula expression you define. The formula field is updated when any of the source fields change.|
|Roll-Up Summary||A read-only field that displays the sum, minimum, or maximum value of a field in a related list or the record count of all records listed in a related list.|
|Lookup Relationship||Creates a relationship that links this object to another object. The relationship field allows to click on a lookup icon to select a value from a popup list. The other object is the source of the values in the list.|
|External Lookup Relationship||Creates a relationship that links this object to an external object whose data is stored outside the Salesforce org.|
|Checkbox||Allows to select a True (checked) or False (unchecked) value.|
|Currency||Allows to enter a dollar or other currency amount and automatically formats the field as a currency amount. This can be useful if you export data to Excel or another spreadsheet.|
|Date||To enter a date or pick a date from a popup calendar.|
|Date/Time||To enter a date and time, or pick a date from a popup calendar. When users click a date in the popup, that date and the current time are entered into the Date/Time field.|
|To enter an email address, which is validated to ensure proper format. If this field is specified for a contact or lead, users can choose the address when clicking Send an Email. Note that custom email addresses cannot be used for mass emails.|
|Geolocation||To define locations. Includes latitude and longitude components, and can be used to calculate distance.|
|Number||To enter any number. Leading zeroes are removed.|
|Percent||To enter a percentage number, for example, ’10’ and automatically adds the percent sign to the number.|
|Phone||o enter any phone number. Automatically formats it as a phone number.|
|Picklist||To select a value from a list you define.|
|Picklist (Multi-Select)||To select multiple values from a list you define.|
|Text||To enter any combination of letters and numbers.|
|Text Area||Enter up to 255 characters on separate lines.|
|Text Area (Long)||Enter up to 131,072 characters on separate lines.|
|Text Area (Rich)||Formatted text, add images and links. Up to 131,072 characters on separate lines.|
|Time||Local time. For example, “2:40 PM”, “14:40”, “14:40:00”, and “14:40:50.600” are all valid times for this field.|
|URL||Website address. When users click on the field, the URL will open in a separate browser window.|
|Text (Encrypted)||Combination of letters and numbers and store them in encrypted form.|
Steps of Data Mapping – Following steps need to be performed for each table/object identified for data migration. Let’s use Accounts and their Contacts for example.
1. Get sample data from Legacy System. Data should be in Comma-Separated Values (CSV) format. Here we are using sample Account data from a Legacy System:
2. Map columns of the CSV with Salesforce Object fields. If field format doesn’t match system will automatically throw error. There are multiple tools which can be used to load data in Salesforce. E.g. – DataLoader, Workbecnh, Salesforce Import Export Wizard etc. Here is an example of data mapping using DataLoader.io.
3. Mapping between parent and child records using unique identifier – Child records need parent Salesforce record Id for its Lookup or Master-Details field. This can be done by getting both child and parent records in CSV, then load Account records in Salesforce, get their Salesforce Ids and map these Ids with Contact using V-Lookup. But we can do this more simply by loading Accounts with their unique Account Number field. This field can be used as a parent reference, so when loading Contacts, we simply use the Account Number as a pointer to the parent Account. To find and map the Parent record dynamically, we may use “Lookup via” functionality of DataLoader.io. Below are the example steps to dynamically get parent Account Salesforce record Id using Account Number (Unique):
Click Lookup via checkbox and choose field for mapping
DatalLoader will try to find exact matching account number and map Account ID field with related Account Record Id.
Once data has been transferred to Salesforce, you will need to ensure that all data has been transferred correctly, i.e. all data has been transferred with the correct format and relationships between the different objects are reflected accurately in Salesforce.
If the result of your Quality Assurance test is not successful, you will need to find in which phases errors happened. In some cases, you may need to iterate on the whole process.
There are several Salesforce features which may surprise you during Data migration. Below points need to be considered for a successful Data Migration:
3100 E 45th St,
We will reply to you within a day