Ask a team what data they want in the new ERP and the answer is almost always "all of it." It feels safe. It is actually the single fastest way to turn a clean implementation into a nine-month archaeology project. Every duplicate customer, every discontinued SKU, every half-finished job from three years ago gets a seat on the boat — and then someone has to map it, validate it, and explain why the numbers don't tie.
The better question isn't what can we bring? It's what does the business need in order to operate on day one? Those are very different lists, and the gap between them is where ERP budgets go to die.
Three Buckets, Not One Big Export
Before anyone writes a mapping spreadsheet, sort your data into three categories. Each one has a different standard for quality and a different reason to exist.
- Master data — customers, vendors, items, chart of accounts, pricing, BOMs. This is the foundation. It has to be clean, deduplicated, and consistently structured, because every future transaction inherits its mistakes.
- Open transactions — unpaid invoices, outstanding POs, work in progress, on-hand inventory, open sales orders. This is what makes the business functional at go-live. It needs to be accurate as of a specific cutoff date, not generally correct.
- Historical transactions — closed invoices, fulfilled orders, prior-year journal entries. This is reference material. It feels essential and almost never is, at least not inside the new system.
Most of the pain in a migration comes from treating all three as equally urgent. They aren't. Master data and open transactions are the project. History is a decision.
History Belongs in an Archive, Not Your Operating System
The case for migrating years of transaction history usually rests on three needs: audit response, trend reporting, and customer service lookups. All three can be solved without stuffing old records into a live ERP.
A read-only copy of the legacy system, a data warehouse, or even a well-organized set of exported reports will satisfy auditors and answer "what did we charge them in 2021?" Summary-level balances — opening trial balance, year-end inventory values, customer lifetime totals if you need them — can be loaded as beginning figures without dragging the underlying detail along.
The tradeoff is honest: lookups will take a few extra clicks in a separate place. In exchange, you get a system that goes live faster, runs cleaner, and doesn't carry forward a decade of data entry habits you were trying to leave behind. Decide this deliberately, in writing, and get the CFO and the controller to sign off. Otherwise it resurfaces at week six as a crisis.
Cleanup Needs an Owner Who Isn't IT
Nobody in IT knows which of the four "Acme" customer records is the real one, or whether a part number with no activity since 2019 should survive. The people who know are in sales, purchasing, and accounting — and they have day jobs.
This is the step that gets quietly skipped, so name it explicitly. Each master data domain gets one accountable owner, a deadline, and protected time. Give them a simple exception report rather than a raw export: duplicates, blanks in required fields, items with no transaction history, vendors with no activity, addresses that fail validation. Reviewing a focused list of problems is a task someone will actually finish. Reviewing forty thousand rows is not.
And do the cleanup in the source system where you can. Fixing records in the old ERP means the fix is tested against real daily use before it ever reaches the new one.
Rehearse the Cutover More Than Once
A migration you've performed exactly once, on go-live weekend, is a bet. Run it at least twice beforehand with real data, on a realistic schedule, with the same people who will do it for keeps.
Dry runs tell you things no plan can: how long the inventory load actually takes, which validation rule rejects nine hundred records, that the import needs to run before pricing is configured instead of after. By the second or third pass, the cutover becomes a checklist with known timings rather than an all-night improvisation.
Prove It Tied Out
Finish with reconciliation that a skeptic would accept. Control totals on AR and AP agings. Inventory quantities and valuation. Trial balance to trial balance. Record counts by entity type. Spot checks on a sample of real customers and orders, run by the people who work with them.
Publish the results. Confidence in the new system is built in the first week, and nothing builds it faster than a document showing the numbers match — just as nothing destroys it faster than an AR total nobody can explain.
Where We Come In
Migration scope is a business decision wearing a technical costume. If you're planning an ERP move and the data conversation has stalled on "bring everything," we'd be glad to walk through your three buckets with you and help you draw the line in a place you can defend. Reach out and let's talk about what your day one actually requires.
