October 5th, 2026

Import data into Odoo from CSV without breaking things

Importing is easy to start and hard to undo. Plan for a re-run.

Use external IDs

Add an id column with a stable value per row, such as cust_0001. Importing the same file again then updates rows instead of creating duplicates.

id,name,email,country_id
cust_0001,PT Maju Jaya,admin@majujaya.example,Indonesia
cust_0002,CV Sinar Baru,info@sinarbaru.example,Indonesia

Steps

  1. Export a few existing records first. Odoo shows you the exact column names it expects.
  2. Match relation columns by name (country_id) or by external ID (country_id/id).
  3. Click Test before Import. It validates without writing.
  4. Import 20 rows first, check them, then import the rest.
  5. Do big loads on a copy, not on production.

Common errors

  • Date format: use YYYY-MM-DD
  • Selection fields need the stored value, not the label
  • Commas inside text need the field wrapped in quotes
  • Encoding: save as UTF-8

After import

Run a count and a sample check. For money, compare the totals with the source file.

← All posts