ERP Data Migration for Manufacturers: Clean It First
Your item master sets your go-live date more than the software does. We list the five datasets that sink a go-live, show what dirty data looks like, give the order to clean it in, and cover GSTIN, HSN and Tally specifics.
Most ERP schedules are built around the software. What actually sets your go-live date is the data you carry into it. If your item master has three names for the same steel plate, the new system will faithfully hold three items, and your stock, your BOMs and your purchase history will be split across them from day one.
This guide to ERP data migration for manufacturers covers the five datasets that sink a go-live, what dirty data looks like in a plant, the order to clean it in, and the India-specific checks on GSTIN and HSN codes. It is written for plants coming off Excel, Tally or an old system.
Why data decides the go-live date
Panorama's 2026 ERP Report concludes that success hinges on data readiness and organisational alignment. The vendor guides agree on the effect. ERP Research gives data migration 4 to 8 weeks, running alongside the build, and BusinessHub allows 8 to 12 weeks for configuration and migration together. Both name data quality as a driver of how long a project takes.
Neither SAP nor Microsoft makes migration a phase of its own in their frameworks, which is why it gets squeezed. Our guide to the ERP implementation timeline shows where it sits.
The five datasets that sink a go-live
- Item master. Every raw material, component, semi-finished and finished item, with its unit, group, HSN code and status. Everything else points at this.
- Bills of materials. Each finished and semi-finished item with its components and quantities, at the right level. A BOM that lists a dead item makes every material calculation wrong.
- Supplier and customer masters. Legal names, GSTIN, addresses and payment terms.
- Opening stock by lot and location. What is physically where, on the cutover day, not what the register says.
- Open transactions. Open purchase orders, open sales orders, work in progress, unpaid invoices and advances.
History, such as last year's invoices, is a sixth category, and it is where most teams waste their time. We come back to it below.
What dirty data looks like in a plant
These examples are illustrative, but every one of them is common.
| Problem | Before | After |
|---|---|---|
| Same item, several names | "MS Plate 10mm", "M.S. PLATE 10 MM", "Mild steel plate 10 mm" | One item code and one description. Old spellings kept in a cross-reference sheet |
| Mixed units | A bolt bought in kg and issued in nos | One stock unit (nos), with a stored conversion for purchasing in kg |
| BOM line pointing to a dead item | The housing BOM lists "Gasket-old", inactive since 2022 | Relinked to the live gasket, or removed |
| Same supplier twice | "ABC Traders" and "A.B.C. Traders Pvt Ltd" | One supplier record, with each state's GSTIN attached to it |
| Stock that exists only on paper | 40 bearings on the register, none on the shelf | Count first, load the counted quantity, and write off the difference with a reason |
| Missing tax data | Items with no HSN code | An HSN or SAC code on every item and service |
Clean in this order
Start with the masters, because everything refers to them. Clean the item master first, then supplier and customer masters, then the BOMs, because a BOM can only point at items that already exist and are right.
Open transactions come second. Load only what is still open on the cutover day: purchase orders not yet received, sales orders not yet shipped, work in progress and unpaid invoices.
History comes last, and you should move less of it than you think. Carry opening balances and open items into the new system. Keep the old Tally or Excel files read-only for lookups, and archive them instead of deleting them, because audit and tax rules, not the ERP, decide how long you must keep them.
Rules that keep it clean
- One naming convention. Write it on one page: material, then grade, then size, for example. Apply it to every new item from today, not only at migration.
- One stock unit per item. Store conversions for purchase and sales units.
- Mandatory fields. No item without a unit, group and HSN code. No supplier without a GSTIN or a reason why not.
- One named owner per dataset. Stores owns items and stock, purchase owns suppliers, engineering owns BOMs, accounts owns customers and balances. When two people own it, nobody does.
- A written definition of done. For example: no duplicate items, every BOM line resolves to an active item, every item has a unit, group and HSN code, and stock matches a physical count.
Rehearse the load and reconcile the balances
Do at least two trial loads into a test system before the real one. After each, reconcile balances, not record counts. A load can bring in every row and still be wrong. Compare stock value by item group, payables by supplier and receivables by customer against the old numbers, and have each owner sign off their own dataset.
Microsoft's Success by Design framework lists mock go-lives and a cutover plan with go or no-go criteria in its Prepare phase. Do the same, whatever system you buy. On the final load, freeze entries in the old system first, so nothing is posted between the extract and the switch.
India checks: GSTIN, HSN and Tally
A GSTIN has 15 characters. The first two are the state code, and characters 3 to 12 are the supplier's PAN. A company with branches in several states holds several GSTINs but one PAN, so merge duplicate suppliers on PAN, not on name, and keep each state's GSTIN on the one record.
Every item and service needs its HSN or SAC code, because the tax on an invoice depends on it. Fix missing codes before the load, not after the first wrong invoice.
If you are coming from Tally, map each stock item to an ERP item and each ledger to a group in the new chart of accounts, and take opening balances from the trial balance on the cutover date. Our Tally to ERP page and the Tally vs ERP guide cover the rest, and the spreadsheet to ERP page covers plants coming off Excel.
Conclusion
Data migration sets your go-live date more than the software does. Clean the masters first, load only what is open, rehearse twice, and reconcile balances instead of counting rows. Give every dataset one named owner.
To plan a migration for your own plant, talk to our team about our manufacturing ERP software, or read how an ERP runs one order to see where each dataset gets used.