Skip to content
MigrationFlagship

The complete guide to migrating from Excel to a CRM

The full checklist: cleaning your sheet, mapping columns, what to do with 200 rows of “maybe” leads, and the one import mistake that corrupts your pipeline for six months.

T
TatvaCRM Team
14 min readUpdated April 2026

1. Why Excel breaks at 500 contacts

Excel is brilliant for what it was built to do: calculations, quick lists, and one-person workflows. But when your contact list crosses 500 rows and more than one person edits it, things start falling apart.

Here are the problems we see in almost every Indian SMB that comes to us from a spreadsheet:

  • Duplicates everywhere. Ramesh adds “Priya Sharma, ABC Industries” while Neha already has “P. Sharma, ABC Ind.” Neither knows the other exists. By month six, 15-20% of your sheet is duplicates.
  • No activity history. You know Priya’s phone number. You do not know who called her last, what was discussed, or when the next follow-up is due. That context lives in someone’s head, WhatsApp, or a yellow sticky note.
  • Version conflicts. Ramesh downloads the sheet at 10 AM, edits offline, and uploads at 4 PM. Neha did the same. One set of changes is lost. Every time.
  • Formula errors compound silently. Someone accidentally deletes a VLOOKUP. The pipeline total is wrong for three weeks. Nobody notices until the monthly review.
  • No deal stages. A column called “Status” with values like “Hot”, “Warm”, “Maybe”, “Follow up”, “followup”, and “FU” (yes, we have seen this) is not a pipeline.
ℹ️ Note
The breakpoint is not a fixed number. It is the moment your team wastes more time maintaining the spreadsheet than it saves. For most teams, that is somewhere between 300 and 800 contacts.

2. Before you export: clean your data

Migrating dirty data into a CRM just gives you a dirty CRM. Spend an hour cleaning before you export. It will save you a week of fixing things later.

Remove duplicates

In Excel, select your data range, go to Data → Remove Duplicates, and pick the columns to match on. We recommend matching on phone number first (most reliable for Indian contacts), then email address.

Standardise phone numbers

Indian mobile numbers come in every possible format: 9876543210, 09876543210, +919876543210, 91-9876543210, and sometimes with spaces or dashes in random places. Pick one format and stick with it.

Tip
The international format +91XXXXXXXXXX (no spaces, no dashes) works best for CRM imports. It is also what WhatsApp Business uses internally, so your integrations will thank you later.

A quick formula to clean Indian mobile numbers in Excel:

Excel formula for phone cleanup
="+91"&RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"-","")," ",""),"+91",""),10)

Fix date formats

India uses DD/MM/YYYY. Most CRMs expect YYYY-MM-DD (ISO format) or MM/DD/YYYY (US format). If you do not convert before importing, 03/04/2024 could mean 3rd April or 4th March depending on which system reads it. Format your date columns explicitly before export.

Handle incomplete rows

You will find rows with a company name but no contact person, or a phone number with no name. Decide now: keep them, delete them, or move them to a separate “to-verify” sheet. Do not import them and hope for the best.

⚠️ Warning
Rows without at least a name and one contact method (email or phone) will create orphan records in your CRM. They clutter search results, inflate your record count, and make your dashboards unreliable.

3. Choosing what to migrate

The instinct is to migrate everything. Do not. Start with the data your team needs on day one, and bring the rest in later if you need it at all.

Priority 1: Active pipeline deals

Any deal that is currently being worked on. These are the contacts and companies your salespeople will look for on Monday morning. If they cannot find their active deals, they will lose trust in the CRM before lunchtime.

Priority 2: Key contacts

Contacts you have spoken to in the last 6 months. Anyone older than that is probably stale. You can import historical contacts later as a separate batch, clearly tagged as “historical” or “archive.”

Priority 3: Companies

Only import companies that have at least one associated contact. Importing a list of 2,000 company names with no contact person attached gives you 2,000 dead records.

ℹ️ Note
A good rule of thumb: if your Excel file has 3,000 rows, your first import to the CRM should be 300-500 rows. Active pipeline, recent contacts, and the companies they belong to. That is it.

4. The CSV export checklist

