How to Migrate from Excel to Salesforce: Complete Guide

How to Migrate from Excel to Salesforce: A 7-Step Playbook

Content

Written by: Doug Camplejohn, CEO & Co-Founder, Coffee | Last updated: September 2, 2026

Key Takeaways for Your Excel-to-Salesforce Migration

  • Migrating from Excel to Salesforce is a structured data project. Cleaning, mapping, and relationship handling prevent duplicates and orphaned records.
  • Prepare and standardize your Excel data first. Remove duplicates, normalize formats, and split combined fields before any import to reduce errors.
  • Choose the right Salesforce tool. Use Data Import Wizard for smaller, supported imports, and Data Loader for larger volumes or objects like Opportunities.
  • Load parent records such as Accounts before child records like Contacts and Opportunities. Use external IDs to preserve relationships.
  • Coffee automates contact, company, and activity capture from email and calendar, replacing manual CSV imports. See how Coffee automates the migration.

Why Excel-to-Salesforce Migration Requires a Structured Project

Excel is a flat file. Salesforce is a relational database. That structural difference drives most migration failures. A spreadsheet row might contain a company name, a contact name, a phone number, and a deal amount in one line. Salesforce separates those into distinct objects such as Accounts, Contacts, and Opportunities, linked by lookup relationships. Moving data between these two paradigms requires clear relationship design, careful deduplication, standardized formats, and deliberate field mapping.

Teams that treat the migration as a simple file upload often end up with orphaned Contacts that have no parent Account, duplicate records that split pipeline visibility, and corrupted field values that break reporting. One documented migration of 70,000 records that skipped deduplication, field mapping validation, and user acceptance testing resulted in 12,000 duplicate Accounts, 8,000 orphaned Contacts, and 3,200 Opportunities with amounts stored in cents instead of dollars. Cleanup took 6 weeks, 2 consultants, and $25,000. Treat the migration as a data project with clear phases such as preparation, tool selection, import, relationship handling, and validation to avoid that outcome.

Spreadsheet errors are common and non-trivial, and the cost of fixing a data quality issue grows at every stage it goes unchecked. The sections below walk through each phase of the migration lifecycle.

Step 1: Prepare and Clean Your Excel Data

Clean data forms the foundation of a successful migration. In almost every case, you should clean data before migrating to Salesforce because whatever you do not fix in the old system appears in the new one, and reps see the same duplicates and blank fields on day one. Work through this checklist before exporting a single CSV.

Step 2: Choose Your Import Tool for Salesforce

Salesforce provides two native tools for bulk data import. Your choice depends on record volume, the objects you plan to import, and whether you need automation. The most common migration mistake is choosing based on familiarity. The Import Wizard feels easier, so teams often start there and discover its limits mid-migration.

Tool Best For Record Limit Automation
Data Import Wizard One-time imports of Accounts, Contacts, Leads, Solutions, Campaign Members, and custom objects 50,000 records per import No scheduling, browser-based only
Data Loader Large volumes, all standard and custom objects including Opportunities, Cases, Tasks, and Events 5,000,000 records per operation CLI mode supports scripting and scheduling on Windows

A practical decision rule keeps the choice simple. If you are importing 20,000 Accounts and Contacts, the Wizard is sufficient. If you are importing 200,000 Opportunities, use Data Loader. The Data Import Wizard does not support Opportunities, Cases, or Tasks, which creates a common gotcha in Excel-to-Salesforce migrations. The Data Import Wizard includes built-in deduplication and validation checks, while Data Loader does not offer deduplication, so pre-import cleaning becomes even more critical when you use Data Loader.

Step 3: Import with the Data Import Wizard

For imports under the Wizard’s record limit of supported objects, the Data Import Wizard requires no software installation and handles basic duplicate detection natively. Follow these steps.

  1. Export your cleaned Excel data to CSV format using File > Save As > CSV (Comma Delimited).
  2. In Salesforce, go to Setup and search for “Data Import Wizard.”
  3. Select the object type, such as Accounts or Contacts.
  4. Choose “Add new records” to avoid overwriting existing data. Use “Add” rather than “Upsert” unless you are intentionally updating existing records.
  5. Upload your CSV file.
  6. Map your Excel columns to Salesforce fields. The Wizard auto-matches columns to standard fields based on header names. Manually assign any unlinked columns.
  7. Review the mapping and click “Start Import.”
  8. Check the notification email or bulk data job queue for success or error logs.

Step 4: Import with Data Loader for Large or Complex Jobs

For larger or more complex migrations, particularly those involving Opportunities or volumes above the Wizard’s cap, Data Loader is the correct tool. Data Loader connects via either the Bulk API, which is optimized for large datasets processed in batches, or the SOAP API, which works better for smaller, real-time operations.

  1. Install Data Loader, which requires the Java Runtime Environment.
  2. Authenticate via OAuth or username-password and select your Salesforce org.
  3. Prepare your CSV and configure the field mapping file, matching CSV column headers to Salesforce API field names.
  4. Run the Insert or Upsert operation depending on whether you are creating new records or updating existing ones.
  5. Review the success.csv and error.csv files generated after the job completes. Common errors include INVALID_FIELD, REQUIRED_FIELD_MISSING, FIELD_CUSTOM_VALIDATION_EXCEPTION, DUPLICATES_DETECTED, and INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST. Each error type has a specific cause and fix.

