Worked Costings and Selection Checklists
Moving to a CRM from spreadsheets or an old system: data migration steps and costs
A practical CRM migration plan for small businesses: inventory, cleaning, de-duplication, field mapping, consent records, test imports, cut-over and an illustrative hours-based cost estimate.
Migrating to a CRM means getting your customer data out of spreadsheets, inboxes, phones and old systems, cleaning it, mapping it to the new CRM's fields, importing a test batch, fixing problems, and then switching everyone over on a set date. The work is mostly cleaning and decisions, not technology. For a small business with a few thousand contacts it often takes a few days of staff time spread over two to four weeks. The step that matters most for compliance is carrying consent records across, so you can keep showing why you may email or text each contact under the Spam Act.
This guide is part of how to choose a CRM step by step. Migration is usually the largest one-off line in the 3-year TCO example. Costs are illustrative.
Step 1: inventory where customer data lives
List every source, the rough number of records and who owns it.
| Source | Typical content | Common problems |
|---|---|---|
| Sales spreadsheets | Leads, deals, notes in cells | Inconsistent columns, merged cells, duplicates |
| Email contacts | Names and addresses | Personal and business contacts mixed |
| Accounting software (Xero, MYOB) | Customers, ABNs, invoices | Billing contacts rather than decision-makers |
| Email marketing tool | Subscribers, unsubscribes, consent dates | Unsubscribes not reflected elsewhere |
| Phones | Contacts saved by individual staff | Not shared, lost when staff leave |
| Old CRM or job system | Full history | Export format, attachments |
| Paper or business cards | Event leads | Consent unclear |
Step 2: decide what to migrate
Not everything should move. Decide on rules:
- Active customers and open deals: migrate in full.
- Past customers: migrate contact details and summary history; consider an age cut-off.
- Old leads with no activity: often better archived than imported, especially if contact-based pricing applies (see contact-based marketing pricing).
- Unsubscribed contacts: import them as suppressed, so they are not emailed again by mistake.
- Notes and attachments: migrate for key accounts; archive the rest in read-only storage.
If your business is covered by the Privacy Act, APP 11 requires you to destroy or de-identify personal information you no longer need, so migration is a good time to apply a retention rule. See the Privacy Act guide.
Step 3: clean and de-duplicate
- Standardise columns: first name, last name, company, email, mobile, phone, address, state, postcode, ABN, source.
- Format phone numbers consistently (for example +61 or 04 format) so duplicates can be matched.
- Use state abbreviations (NSW, VIC, QLD, WA, SA, TAS, ACT, NT) and four-digit postcodes.
- Find duplicates by email, then by phone, then by name and company.
- Merge duplicates, keeping the most recent details and the earliest consent evidence.
- Remove obviously invalid entries.
Step 4: map fields and decide structures
Map every source column to a CRM field, and create custom fields only where needed. Decide early:
- How companies and people link (one company, many contacts).
- Pipeline stages and what each means.
- Owner of each record (which salesperson).
- Tags or categories, kept to a short, agreed list.
- Consent fields: email consent, SMS consent, call consent; date; source; wording; for unsubscribed contacts, the date of the request.
Step 5: test import
Import a sample of 100–200 records, including tricky ones. Check that names, phones, companies, owners, stages, consent and unsubscribes landed correctly, and that integrations (see integrations) do not create duplicates. Fix the mapping and repeat until clean.
Step 6: cut over
- Pick a cut-over date and freeze changes in the old sources from that date.
- Do the full import, then a check of record counts against the source.
- Turn off old reminder systems so follow-ups do not double up.
- Keep a read-only copy of the original data for a defined period.
- Make sure every sending tool reads the new suppression list.
Illustrative cost estimate
A Hobart building-supplies business with 4,800 contact rows across three spreadsheets, an email marketing tool and Xero estimates the work in hours, valuing internal time at $45 an hour.
| Task | Hours |
|---|---|
| Inventory and decisions | 4 |
| Cleaning and de-duplication (4,800 rows at about 200 an hour) | 24 |
| Field mapping and set-up of consent fields | 6 |
| Test imports and fixes | 10 |
| Notes and attachments for the top 300 accounts (5 minutes each) | 25 |
| Total | 69 |
Cost: 69 × $45 = $3,105 of internal time. A partner's fixed-price quote for similar work might be compared against this; check what the quote excludes (cleaning is often excluded). Put the figure into the one-off costs of the TCO estimator.
After de-duplication the business finds about 15% duplicates, leaving roughly 4,080 contacts, of which 1,200 have no consent record and are imported as non-marketing. That keeps it in a lower marketing-contact tier.
Migrating from another CRM
If you are moving from one CRM to another, also check:
- Whether the old vendor's export includes notes, emails, activities, attachments and custom fields, or only basic contact data.
- File formats (CSV, spreadsheet, API) and whether relationships between records survive.
- Any export fees or limits, and the date your access ends.
- Automation rules and templates, which usually have to be rebuilt.
See data export and exit planning.
Mistakes to avoid
- Importing everything "to sort out later". It rarely gets sorted.
- Losing unsubscribes, which leads straight to Spam Act complaints.
- Letting each salesperson import their own phone contacts without rules.
- Running old and new systems in parallel for too long.
- Forgetting to remove access to old systems after cut-over.
Frequently asked questions
Can the vendor migrate our data for us?
Many offer migration services or tools, sometimes for a fee. They usually move data as it is; cleaning is your job.
How long does migration take?
For a small business, typically two to four weeks of part-time effort, longer if data is very messy or the old system is hard to export.
Should we migrate email history?
For key accounts, yes if the tool supports it. Otherwise, connect mailboxes going forward and keep old email accessible in your email system.
What about contacts without consent?
Import them as non-marketing records if you have another reason to keep them, such as an existing customer relationship, and do not send them commercial messages without a lawful basis.
Sources
- Australian Communications and Media Authority — consent records and unsubscribe rules
- Office of the Australian Information Commissioner — APP 10 data quality and APP 11 retention and destruction
- Australian Cyber Security Centre — securing data during transfers and backups
- Australian Business Register — ABN Lookup for validating business customer records