Help Center / Products and catalogue · Reference
Product CSV columns
Every column the product import and export understand, with allowed values and an example.
- Who can use this
- Shop owner, Shop Product Manager
Help Center / Products and catalogue · Reference
Every column the product import and export understand, with allowed values and an example.
This list applies to CSV import, the update tool and the export. The first row of the file holds these names. Capital letters and spaces around a name do not matter.
Only name is required, and only by CSV import. Yes/no columns take 1 or 0.
| Column | Allowed values | Example |
|---|---|---|
id | The product's ID from an export. Empty for a new product | 1042 |
barcode | Text. Not overwritten on a product that already has one | 1234567890001 |
external_id | The code from your POS or ERP | EXT001 |
batch_id | Free text | BATCH001 |
| Column | Allowed values | Example |
|---|---|---|
name | Text. Required for CSV import | Coca Cola Can 250ml |
description | Text | Refreshing cola drink |
category_name | A category name; created if new | Beverages |
sub_categories | Category names separated by |; created if new | Pizza|Vegetarian Pizza |
brand_name | A brand name; created if new | Coca Cola |
image | A file name uploaded in the File manager, or a full image link | milk-1l.jpg |
A file name that is not in your shop's image folder is not stored: an existing product keeps its image, a new one gets none.
A full http or https link in image is downloaded in the background after the row is saved, then set on the product. One import downloads at most 5,000 different links; put the rest in another file. An export writes each image as its full link, so the file can be imported into another shop with its pictures.
| Column | Allowed values | Example |
|---|---|---|
price | Number: what the customer pays | 12.99 |
old_price | Number: the crossed-out mark price; 0 for none | 15.99 |
offer_starts_at, offer_ends_at | YYYY-MM-DD HH:MM:SS, or YYYY-MM-DD alone | 2026-12-01 00:00:00 |
cost_price | Number of 0 or more; empty leaves it unchanged. Needs cost tracking on and a role that may change costs | 8.50 |
| Column | Allowed values | Example |
|---|---|---|
stock_status | in_stock or out_of_stock. Empty means in_stock | in_stock |
enable_stock | 1 to track the quantity, 0 not to | 1 |
stock_quantity | Number; empty leaves the stock as it is | 100 |
stock_alert_quantity | Number | 10 |
max_order_quantity | Number | 5 |
stock_quantity@CODE | One column per location, where CODE is the location's code. Number of 0 or more; empty leaves it as it is | stock_quantity@DXB-1 |
With stock tracking off, enable_stock, stock_quantity, stock_alert_quantity and the per-location columns are ignored. With per-location columns in the file, stock_quantity is ignored; without them, it sets your default location. See Stock per location.
| Column | Allowed values | Example |
|---|---|---|
unit | A unit code such as kg, grams, ltr, ml, piece, packet, box, dozen | ml |
unit_value | Number | 250 |
unit_label | Text shown to customers | 250 ml |
sort_index | Whole number; lower comes first | 10 |
is_popular, is_new, is_offer, is_active, is_veg | 1 or 0 | 1 |
is_whatsapp_sync | 1 or 0. Not in the sample; add it yourself | 1 |
meta_title, meta_description, meta_keywords and og_image hold the product's search and sharing texts. They are stored as written.
Shipping, selling by measure, sales channel and translation columns are listed in Optional product CSV columns.