Data Loader does not bypass validation rules, duplicate rules, required fields, or automation because it uses Salesforce APIs and follows platform enforcement for the running user. Always clean your data and test in a sandbox before running against production.

Step 5: Handle Relationships Between Accounts, Contacts, and Opportunities

Relationship handling is the most technically demanding part of an Excel-to-Salesforce migration and a frequent source of orphaned records. Salesforce’s recommended object load order is Accounts first, then Contacts, then Opportunities. Loading Contacts before Accounts causes the Account lookup to fail and produces orphaned records that have no parent.

External IDs are the single highest-leverage decision in a Salesforce migration. Adding an external ID field to each object lets you upsert children against the parent’s external ID directly. This approach avoids a fragile two-pass Salesforce-ID capture and makes the load idempotent so you can re-run updates without creating duplicates. Follow this sequence.

  1. Create an External ID field on the Account object in Salesforce, such as Account_External_ID__c, and mark it as External ID and Unique.
  2. Populate those external IDs in your Excel data with the source system’s unique identifier for each account row.
  3. Import Accounts first, using Upsert with the external ID field as the match key.
  4. When importing Contacts, map the Account external ID field to the Account lookup relationship. Data Loader supports external ID lookups natively.
  5. Repeat for Opportunities, mapping both the Account and Contact external IDs to their respective lookup fields.

For child Accounts, load top-level parent Accounts first, then use the newly created Salesforce IDs to populate the Parent ID field before loading child Accounts. Self-referencing hierarchies require a second pass. Load all Accounts with ParentId blank, then run an update pass to set ParentId once every record exists.

Ready to skip the relationship mapping entirely? Let Coffee manage your Salesforce relationships. The AI agent automatically creates and links contacts, companies, and activities from your email and calendar, with no CSV required.

Step 6: Test and Validate Your Imported Salesforce Data

A load that reports “success” only proves the job ran. It does not confirm that data is correct. For every migrated object, compare the record count in Salesforce against a pre-migration source snapshot, with acceptable variance thresholds of ±1% for Contacts and Accounts and ±0.5% for Opportunities. Use this post-import checklist.

  1. Compare record counts in Salesforce to your source data per object. If counts for Contacts or Deals are more than 2% off, read the error log before opening the system to users.
  2. Spot-check 50 randomly selected migrated records, comparing them field-by-field against the source data to catch systematic errors such as a field mapped to the wrong column.
  3. Verify that relationships are intact. Run a SOQL query such as SELECT COUNT(Id), Account.Name FROM Contact WHERE AccountId != null GROUP BY Account.Name LIMIT 10 to ensure child records are correctly linked to parents. Contacts without Accounts should be zero unless you created them that way intentionally.
  4. Test automations such as workflow rules, flows, and validation rules that depend on imported data. If automations trigger on record creation, imported records may trigger all of them simultaneously. Check the automation activity log and suppress automations during bulk imports as standard practice.
  5. Check for duplicates using Salesforce’s duplicate rules before reps add new data.
  6. Review error logs and fix any failed records. Every row in the error log represents a record that did not import correctly. Common entries include “Record already exists,” “Invalid email format,” “Required field empty,” and “Value not in picklist.”

Always test in a sandbox before importing into production. “We will clean it up after” becomes one of the most expensive sentences in Salesforce because cleanup rarely happens.

Common Pitfalls in Excel-to-Salesforce Migrations

Even with careful preparation, certain mistakes recur across migrations. The following pitfalls account for the majority of failed Excel-to-Salesforce projects.

How Coffee Keeps Salesforce Data Clean After Migration

Completing the six steps gets your historical data into Salesforce, but the work does not end there. Every day, new emails, meetings, and leads generate data that must be captured, and that ongoing flow creates the real challenge. Someone still has to log calls, update contact records, capture new leads, and maintain relationship data. That burden falls back on sales reps, and 71% of sales reps already say they spend too much time on data entry, leaving only 35% of their time for selling.

Coffee is an AI-powered CRM Agent that removes that burden. When you connect Coffee to your Google Workspace or Microsoft 365, the agent automatically creates and updates contacts, companies, and activities from emails and calendars, eliminating manual entry, CSV imports, and field mapping. Coffee saves reps 8–12 hours per week and keeps data quality high.

GIF of Coffee platform where user is using AI to prep for a meeting with Coffee AI
Automated meeting prep with Coffee AI CRM Agent

