Contents7
An ERP’s first month is judged on its data. If the biggest customer’s record exists three times, if prices are wrong on a product range, the team concludes that “the new tool doesn’t work”. The software has nothing to do with it: the migration was done too fast.
In short
Do not migrate everything: live data and what the law requires are enough.
Clean at the source, before the import, not after.
Import in dependency order: third parties, items, price lists, stock, open documents.
Test on a copy until an import runs without manual fixes.
Check totals on go-live day.
What to migrate
To migrate
Active customers and suppliers, with their contacts
Items sold or bought recently, with their prices
Stock on go-live day
Invoices and orders still open
To leave in the old tool
Third parties inactive for several years
Discontinued items
Settled history, available in an archive
Documents already posted and paid
The full history is tempting, but it multiplies the cleaning work for rare use. Keep the old tool, or a clean export, for reference. Legal retention periods for accounting documents apply to the archive, not necessarily to the ERP.
Clean before importing
Cleaning happens in the source files, before the import:
- deduplicate third parties: same VAT or company number, same addresses;
- normalise names, countries, postcodes, units of measure;
- complete the ERP’s mandatory fields (payment terms, accounts, taxes);
- assign a stable identifier to each line, kept as is in the ERP.
That identifier is the detail that saves you: it lets you rerun an import without creating duplicates, and trace the original line when in doubt. The same principles apply to a CRM, and our article on cleaning CRM data details the deduplication rules.
Import in the right order
- Reference data
Taxes, payment terms, units, categories.
- Third parties
Companies, then their contacts.
- Items
Products, variants, any bills of materials.
- Prices
Customer price lists, supplier prices.
- Stock
Quantities per location, on day one.
- Open documents
Current orders, unpaid invoices.
Each step depends on the previous ones: an invoice needs its customer, stock needs its item. Odoo and Dolibarr both have a file import tool, enough for most volumes. Odoo’s documentation on import details the expected format and the use of external identifiers.
Test on a copy
Run at least two full rehearsals on a test database. The first surfaces format errors. The second must run without manual fixes. If a fix is still needed, it must be written into the script or the file, never done by hand in the ERP: on the real go-live, nobody will remember it.
Check on go-live day
Before opening the ERP to teams, compare:
- the number of customers, suppliers and items imported with the source;
- the total stock value;
- the total of open customer and supplier invoices;
- three or four important records, checked by hand by their users.
A gap, even a small one, is understood before opening. Once the team is working in the database, fixing it costs ten times more. It is one of the causes of failure described in Why ERP projects fail.
Who does what during migration
Migration involves two profiles. The people who know the data, in each department, settle duplicates and validate important records. The technical person, in-house or at the provider, writes the import files or scripts and reruns them until they pass without manual fixes. Both need time reserved in their schedule. The complete ERP guide places migration in the order of project steps. In our CRM and ERP offer, data migration is part of the fixed price, with at least two full rehearsals before the real go-live.
Frequently asked questions
How much time should you plan for data migration?
It often takes as long as configuration. Cleaning is the long part, and it needs people who know the data. Plan reserved slots in the teams concerned, otherwise migration always comes after day-to-day work.
Should you migrate sales history?
Rarely in full. For statistics, importing sales aggregated by customer and month is often enough, and it can be prepared in a single query on the old tool. The detailed history stays available in the old tool or an archived export, which greatly lightens cleaning before go-live.
Can migration be automated?
Yes, for large volumes or repeated migrations. A script or workflow reads the source, applies the cleaning rules and writes to the ERP through its API. The advantage is repeatability: the rehearsal and the real go-live go through exactly the same steps.
Sources
Jim · founder of Brain Plus AI
Also in erp: odoo and dolibarr

Practical guide5 min The topic guide
ERP for a company of 20 to 500 people: the guide
An ERP brings sales, purchasing, stock and invoicing into one database. This guide explains when it becomes useful, how to choose between Odoo and Dolibarr, and what makes the project succeed or fail.

Understand4 min
Why ERP projects fail, and how to avoid it
ERP projects that go off the rails almost never stumble on the software, but on scope, data, customisation and adoption. Six causes, and the counter to each.

Understand4 min
AI in an ERP: what really helps, what can wait
Reading supplier invoices, bank reconciliation, answering questions about the data: AI has solid uses in an ERP, others are still demos. The sorting, use by use.
