Free 30-minute strategy call with Nihar Scope, budget and a written proposal within 24 hours. Book now
ERP & OPERATIONS

ERP Data Migration Checklist: Moving Off Spreadsheets and Old Systems Without Losing Data

Most ERP projects that stumble at go-live do not stumble on features. They stumble on data: duplicate customers, item codes nobody can explain, stock that does not match the shelf and opening balances that do not tie to the books. This checklist is how I plan migration so the first day on the new system is boring, which is exactly what you want.

ERP data migration checklist for moving off spreadsheets and old systems
In this guide 10 sections
  1. 1. List every source of data
  2. 2. Decide what to move and what to leave behind
  3. 3. Clean the master data first
  4. 4. Map fields and build repeatable loads
  5. 5. Run at least two trial migrations
  6. 6. Protect personal and sensitive data
  7. 7. Plan the cutover weekend
  8. Common mistakes to avoid
  9. How we handle migration at Creuto
  10. Frequently asked questions

When a business moves to a new ERP, the software gets most of the attention: screens, workflows, approvals, reports. The data gets a line in the plan that says "migration" and a date close to go-live. That is the wrong way round. If customers, items, stock and balances arrive in the new system wrong, nobody trusts it, and people quietly go back to their spreadsheets.

Below is the checklist we at Creuto use when we plan an ERP migration, whether the data is coming from spreadsheets, an accounting package or an older system that has been patched for years.

The rule I follow

Migrate clean masters and opening positions, not years of mess. Old history can stay readable in an archive. The new ERP should start from data that your own team has checked and signed off.

1. List every source of data

Before anyone writes a script, write down where the data lives today. In most growing businesses it is spread far wider than people expect.

  • The accounting package and its ledgers.
  • Spreadsheets for stock, pricing, production plans and dispatch.
  • An older ERP, billing tool or custom database.
  • CRM or sales tools holding customer contacts and open quotes.
  • Paper or shared drives for bills of materials, contracts and approvals.

For each source, note who owns it, how often it changes and whether it is the "true" copy. When two sources disagree, someone has to decide which one wins, and that decision is far easier to make now than during the cutover weekend.

2. Decide what to move and what to leave behind

Not everything deserves a place in the new system. A simple split keeps the project focused.

Data typeExamplesUsual decision
Master dataCustomers, suppliers, items, bills of materials, chart of accounts, price listsMove, after cleaning
Open documentsUnpaid invoices, open purchase orders, pending sales orders, work in progressMove, as of the cutover date
Opening balancesStock on hand by location, ledger balances, receivables, payablesMove, reconciled to the books
Closed historyOld invoices, completed orders, past years of transactionsArchive, keep readable
Dead recordsInactive items, duplicate customers, suppliers you no longer useLeave behind or mark inactive

Check with your accountant before you archive anything. Tax and audit rules decide how long records must be kept and in what form, so the archive has to be easy to search, not just a folder of exports.

3. Clean the master data first

This is where most of the effort goes, and it is work your team has to own. The development team can build reports that surface problems, but only the people who run the business can say which record is right.

  • Customers and suppliers: merge duplicates, fix spellings, confirm addresses and payment terms. In India, check GSTINs against the GST portal taxpayer search so invoices do not bounce later.
  • Items: one code, one name and one base unit per item. Agree how variants, sizes and packs are coded before loading anything.
  • Bills of materials: confirm quantities and units with the production team, not from an old file.
  • Chart of accounts: map old ledgers to the new structure with your accountant, line by line.

Set simple rules and write them down: mandatory fields, naming formats, allowed units. Those rules become validation checks in the new ERP so the data stays clean after go-live.

Planning a move to a new ERP?

Book a free 30-minute call. Tell me where your data lives today and I will help you sketch what to move, what to clean and what to leave behind.

Book a free 30-minute call →

4. Map fields and build repeatable loads

For every table you move, create a mapping sheet: the source field, the target field, any conversion, and what happens when a value is missing. Then build the migration as scripts that can run again and again, not as a one-time copy and paste. You will run them several times, and each run should give the same result from the same input.

If the old system is being retired, this is also the moment to plan how it will be switched off. Our legacy software modernisation guide covers that side in more detail.

5. Run at least two trial migrations

A trial migration is a full load of real data into a test copy of the new ERP. Treat it like a rehearsal.

  1. Load everything in the agreed order: masters, then open documents, then balances.
  2. Compare record counts between old and new for every table.
  3. Compare totals: stock value, receivables, payables and ledger balances.
  4. Spot check real records with the people who use them, such as a sales rep checking their top customers.
  5. Log every error, fix it at the source or in the script, and run again.

The second trial should be close to clean. If it is not, run a third before setting a go-live date.

6. Protect personal and sensitive data

Migration files are full of names, phone numbers, bank details and salaries. Keep them in a restricted location, share them only with the people who need them, and delete working copies once the migration is signed off. If you hold personal data of people in India, the Digital Personal Data Protection framework from MeitY applies; our DPDP Act guide explains what that means in practice.

7. Plan the cutover weekend

WhenWhat happens
Two weeks beforeFreeze changes to master data in the old system; any new customer or item is logged for the final load
Last working dayClose the day in the old system, take a full stock count, record final balances
CutoverRun the final load with the tested scripts, then the reconciliation reports
Sign-offFinance, stores and sales heads confirm totals and samples before anyone starts transacting
First weeksOld system stays read-only; a daily check catches differences early

Write down a rollback plan too: what would make you stay on the old system for another week, and who makes that call. You will probably not need it, but having it keeps the weekend calm.

Common mistakes to avoid

  • Leaving data cleaning until the last month of the project.
  • Moving every historical transaction "just in case".
  • Doing the final load by hand instead of with tested scripts.
  • Skipping the physical stock count and trusting the spreadsheet.
  • Going live without a written sign-off from finance.

How we handle migration at Creuto

At Creuto, migration is part of the ERP plan from the first week, not a task at the end. You can see the kind of system we build in our custom ERP for manufacturing case study, which brings inventory, purchasing and production into one real-time system. If you are still deciding between building and buying, read custom vs off-the-shelf ERP. For budgets, see the cost to build an enterprise ERP or try the app cost calculator.

Frequently asked questions

How long does ERP data migration take?

It depends on how many sources you have and how clean they are. Cleaning master data usually takes longer than the technical load itself, so start it in the first weeks of the project, not the last.

Should we move all our historical transactions to the new ERP?

Usually not. Most businesses move clean masters, open documents and opening balances, and keep full history in the old system or a read-only archive for reference and audits.

Who should own data cleaning, us or the development team?

Your team owns the decisions, such as which duplicate customer record is correct. The development team builds the scripts, reports and checks that make those decisions fast and repeatable.

What is a trial migration?

A full practice load of your real data into a test copy of the new ERP. You run it at least twice before go-live and check totals, counts and sample records against the old system each time.

What happens if something is wrong after go-live?

With a tested rollback plan and a short freeze period, small fixes are corrected in the new system. That is why reconciliation reports and a clear sign-off before cutover matter so much.

Need an ERP built around your data and process?

We build custom ERP systems and plan the migration with you, with your code and data in your own accounts from day one.