For teams migrating from Excel, Coffee works in two modes. As a Standalone CRM, it replaces both Excel and Salesforce for small teams that want a modern, automated system of record without ongoing manual maintenance. As a Companion App on top of an existing Salesforce instance, it acts as an intelligent layer that handles the “data in” process. It automatically syncs contacts, enriches records with job titles, funding data, and LinkedIn profiles, and writes activity logs back to Salesforce without human effort.

Build people lists automatically with Coffee AI CRM Agent
Build people lists automatically with Coffee AI CRM Agent

Coffee also consolidates the tool stack. Instead of paying separately for enrichment tools such as ZoomInfo, conversation intelligence platforms such as Gong, and sales engagement tools such as Outreach, the Coffee Agent handles data enrichment, meeting briefings, automated follow-ups, and pipeline intelligence in a single platform with simple seat-based pricing.

Create instant meeting follow-up emails with the Coffee AI CRM agent
Create instant meeting follow-up emails with the Coffee AI CRM agent

Let Coffee handle your data entry so your team can focus on selling.

Frequently Asked Questions

How do I connect Excel to Salesforce?

The most common method uses CSV export and Salesforce’s native import tools. Export your Excel file to CSV format using File > Save As > CSV, then use the Data Import Wizard for imports under its record limit of standard objects like Accounts, Contacts, and Leads. Access the Wizard directly from Salesforce Setup with no software installation. For larger volumes or objects like Opportunities and Cases that the Wizard does not support, Data Loader is the appropriate tool. It requires a Java Runtime Environment and manual field mapping but handles up to 5 million records per operation. Third-party integration platforms and AI agents like Coffee can also automate this connection on an ongoing basis, removing the need for periodic CSV exports.

Does Salesforce integrate with Microsoft 365?

Salesforce integrates with Microsoft 365 through native connectors. Email and calendar sync work through Salesforce Inbox and the Salesforce Outlook integration. These connectors allow reps to log emails, create records, and view Salesforce data directly from Outlook. Third-party tools and AI agents like Coffee provide deeper integration. Coffee connects to Microsoft 365 and automatically creates contacts, logs activities, and enriches records from email and calendar data without any manual input from the rep.

Can I use Excel as a CRM?

Excel does not function as a suitable long-term CRM for a growing sales team. It lacks relationship management between objects such as accounts, contacts, and deals. It also lacks automation for follow-ups and routing, real-time collaboration without version conflicts, data integrity controls that prevent duplicate or invalid entries, and reporting that updates dynamically as data changes. As team size grows, spreadsheet errors accumulate and data silos form. Reps maintain their own versions, management loses visibility, and the “shadow CRM” problem emerges. A transition to a purpose-built CRM or an AI-powered agent like Coffee becomes necessary once manual coordination costs exceed the simplicity benefit of a spreadsheet.

What is the record limit for the Data Import Wizard?

The Data Import Wizard supports a maximum of 50,000 records per import. Files exceeding this limit are rejected immediately with an explicit error before any records are processed. The Wizard also supports only a limited set of objects: Accounts, Contacts, Leads, Solutions, Campaign Members, and custom objects. It does not support Opportunities, Cases, Tasks, or Events. For larger volumes or unsupported objects, use Data Loader, which supports all standard and custom objects and handles up to 5 million records per operation using the Bulk API.

How do I handle duplicates during migration?

Deduplication should happen in Excel before any data reaches Salesforce. Use Excel’s built-in Remove Duplicates function for exact matches. For near-duplicates such as “Jennifer Walsh at Acme Corp” and “Jen Walsh at Acme Corporation,” use fuzzy matching tools that score similarity rather than checking for identical strings. Normalize account names by stripping legal suffixes like Inc., Corp., and LLC, lowercasing, and removing punctuation before matching, because this step eliminates a large proportion of near-duplicates. Match your import file against an export of existing Salesforce records so that likely matches are updated instead of creating new duplicates. The Data Import Wizard includes built-in duplicate detection using Salesforce’s native matching rules. Data Loader does not, which makes pre-import deduplication mandatory when you use that tool. After import, enable Salesforce’s duplicate rules before reps begin adding new data to prevent future accumulation.

Conclusion: Make Migration a One-Time Project and Keep Data Clean

Migrating from Excel to Salesforce is a data project with five distinct phases. Clean your data, choose the right tool, import with care for object load order, preserve parent-child relationships using external IDs, and validate results systematically before opening the org to users. Skipping any phase compounds the cost of every subsequent one. The migration remains manageable for any RevOps lead or CRM administrator who follows the steps above, yet it only addresses the one-time migration.

Coffee’s AI CRM Agent addresses the ongoing work. By automatically capturing contacts, companies, activities, and deal updates from email and calendar data, Coffee keeps accurate data flowing into the system and reduces manual maintenance. Whether you need a Standalone CRM or a Companion App on top of Salesforce, the agent handles the data entry so your team can focus on selling and strategy.

Ready to skip manual data entry after migration? Let Coffee handle your ongoing CRM updates.

Read Next