Migration

How to Migrate from Salesforce to a New CRM (Step by Step)

Step-by-step guide to migrating from Salesforce. Export, clean, map, test, and import your data without losing contacts, deals, or activity history.

L
Laureo Team

Migrating from Salesforce to another CRM feels intimidating because Salesforce is complex and your data probably is too. Custom objects, formula fields, workflows, and years of activity history make the prospect of switching feel risky. But the actual process, when broken into steps, is manageable. Thousands of companies do it every year.

This guide walks through the complete migration process: what to export, how to clean your data, how to map fields, how to test before going live, and what pitfalls to avoid.

Before You Start: Take Inventory

The first step is understanding what you have in Salesforce and what you actually need in your new CRM.

What Typically Migrates

Standard objects:

  • Contacts: Names, emails, phone numbers, titles, addresses
  • Accounts: Company names, industry, size, addresses, domains
  • Opportunities: Deal names, stages, values, close dates, associated contacts
  • Leads: Unconverted leads with source, status, and contact information
  • Tasks and Events: Activity history linked to contacts and accounts

Custom data:

  • Custom fields: Any fields you added to standard objects
  • Custom objects: Any entirely new objects you created (e.g., Projects, Subscriptions, Installations)
  • Notes: Text notes attached to records
  • Attachments and Files: Documents uploaded to records

What Typically Does Not Migrate

Configuration, not data:

  • Workflow rules and process builder automations (you will rebuild these)
  • Validation rules
  • Formula fields (the field values can export, but the formulas themselves do not transfer)
  • Page layouts and record types
  • Apex code and triggers
  • Reports and dashboards (you will rebuild these)
  • Email templates (you will recreate these)

Platform-specific features:

  • Chatter conversations
  • Einstein AI models and predictions
  • Salesforce-specific integrations (these connect to Salesforce, not your data)

Be realistic about what needs to move. If you have 50 custom fields on the Contact object but only use 15 regularly, migrate the 15. This is an opportunity to clean up technical debt.

Step 1: Export Your Data from Salesforce

Salesforce offers several export methods depending on your data volume and technical comfort level.

Option A: Data Export Service (Simple)

Best for straightforward exports of standard objects.

  1. Go to Setup in Salesforce
  2. Search for Data Export in the Quick Find box
  3. Select Export Now or Schedule Export
  4. Choose the objects to include
  5. Salesforce generates CSV files and emails you a download link (this can take hours for large databases)

Limitation: The Data Export Service provides a bulk export of all records. You cannot filter or customize the export format. The CSV files can be very large.

Option B: Data Loader (Recommended)

Best for controlled exports with filters and specific fields.

  1. Download and install Salesforce Data Loader (free from Salesforce)
  2. Log in with your Salesforce credentials
  3. Select Export (or Export All to include archived and deleted records)
  4. Choose the object (Contacts, Accounts, Opportunities, etc.)
  5. Select specific fields to export
  6. Add filters if needed (e.g., only active accounts, only opportunities closed in the last 2 years)
  7. Choose the destination CSV file
  8. Execute the export

Advantages: You control exactly which fields and which records export. You can run multiple exports with different filters for different objects.

Option C: Reports

For smaller datasets or specific subsets, you can run a Salesforce report and export it to CSV.

  1. Create or open a report that includes the records you want
  2. Add all the fields you need as report columns
  3. Run the report
  4. Click Export and choose CSV format

Limitation: Reports have a row limit (up to 2,000 rows for direct export, though you can increase this with scheduled reports). Not practical for large databases.

What to Export and In What Order

Export in this order to maintain relationships:

  1. Accounts (Companies) first, because Contacts and Opportunities reference them
  2. Contacts second, with the Account Name or Account ID field included so you can link them to companies in the new CRM
  3. Opportunities third, with Account and Contact references
  4. Tasks and Events (Activities) fourth, with Contact, Account, and Opportunity references
  5. Custom objects last, with references to any related standard objects