Before you hit “Save As → CSV” in Excel, go through this list:

  • Column headers in Row 1. Every column must have a clear, English header. “Name”, “Phone”, “Email”, “Company”. Not “Col A”, not blank, not a merged cell spanning three columns.
  • One row per record. No merged cells, no sub-tables inside cells, no multi-line entries within a single cell.
  • Save as UTF-8 CSV. This is critical if your data has Hindi names, regional language text, or special characters. In Excel: File → Save As → CSV UTF-8 (Comma delimited).
  • Remove all formulas. Copy the sheet, then Paste as Values. CSV files cannot store formulas, and they will export as errors or wrong values.
  • Remove colour-coding and conditional formatting. It will not survive the export. If you use colours to track status, add a “Status” text column instead.
  • Check for commas inside cells. A company name like “Kumar, Patel & Associates” will break CSV column alignment unless the cell is properly quoted. UTF-8 export handles this, but verify by opening the CSV in a text editor after export.
What a clean CSV file looks like
first_name,last_name,email,phone,company,deal_stage,deal_value
Priya,Sharma,priya@abcindustries.in,+919876543210,ABC Industries,Negotiation,500000
Rahul,Mehta,rahul.mehta@xyzgroup.com,+919123456789,XYZ Group,Proposal Sent,250000
Anita,Reddy,anita@greenvalley.co.in,+918765432190,Green Valley Exports,Discovery,150000

5. Mapping fields: Excel columns to CRM fields

This is where most of the actual work happens. Every column in your CSV needs to map to a field in the CRM. Here is what to expect:

Name splitting

If your Excel has a single “Name” column, you will need to split it into “First Name” and “Last Name” for most CRMs. In Excel:

Split full name into first and last name
First Name: =LEFT(A2, FIND(" ",A2)-1)
Last Name:  =MID(A2, FIND(" ",A2)+1, LEN(A2))
Tip
Indian names sometimes have three parts (Ravi Kumar Sharma). In those cases, use the first word as the first name and everything after the first space as the last name. The formula above handles this correctly.

Phone formatting

CRM phone fields typically accept digits, plus sign, and dashes. Strip everything else. If you have a “Landline” column and a “Mobile” column, map one to the primary phone field and the other to an alternate phone or custom field.

Email validation

Check for obvious errors before import: missing @ signs, .con instead of .com, spaces inside the address. A quick formula to flag invalid emails:

Flag invalid emails in Excel
=IF(AND(ISERROR(FIND(" ",A2)),ISNUMBER(FIND("@",A2)),ISNUMBER(FIND(".",A2))),"OK","CHECK")

Industry-specific custom fields

If your business tracks data that a generic CRM does not have fields for, you will need custom fields. Common examples for Indian SMBs:

  • PAN number — for financial services, advisory firms, and any B2B company that invoices
  • GSTIN — for manufacturing, trading, and distribution companies
  • Policy number — for insurance brokers and agents
  • Property ID / Plot number — for real estate brokers
  • Student batch / Year of admission — for education and coaching institutes
ℹ️ Note
TatvaCRM supports custom fields on the Professional plan and above. You can create them before importing, so the field exists when the CSV is mapped. Create your custom fields first, then do the import.

6. The import process step by step

With your clean CSV ready, here is what the actual import looks like in a modern CRM:

  1. Upload the CSV file. Navigate to Settings → Import in your CRM. Select the CSV. The system reads the headers automatically.
  2. Map columns. You will see your CSV column names on the left and CRM field names on the right. Match each one. Most CRMs auto-match common names like “Email” and “Phone.” Custom fields need manual mapping.
  3. Set default values. For fields not in your CSV (like “Lead Source” or “Owner”), set a default. Tag this batch as “Excel Import - April 2026” so you can identify these records later.
  4. Preview. Every good CRM shows you 5-10 sample records before committing. Check that names are in the right fields, phone numbers look correct, and dates parsed properly.
  5. Handle duplicates. The import tool should ask what to do when it finds a record with the same email or phone number. Options: skip the duplicate, update the existing record, or create both. Choose “skip” for your first import.
  6. Import. The system processes the file. A 500-row CSV takes a few seconds. You will get a summary: 487 imported, 8 skipped (duplicates), 5 errors.
  7. Review errors. Download the error report. Common issues: invalid email format, phone number too long, required field missing. Fix these in Excel and import the corrected rows as a second batch.

