Skip to Content
Back to templates
// Template · eCommerce

CSV Product Catalog → Odoo

Import or update your product catalog from a CSV file into Odoo. Reads the file, validates and cleans each row, maps fields to product.template, and upserts using the internal reference as the unique key — new products are created, existing ones are updated.

eCommerce ERP Products 5 transforms Apache Hop
Download .hpl
Apache Hop pipeline
Created Jan 23, 2026
Putki 2026.03+
Pipeline
read-csv
CsvInput
filter-valid-rows
FilterRows
clean-and-map-fields
ScriptValueMod
select-odoo-fields
SelectValues
Odoo
Putki
upsert-to-odoo
OdooUpsert
How it works

Drop a CSV, get your Odoo product catalog updated. This pipeline reads a product file, validates every row, converts types, and upserts into product.template using the internal reference as the unique key. New products are created, existing ones are updated — no duplicates, no manual work.

CSV columns → Odoo fields
CSV column Odoo field Notes
reference default_code Unique key — required
name name Required
description description_sale Optional
price list_price Comma or dot decimal
cost standard_price Optional
barcode barcode Optional, must be unique
weight weight Optional
active active TRUE / FALSE / 1 / 0
1
Read the CSV file
The pipeline reads the product catalog CSV from the path set in CSV_FILE_PATH. The file must have a header row with the column names above. Delimiter is comma, encoding is UTF-8.
2
Validate and discard incomplete rows
Any row missing a reference or a name is discarded immediately. These are the minimum required fields for a valid Odoo product — everything else is optional.
3
Clean and convert types
All fields come in as strings from the CSV. The pipeline converts prices and weight to numbers (handling both comma and dot as decimal separator), maps active to a boolean, and trims whitespace from all text fields.
4
Upsert into Odoo
The Putki Odoo Upsert plugin writes each row to product.template using default_code as the lookup key. If the reference already exists the product is updated; if not, it is created. Runs in batches of 100.
What you need
·
Putki subscription
Access to the Odoo Upsert plugin, included in all Putki tiers.
·
A product catalog CSV
A CSV file with a header row and the column names listed above. A sample file is included in the download. Adjust column names in the pipeline if yours differ.
·
Odoo API access
An Odoo user with write access to product.template, plus your database URL and API key. Set the connection name in the upsert-to-odoo transform.
Required plugins Odoo Odoo Upsert
Details
Type
Pipeline (.hpl)

Transforms
5

Putki version
2026.03+

Created
May 11, 2026
Use case
Sync a product catalog CSV into Odoo. Ideal for retailers or distributors who manage their master catalog outside Odoo and need to keep product.template up to date.
Schedule suggestion
Run manually after each catalog export, or schedule via a Putki workflow whenever a new file lands in the source folder.