For each export, include the Salesforce Record ID column. This unique identifier lets you map relationships between objects during import.

Step 2: Clean Your Data

This is the most important step and the one most people rush through. Dirty data in your old CRM becomes dirty data in your new CRM. Migration is the best time to clean up.

Remove Duplicates

Salesforce databases accumulate duplicates over years of use. Before importing into a new CRM:

  1. Sort your contact export by email address and identify duplicates
  2. Sort your account export by company name and identify duplicates (watch for variations like "Acme Inc" vs. "Acme, Inc." vs. "ACME")
  3. Decide which record to keep for each duplicate set (usually the one with the most complete data and most recent activity)
  4. Delete the duplicates from your export files

Remove Dead Data

Go through each export and remove:

  • Contacts with no email address and no phone number (unless they have significant activity history)
  • Contacts who have hard bounced on emails
  • Accounts with no associated contacts and no opportunities
  • Opportunities that have been "Closed Lost" for more than 2 years (unless you need them for historical reporting)
  • Test records, sample data, and sandbox artifacts

Standardize Formatting

Clean up inconsistencies that accumulated over time:

  • Phone numbers: Choose one format (e.g., +1-555-123-4567) and apply it to all records
  • Addresses: Standardize state abbreviations (CA vs. California), remove extra whitespace
  • Company names: Pick one format ("Acme Corporation" not "Acme Corp" or "acme corporation")
  • Job titles: Standardize common variations ("VP Sales" vs. "Vice President of Sales" vs. "VP, Sales")
  • Country names: Use consistent formatting ("United States" or "US" but not both)

Audit Custom Fields

For each custom field, ask: Are we actually using this in the new CRM? If a custom field has data in fewer than 10% of records and is not required for reporting or workflow, consider dropping it. You can always add it back later.

Step 3: Map Fields to Your New CRM

Create a mapping document that specifies how each Salesforce field translates to the new CRM's field structure.

Standard Fields

Most standard fields map directly:

Salesforce FieldCommon CRM Field
First NameFirst Name
Last NameLast Name
EmailEmail
PhonePhone
TitleJob Title
Account NameCompany
Mailing AddressAddress
Lead SourceSource
Opportunity NameDeal Name
StagePipeline Stage
AmountDeal Value
Close DateExpected Close Date
OwnerAssigned To

Custom Fields

For each Salesforce custom field you want to migrate, determine:

  1. Does the new CRM have an equivalent standard field? (Use it instead of creating a custom field)
  2. Do you need to create a custom field in the new CRM? (Do this before importing)
  3. Does the field type match? (A Salesforce picklist may map to a dropdown, text field, or tag in the new CRM)

Pipeline Stage Mapping

Your Salesforce opportunity stages will not match the new CRM's default stages exactly. Create a stage mapping:

Salesforce StageNew CRM Stage
ProspectingLead
QualificationQualified
Needs AnalysisDiscovery
Value PropositionProposal
NegotiationNegotiation
Closed WonWon
Closed LostLost

If you have custom stages in Salesforce, create the equivalent stages in your new CRM before importing.

Step 4: Test with a Small Batch

Never import your entire database on the first attempt. Test with a small, representative sample first.

How to Test

  1. Take 50 to 100 records from each object (contacts, companies, opportunities)
  2. Choose records that represent your full data diversity: some with custom fields filled, some with activity history, some with attachments, some linked to opportunities
  3. Import the test batch into the new CRM
  4. Verify each field mapped correctly
  5. Check that relationships work (contacts linked to the right companies, opportunities linked to the right contacts)
  6. Look for data formatting issues (dates in the wrong format, phone numbers truncated, special characters corrupted)
  7. Fix any mapping issues in your field mapping document
  8. Delete the test records
  9. Re-import with the corrected mapping
  10. Verify again