7. The one mistake everyone makes

Do NOT import all your data at once.

Every team that imports 3,000 records on day one regrets it within a week.

Here is what happens when you dump your entire Excel history into a CRM in one go:

  • Pipeline stages get corrupted. Old deals from 2022 marked as “Interested” show up in your active pipeline. Your pipeline value jumps to ₹2 crore, but ₹1.5 crore of it is dead deals nobody is working on.
  • Dashboards become useless. Conversion rates, average deal size, stage velocity — all the numbers are skewed by historical data that does not reflect current performance.
  • Search is cluttered. Your salespeople search for “Sharma” and get 47 results, 40 of which are from three years ago and irrelevant.
  • Team loses confidence. If the CRM feels broken on day one, your team will never trust it. They will go back to Excel within a month.
Tip
The right approach: Import a test batch of 50 records first. Check that fields mapped correctly, duplicates were handled, and the data looks right. Then import your active pipeline (300-500 records). Only after your team has been using the CRM for two weeks should you consider importing historical data, and even then, tag it clearly so it does not pollute your active pipeline.

8. Post-migration: first 48 hours

You have imported your data. Now what? The first 48 hours determine whether your team adopts the CRM or quietly goes back to the spreadsheet.

Hour 1-2: Verify the numbers

  • Record count in the CRM should match your CSV row count (minus errors and duplicates)
  • Spot-check 10 random records — open them, verify that every field has the right data
  • Search for a few contacts by name and by phone number — make sure search works

Hour 2-4: Check for duplicate creations

Even with duplicate detection, some may slip through (different phone formats, name variations). Search for your biggest clients by company name and check that each appears only once.

Hour 4-8: Assign owners and set up pipeline

  • Assign contacts and deals to the right team members
  • Create your pipeline stages (Discovery → Proposal → Negotiation → Won/Lost)
  • Move your imported deals into the correct stages
  • Set follow-up dates for active deals

Day 2: Team onboarding

  • Walk your team through the CRM for 30 minutes — not a training session, just “here is where your contacts are, here is how you log a call”
  • Make one rule: no more updates to the Excel file. If it is not in the CRM, it does not exist
  • Have each salesperson find five of their contacts and add one note to each. This builds muscle memory
⚠️ Warning
The biggest migration failure is not technical. It is cultural. If one senior salesperson keeps using Excel “just for backup,” the entire team will follow. Cut the cord cleanly.

9. When NOT to use CSV import

CSV import works well for simple, flat data. But there are situations where you need a different approach:

  • More than 10,000 records. Large imports can time out, and error handling becomes difficult. Ask your CRM provider about batch import or API-based migration.
  • Relationships between records. If you need contacts linked to companies linked to deals, a single CSV will not capture those relationships. You will need multiple imports in sequence (companies first, then contacts with company references, then deals).
  • Activity history. Call logs, email conversations, meeting notes — these typically cannot be imported via CSV. If preserving this history is critical, talk to the CRM’s support team about a guided migration.
  • Migrating from another CRM. If you are moving from Zoho, HubSpot, or Salesforce, the source CRM’s export format has its own quirks. Check our Zoho migration guide for a worked example.
  • Data in regional languages. If your contact data is primarily in Hindi, Gujarati, Tamil, or other Indian languages, verify that the CRM supports Unicode search and display before importing. Import 10 records as a test.
ℹ️ Note
TatvaCRM offers a free guided migration for teams with more than 5,000 records or complex data structures. Reach out via the contact page and we will set up a call to walk through your specific situation.

The short version

  1. Clean your Excel data first (duplicates, phone formats, dates)
  2. Only migrate active pipeline + recent contacts (not your entire history)
  3. Export as UTF-8 CSV with clear column headers
  4. Map fields carefully — especially name splits and phone formats
  5. Import a test batch of 50 records before doing the full import
  6. Verify counts, check duplicates, and assign owners in the first 48 hours
  7. Cut the cord on Excel — if it is not in the CRM, it does not exist

Ready to leave Excel behind?

Free forever. 2,000 records. CSV import included on every plan. No credit card.