Skip to content
OdooWebApps.com

Odoo CSV import checker

Odoo imports cannot be undone, and the worst failures report success. Drop in the file you are about to import and see every reason Odoo would reject it, or accept it and store the wrong data.

Drop your import file here

CSV only. Checked in your browser; the file is never uploaded.

What it checks

Every check follows Odoo's own export and import documentation. The reasoning behind each one is in Odoo import errors: external IDs, relations, and what fails silently.

External IDs
A missing ID column (so a second import duplicates everything), duplicate IDs, plain numeric IDs that can collide across models, and stray spaces.
Relation columns
The same field referenced by name and by ID at once, a name column that actually holds external IDs and is missing its /id suffix, and many-to-many values separated by comma plus space.
References
External IDs the file points at but does not define, which must already exist in the database or every row using them fails with no matching record found.
Dates
Columns where no value settles whether the date is day first or month first, so Odoo has to guess.
Numbers
Values Odoo documents as unreadable, such as a currency sign outside the parentheses of a negative, and columns that look numeric in the first ten lines and turn to text later.
Empty columns
A column that is present but empty sets the field to empty for every record instead of leaving Odoo's default in place.
File structure
Tab separators Odoo will not detect, semicolons it needs telling about, rows with the wrong number of columns, broken encoding and duplicate headers.

What it cannot check

It reads the file, not your database. It cannot see whether a referenced record already exists in Odoo, whether a column name maps to a real field on your model, or whether the importing user is allowed to write it. A clean result means the file is well formed; the import screen's own Test step is still the last check before Import.

Your file stays on your machine. It is read by your browser and checked by code running on this page; nothing is sent to OdooWebApps or anyone else.

Importing the same file every week?

Then the spreadsheet has become production software with no validation and no undo. A small app that reads the source, checks it the way this page does and writes to Odoo through the API does the same job every week, whoever runs it.