This test-fix-retest cycle typically takes 2 to 3 iterations before the mapping is clean.

Step 5: Run the Full Import

Once your test batch imports cleanly, run the full import.

Import Order

Import in the same order you exported:

  1. Companies (Accounts) first
  2. Contacts second, linking them to companies by company name or an external ID
  3. Opportunities third, linking them to companies and contacts
  4. Activities fourth, linking them to contacts, companies, and opportunities
  5. Custom objects last

After Import Verification

After each object import, verify:

  • Record count matches your cleaned export (minus intentional exclusions)
  • A random sample of 20 to 30 records has correct field values
  • Relationships are intact (contacts belong to the right companies)
  • Custom fields populated correctly
  • Pipeline stages mapped correctly for opportunities

Common Pitfalls and How to Avoid Them

Formula Fields Export as Values, Not Formulas

If you have formula fields in Salesforce (e.g., a field that calculates "Days Since Last Activity"), the export will contain the calculated value at the time of export, not the formula. You will need to either:

  • Create a similar formula or calculated field in the new CRM
  • Accept that the historical calculated values are snapshots, not live calculations

Attachments and Files Have Limits

Salesforce stores files in ContentDocument and Attachment objects. Exporting these requires the Salesforce API or Data Loader (not the standard Data Export Service). Large file volumes can take significant time to download.

Most CRMs have file size limits on imports. Check your new CRM's attachment limits before attempting to migrate files. For large file volumes, consider whether all attachments need to migrate or if you can keep a Salesforce archive for historical files.

Custom Object Relationships Are Complex

If you have custom objects with lookup or master-detail relationships to standard objects, the import order matters. You need to import the parent object first, then the child object with references to the parent. This can require multiple passes and careful ID mapping.

Activity History May Be Limited

Salesforce tracks activities (calls, emails, tasks, events) extensively. Exporting a full activity history can produce very large files. Consider whether you need all historical activities or just the last 6 to 12 months.

User References Need Mapping

Salesforce records include Owner IDs that reference Salesforce user accounts. When importing to a new CRM, you need to map these to user accounts in the new system. Create a user mapping table before importing.

Using Laureo's Import Tools

Laureo supports CSV import with smart field mapping for contacts, companies, and opportunities. The import process:

  1. Upload your cleaned CSV file
  2. Laureo analyzes the column headers and suggests field mappings
  3. Review and adjust the mappings
  4. Preview a sample of records before committing
  5. Run the import
  6. Review the import summary for any errors or skipped records

For large migrations (tens of thousands of records), import in batches of 5,000 to 10,000 records to keep the process manageable and allow for verification between batches.

Timeline Expectations

A typical Salesforce migration for a small to mid-sized business takes:

  • Planning and inventory: 1 to 2 days
  • Export: 1 day
  • Data cleaning: 2 to 5 days (this is where most time is spent)
  • Field mapping: 1 day
  • Test imports and fixes: 2 to 3 days
  • Full import: 1 day
  • Verification and cleanup: 1 to 2 days
  • Total: 1 to 2 weeks

For larger organizations with custom objects, complex relationships, and years of activity history, plan for 3 to 4 weeks.

The Bottom Line

Migrating from Salesforce is a project, not a button click. But it is a manageable project with a clear sequence of steps. The key is investing time in data cleaning before you import (not after), testing with small batches before committing, and verifying relationships after each import phase.

The migration itself is temporary. The benefit of moving to a simpler, more affordable CRM that your team actually uses is permanent. Plan the migration carefully, execute it methodically, and you will be fully operational in your new system within two weeks.

Salesforcedata migrationimport

See the full comparison

Compare Laureo and Salesforce side by side on features, pricing, and more.

Laureo vs Salesforce

Explore Related Features

Dive deeper into the tools mentioned in this article.

Ready to grow your business?

Start your 14-day free trial and see how Laureo can transform your sales process.

14-day free trial. Cancel anytime.