Skip to content
ERP Builders
ERP Migration

Odoo Data Import: How to Load Data Without Errors

How to import data into Odoo: templates, external IDs, import order, products, contacts, opening balances, open orders, common errors and how to test.

By ERP Builders Architecture Group2 min read

Bad data makes a good ERP look broken. Most data problems at go-live come from imports done in a hurry. Here is how to do them properly.

Use Odoo's import tool

Every list view in Odoo has an import option. Download the template, fill it in, and Odoo maps columns to fields. For big or repeated migrations, scripts using the API are better, but the standard tool covers most needs.

Use external IDs

Give every record an external ID, such as cust_10045 or prod_AB123. With external IDs you can:

  • Re-import the same file to update records instead of creating duplicates
  • Link records across files, for example a product's vendor
  • Trace every record back to the old system

Import in the right order

Records depend on each other. A typical order:

  1. Chart of accounts, taxes, journals
  2. Product categories, units of measure
  3. Contacts: customers and vendors
  4. Products and variants
  5. Vendor price lists and price lists
  6. Bills of materials
  7. Opening stock
  8. Opening balances and open invoices
  9. Open sales and purchase orders

Clean data first

Before importing, remove duplicates, fix spelling of countries and states, standardise units and delete records nobody uses. Migrating five years of inactive customers just makes search slower.

Opening balances

Opening stock is usually imported through an inventory adjustment with quantities and values. Opening account balances are a journal entry. Open receivables and payables are imported as individual invoices and bills so they can be paid and reconciled.

Common errors

  • "No matching record found" for a related field: the linked record does not exist or the name does not match exactly.
  • Wrong decimal or date format: set the format in import options.
  • Duplicates: missing external IDs.
  • Timeouts on big files: split into batches of a few thousand rows.

Test, then test again

Run a full trial migration into a test database. Check totals: number of customers, stock value, receivables total. Have users check samples. Repeat until the numbers match, then do the final load at cut-over.

For a broader view see our ERP data migration guide and Excel to ERP migration, or our data migration service.

Frequently asked questions

What file formats can Odoo import?

Odoo imports CSV and Excel files (XLS and XLSX) through the standard import tool.

What is an external ID in an Odoo import?

A unique reference you assign to each record. It lets you update records with later imports and link records across files without duplicates.

Written by

ERP Builders Architecture Group · Solution architecture

The engineers responsible for integration design, data migration tooling and performance work across ERP Builders projects.

Related articles

ERP Migration1 min read

Moving From Excel to ERP: A Step-by-Step Plan

How to move from spreadsheets to an ERP: mapping your spreadsheets, cleaning data, choosing what to migrate, opening balances, training and retiring the old files.

Next step

Turn the plan into a working system.

Book a consultation with an ERP consultant. No sales script — just an honest look at your situation.