CSV templates
The import file formats for products and customers.
Two imports take CSV files, and both offer a Download template button on their pages — always start from it. This page is the column reference.
Used by Bulk import (CSV). The 16 columns and their order must match the template (letter case doesn't matter). Up to 500 data rows per file; only standard and serialized products.
| Column | Rule |
|---|---|
| Product Name | Required, at least 2 characters. Rows sharing a name become one product with variants. |
| Variant Name | Required on every row of a multi-row product; unique within it. |
| SKU | Optional — 6 digits if given, generated otherwise. Unique in the file and the catalogue. |
| Product Type | standard or serialized only. |
| Unit | A recognised unit (piece, kg, g, ml, l, cm, pack, box… full words work too). |
| Unit Value | A number greater than 0. |
| Price | Ordinary money in your currency — write 1450.00. Required ≥ 0. |
| Cost / MSRP | Optional, ≥ 0, same money format. |
| Description | Optional free text. |
| Track Inventory | yes/no (blank = no). Serialized products force yes. |
| Batch Tracking | yes/no; requires Track Inventory. |
| Expiry Tracking | yes/no; requires Batch Tracking. |
| Barcode / QR Code | yes/no — whether to generate a code when none is given. |
| Global Identifier Value | Optional 13-digit code stored as the barcode; unique in file and catalogue. |
Rows grouped into one product must agree on the shared columns (type, unit, tracking flags) — a conflict is reported against the group's first row.
Used by Import & export. Columns are matched by name, in any order; unknown columns are ignored; up to 2,000 rows (8 MB).
| Column | Rule |
|---|---|
| first_name | Required. |
| email / phone | At least one of the two columns must exist, and each row needs a value in one. Both unique across your business. |
| last_name | Optional. |
| tags | Optional — several tags share one cell, separated by semicolons. |
| birthday | Optional — strict YYYY-MM-DD, a real calendar date, not in the future. |
| notes | Optional free text. |
| is_active | Optional yes/no; blank means active. |
| Address columns | Optional, as per the template. |
Safely, and with an address: every problem names the row (and column) in your own spreadsheet — "Row 12 | Product "Red rice 5kg" (Column: SKU): SKU must be exactly 6 digits." / "duplicate email — already used on row N of this file." The product import writes nothing unless the whole file passes; the customer import validates first (Validate file) and can then load just the clean rows.