Title: ERP Data Migration for Small Shops
URL: https://zudoworks.com/answers/erp-data-migration-for-small-shops/
Description: ERP data migration for small shops: which records to move and in what order, cleaning CSV files, opening stock from a count, and checking the result.
Updated: 2026-11-03

# ERP data migration for small shops

ERP data migration for a small shop means moving five sets of records in order: items, bills of materials, customers and vendors, open orders, and opening stock. Each is cleaned to one row per record, imported by CSV, and checked against a sample. Opening stock comes from a physical count, and history stays in the old system.

By Arunkumar V, CTO · 03 November 2026 · 2 min read

[Try ZMOS free](https://app.zudoworks.com/signup)
[Book a 20-minute demo](https://zudoworks.com/contact/)

- ERP data migration checklist
- migrate data to ERP
- import items into ERP
- opening stock in ERP

## What to migrate and what to leave

Migrate master data and open balances. Leave closed history where it is. Old invoices, finished jobs and last year's purchase orders are useful for reference, but importing them costs weeks and brings past mistakes with them. Keep the old files read-only and export a few summary reports before switching off.

| Record set | Migrate |
| --- | --- |
| Items, units, reorder points | Yes, active items only |
| Bills of materials | Yes, current revision per product |
| Customers and vendors | Yes, deduped, with tax numbers |
| Open sales and purchase orders | Yes, as new orders |
| Opening stock | Yes, from a physical count |
| Closed jobs and old invoices | No, keep as reference |

## Clean in the order the data depends

Items come first because everything else refers to them. Settle one code per physical part, one unit, one description style, and mark obsolete codes so they are left out. Then BOMs, as flat lines of parent, component, quantity, unit and scrap, using only the current revision. Then customers and vendors, deduped, with GSTIN or VAT number, currency and payment terms. Then open orders, as new documents. Each file should have one header row, no merged cells, no subtotals, and numbers stored as numbers.

## Opening stock and the cut-over

Opening stock is the one record set that must not come from the old system. Pick a cut-over date, count the shelves that weekend, and load the count as opening movements per item and warehouse. The spreadsheet's running balance has drifted; loading it would make the ERP wrong from day one. Freeze receipts and issues in the old system from the count until go-live. Accounting opening balances follow at the next month end once operations are stable, so the accountant has a clean cut-off.

## Check the result before trusting it

After import, check counts and samples rather than everything. The number of items, customers and vendors should match the cleaned file. Pick ten items at random and compare code, unit, description and stock to the count sheet. Open five BOMs and compare the lines. Then run three real orders end to end. Keep the import files with a date so the import can be repeated if a mistake is found, and record who signed off each record set. Only then switch off the old system.

## How to migrate data to an ERP

1. **Step 1**

   Export items, BOMs, customers, vendors and open orders from the old system as CSV.
2. **Step 2**

   Clean items first: one code per part, one unit, obsolete items marked and excluded.
3. **Step 3**

   Flatten BOMs to parent, component, quantity, unit and scrap, current revision only.
4. **Step 4**

   Dedupe customers and vendors and add tax numbers, currency and terms.
5. **Step 5**

   Import in that order and check record counts and ten random samples.
6. **Step 6**

   Count stock on the cut-over weekend and load it as opening movements.

## Where ZMOS fits

ZMOS takes items, customers and vendors by CSV import, and exports items, customers, vendors and transactions at any time, so a migration can be repeated or reversed without a support ticket. Opening stock is loaded as movements into an immutable stock ledger with live balances per warehouse. BOMs carry revisions and scrap, and custom fields hold columns the standard import lacks. For a 10 to 50 person sheet-metal, machining or fabrication shop this is a self-service job; it is not the fit if you need years of closed history migrated in full.

[What ZMOS does](https://zudoworks.com/zmos/)

- [the immutable stock ledger](https://zudoworks.com/zmos/stock-ledger/)
- [exports, API and audit log](https://zudoworks.com/zmos/roles-audit-api/)
- [BOMs and production](https://zudoworks.com/zmos/production-and-bom/)
- [CSV imports in the ZMOS user guide](https://zudoworks.com/guide/#47-csv-imports)

## People also ask

Short answers, each one complete on its own.

### Related answers

- [How do I move from spreadsheets to an ERP?](https://zudoworks.com/answers/how-to-move-from-spreadsheets-to-an-erp/)
- [What should be on an ERP implementation checklist for a small manufacturer?](https://zudoworks.com/answers/erp-implementation-checklist-small-manufacturer/)
- [What is an immutable stock ledger?](https://zudoworks.com/answers/what-is-an-immutable-stock-ledger/)
- [How do I manage BOM revisions?](https://zudoworks.com/answers/how-to-manage-bom-revisions/)
- [How do I do cycle counting in a small shop?](https://zudoworks.com/answers/how-to-do-cycle-counting/)
- [What should an ERP for multiple warehouses do?](https://zudoworks.com/answers/erp-for-multiple-warehouses/)
- [What does an ERP need for job work and subcontracting in India?](https://zudoworks.com/answers/erp-for-job-work-and-subcontracting-india/)
- [What should an ERP do for GST in India?](https://zudoworks.com/answers/erp-for-gst-in-india/)
- [All 54 answers](https://zudoworks.com/answers/)

### Inside ZMOS

[Zudo AI](https://zudoworks.com/zudo-ai/)[Stock ledger](https://zudoworks.com/zmos/stock-ledger/)[Low-code forms and rules](https://zudoworks.com/zmos/low-code/)[Barcode job cards](https://zudoworks.com/zmos/barcode-job-cards/)[Roles, audit log, API](https://zudoworks.com/zmos/roles-audit-api/)[Security](https://zudoworks.com/zmos/security/)[Free trial](https://zudoworks.com/zmos/free-trial/)[Why Zudo Works](https://zudoworks.com/why-zudo-works/)

Should we migrate historical transactions into the new ERP?

Usually not for a small shop. Migrate master data, open orders and opening balances, and keep history read-only in the old system or as exported reports. Historical migration costs weeks and imports old errors.

How long does ERP data migration take for a small shop?

The import itself takes hours. The cleaning takes two to four weeks of part-time work by someone who knows the parts, depending on how many item codes and BOMs need decisions. Plan the time for cleaning.

What format should migration files be in?

CSV or a plain spreadsheet with one header row, one row per record, no merged cells or subtotals, and dates and numbers stored as such. Most ERPs publish a template per record set; use theirs and keep the column names.

What if we find errors after go-live?

Fix the master record and post a correcting movement rather than editing history. Keep the dated import files so a record set can be re-imported if a whole column was wrong. Log each fix so the cause can be removed.
