Move from Excel to CRM: A Consultancy Migration Plan
A practical plan to move from Excel to CRM for study-abroad consultancies: audit columns, clean phone numbers, import in batches, run parallel and train.
Many consultancies begin with a master Excel file or a shared Google Sheet, while the real work happens on five or six WhatsApp numbers. That works until a second branch opens, a counsellor leaves with half the context on her phone, and nobody can say how many students are waiting on an offer letter. That is usually when owners decide to move from Excel to CRM.
Migrations rarely fail because of the software; they fail because of the data and habits you carry across. Here is the plan we would follow for a study-abroad or admissions team of 5 to 50 counsellors, whichever CRM you choose.
Key takeaways
- Agree your pipeline stages and statuses before importing. Messy "Remarks" columns get mapped, not copied.
- The phone number is your duplicate key. Put every number in international format (+91…) before the first upload.
- Import universities and courses first, then leads, starting with a small pilot batch.
- Run the sheet and the CRM side by side for one week under strict rules, then freeze the sheet.
- Train each role on its own day's work, and measure adoption weekly for a month.
The migration plan at a glance
| Step | What you do | Owner | Suggested timing |
|---|---|---|---|
| 1. Audit | List every sheet, column and WhatsApp number | Operations lead | Week 1 |
| 2. Pipeline | Agree stages, statuses and lost reasons | Owner and branch heads | Week 1 |
| 3. Clean | Fix phone numbers, remove duplicates | Operations | Week 1–2 |
| 4. People | Map counsellors, branches and roles | Operations | Week 2 |
| 5. Import | Universities and courses, then leads in batches | Admin | Week 2 |
| 6. Parallel run | Both systems for a week, then freeze the sheet | Branch heads | Week 3 |
| 7. Train and measure | Role-wise sessions, weekly adoption review | Admin and managers | Week 3 onwards |
Step 1: Audit every sheet and column
First, collect everything in one folder: master sheet, branch copies, personal trackers, lead-form CSVs, walk-in registers and event lists.
Then label every column:
- Keep: maps straight to a CRM field (name, mobile, email, city).
- Map: a choice that becomes a stage, status or dropdown ("Stage", "Remarks", "Country").
- Merge: duplicates something held elsewhere ("Mobile 2", "WhatsApp no.").
- Drop: formulas, helper columns and data you don't need.
Often, "Remarks" is really three columns: a status, a next action and a note, as in "RNR, call back Monday, IELTS pending". Splitting it is the most valuable hour of the project.
Step 2: Define stages and statuses first
A stage is where the student is in the journey. A status is what is happening inside that stage, and a sub-status gives the reason or detail. Our CRM glossary explains these terms in plain language.
A common study-abroad shape is Inquiry → Qualify → Application → Deposit → Visa → Enrolled. Use one set for every branch, and keep version one short: adding stages later is easy, untraining twenty unused statuses is not. Then map your free text:
| What the sheet says | Stage | Status (and detail) |
|---|---|---|
| RNR / not picking | Inquiry | Contacting attempts: not reachable |
| IELTS pending, next intake | Qualify | Documents pending: English test score |
| Got conditional offer | Application | Offer received: conditional |
| Paid deposit, visa file started | Visa | Visa form initiated |
Agree lost reasons now too (budget, chose another consultancy, not eligible, no response); they make future reports worth reading.
Step 3: Clean phone numbers, because they decide everything
In most CRMs the phone number identifies a student, both for duplicates and when they message on WhatsApp.
Format the column as Text before you touch it. Excel keeps only 15 significant digits and strips leading zeros from numbers (Microsoft Support). In a General cell, 919876543210 can display as 9.19877E+11. Save that as CSV and the missing digits are lost for good. In Google Sheets, use Format → Number → Plain text.
Normalise to international format. ITU-T Recommendation E.164 is the international numbering plan: a country code followed by the national number, at most 15 digits. CRMs and WhatsApp usually store it as a plus sign and those digits, with no spaces. For an Indian mobile that is +91 followed by the 10 digits.
| As typed | Problem | Cleaned |
|---|---|---|
| 98765 43210 | Spaces, no country code | +919876543210 |
| 098765-43210 | Leading zero and a dash | +919876543210 |
| 919876543210 | Country code without the plus | +919876543210 |
| 9.19877E+11 | Scientific notation; digits lost | Recover from the form or chat |
| +44 7700 900123 | Student already in the UK | +447700900123 |
| 9876543210 / 9123456780 | Two numbers in one cell | Split into Mobile and Alternate |
Then remove duplicates, carefully. In Excel, go to Data → Data Tools → Remove Duplicates. Copy the original range first, because the deletion is permanent. Duplicates are also judged on the displayed value (Microsoft Support), so normalise before you de-duplicate. In Google Sheets, run Data → Data cleanup → Trim whitespace, then Remove duplicates. Trim whitespace skips non-breaking spaces, which can come along when numbers are copied from web pages, PDFs or chat apps (Google Docs Editors Help).
Before deleting, agree a survivor rule. For example, keep the row with the latest activity, copy the other rows' notes into it, and keep the earliest enquiry date.
Step 4: Map owners, branches and roles
Build a lookup sheet that turns every counsellor name variant ("Anu", "Anu K", "anu.k") into one user account, and every branch spelling ("Cochin", "Kochi", "KOCHI-2") into one branch. Then decide:
- Leads of staff who have left go to a branch manager's queue, not to "Admin".
- Roles on a lead: a counsellor and a telecaller can both work one student, but each role needs one clear owner.
- Visibility: typically counsellors see their own leads, branch heads their branch, owners everything. Settle this before import; our guide to branch-wise access and roles covers the patterns.
Step 5: Build the column-mapping sheet
This page is the contract between your old data and the new system. Have a branch head sign it off.
| Sheet column | CRM field | Cleaning rule |
|---|---|---|
| Student Name | Lead name | Proper case, no "Mr/Ms" |
| Mobile | Primary phone | International format, text, de-duplicated |
| Mobile 2 / Parent no. | Alternate phone or custom field | Same format; never the duplicate key |
| Enquiry Date | Created date | The real enquiry date, not import day |
| Source | Lead source | A fixed list: Meta, walk-in, referral, event |
| Country Pref / Intake | Custom fields (dropdowns) | One spelling per value; intake as "Sep 2027" |
| IELTS / PTE | Custom fields | Test name and score in separate fields |
| Uni Shortlisted | One deal per application | Not a single text cell |
| Remarks | Status and note | Split as in Step 2 |
| Next F/U | Follow-up | Re-create for active leads only |
Two rules matter most. Keep the real enquiry date, or every report will show your leads "created" on migration day. And don't import stale follow-up dates, or counsellors open the CRM to hundreds of overdue tasks. See our guide to role-based follow-ups.
Step 6: Import universities and courses, then leads in batches
Load universities and courses first, since applications point at them, with one spelling per name. Then:
- Pilot 50–100 rows from one branch. Open ten in the CRM and compare them field by field with the sheet.
- Review the preview, the skipped duplicates and the failed rows. Fix only the failed rows and re-upload those, never the whole sheet.
- Import branch by branch, active leads first and closed leads last, if at all.
- Reconcile totals per branch and per stage against the sheet.
Step 7: Run both systems in parallel for one week
A parallel run needs rules everyone knows:
- From day one, new enquiries go into the CRM only.
- The old sheet becomes view-only, so nobody "just updates it quickly".
- Each evening, branch heads check that today's calls and stage moves are in the CRM.
- On the last day, freeze the sheet and archive it.
For hot leads, counsellors can use WhatsApp's Export chat option (WhatsApp Help Center) and attach the key messages as notes. Then move future conversations to a shared, role-scoped WhatsApp inbox for your team.
Step 8: Train counsellors on their day, not on the software
Skip the feature tour; run short, role-wise sessions built around a real day:
- Counsellors and telecallers: my leads, today's follow-ups, logging a call, moving a stage.
- Branch heads: team view, overdue follow-ups, reassigning a lead.
- Admins: users, roles, imports and fixing assignments.
Name one champion per branch for the first two weeks, and hand out a one-page cheat sheet of your stages and statuses.
Step 9: Measure adoption for 30 days
| Signal | Healthy | Red flag |
|---|---|---|
| New enquiries in the CRM | Nearly all, same day | Entered days late, or in bulk |
| Overdue follow-ups | Falling week on week | Cleared in bulk without notes |
| Leads idle 7+ days | A short, explainable list | Whole portfolios untouched |
Quick migration checklist
- Every sheet collected; every column labelled keep, map, merge or drop
- Stages, statuses and lost reasons signed off
- Phones stored as text, in +country-code format, de-duplicated
- Lookup and mapping sheets signed off
- Universities and courses imported, then a verified pilot batch
- One-week parallel run with a fixed cutover date
- Role-wise training done; weekly adoption review booked
How Xale handles this
Here is how Xale's study-abroad CRM supports each step. For a role-by-role view of the switch, including a 30-day switch plan for consultancies, see the CRM for study abroad consultants page.
If you pick the Study Abroad template at signup, the workspace comes pre-built with default roles (Super Admin, Admin, Manager, Counsellor, Telecaller), the six-stage pipeline shown in Step 2, with statuses and sub-statuses, lead sources, a main branch, dashboard widgets and email templates. Steps 2 and 4 become edits to a working template, not a blank page.
Lead import takes .xlsx, .xls or .csv files. You choose your columns, set up deal columns, download a template built from those choices, then upload it and review. The default batch size is 1,000 rows. You choose a default country code for numbers that don't carry one, and a preview shows how each number will be read, using the same parser as the import, before anything is written. A number already in your workspace, or repeated in the file, is skipped rather than created twice. Failed rows come back as a file you can fix and re-upload. Each university application can come in as its own deal under one student. Universities and courses have their own bulk import. Nothing is pre-loaded, so Course Finder covers only institutions you represent.
After go-live, a live duplicate-phone check stops new copies, and re-enquiries are tracked on the original lead. Branch-aware visibility keeps each branch's leads within its team, and each lead or deal can have only one active owner per role. Our team also helps map your pipeline and runs live training; the Xale platform page covers the onboarding path.
Frequently asked questions
How long does it take to move from Excel to a CRM?
A single-branch consultancy with tidy data can finish in two to three weeks: a week to audit and clean, a few days to import, one week in parallel. Multi-branch teams with years of history take longer, almost entirely on cleaning.
Should we clean data before or after importing?
Before, for anything that drives duplicates and ownership: phone numbers in one international format stored as text, counsellor names mapped to one user account each, and branch spellings unified. Those decide whether the import creates one student or three. Cosmetic fixes such as city spellings, proper-case names and tidy remarks can wait until after go-live, when you can edit them in the CRM without re-importing anything.
Do we need to import all our old, lost leads?
No. Start with active leads, branch by branch, so counsellors open the CRM to a list they recognise. Bring closed or lost leads in later, and only if you will re-market to them or need them for reports, with their real enquiry date and a lost reason rather than a stale follow-up. If old rows have no usable phone number, leave them in the archived sheet.
What happens to chats on counsellors' WhatsApp numbers?
Past chats stay on those phones. Export the important ones as notes (see Step 7) and move future conversations to a shared business inbox. If a number runs on the WhatsApp Business app, connecting it through WhatsApp Coexistence lets you keep using it and can bring in recent chat history; personal WhatsApp numbers cannot be connected this way.
Can we still use Google Sheets for some reports?
Yes, export whenever you need to, and keep any pivot or chart that the team already trusts. The rule that matters is about editing, not reading: after go-live the CRM must be the only place anyone changes lead data, because two editable sources of truth is exactly how the mess began. If a report needs a field the CRM does not hold, add a custom field rather than a column in a side sheet.
