Step 1: Check file requirements
For larger datasets, split them into several files or use the Qwoty API.
Step 2: Download the template
This is the most important step. The template shows the exact column names and format Qwoty expects.- Open Settings › Data › Import & Export.
- Click Products or Prices.
- Click Download Template.
- Keep the headers and replace the example rows with your data.
Prices are created automatically for each product in your pricebooks. To fill them in, always start from an export of your prices. See Import prices.
Step 3: Remove duplicate identifiers
Each record can appear only once per file. Duplicates are reported as validation errors.Step 4: Format each field type correctly
Text fields
- No special formatting required.
- If a value contains a comma, line break, or quote, wrap it in double quotes:
"Premium, Extra Large".
Number fields
- Numbers only (no text, no currency symbol).
- Use a period for decimals:
1234.56. - No thousands separators (not
1,234.56).
Boolean fields
Usetrue or false. This applies to fields like settings[is_active] and pay_as_you_go.
Enum (select) fields
Use the exact value Qwoty expects:Date fields
For date custom fields, use ISO 8601:YYYY-MM-DD, for example 2026-04-25.
Tax fields
vat_code takes the API name of a tax defined in Settings › Workspace › Tax (for example FR_200). Leave the cell empty for no default tax.
ID fields
- Format: UUID, for example
c776ee49-f608-4a77-8cc8-6fe96ae1e43f. - Products: leave
product_idempty to create a product; fill it to update an existing one. - Prices:
idis required. Use the price UUID from an export, or a price key such aslicence_pro.standard_eur.month.1.
Multi-value fields
Some fields accept several values in one cell, separated by commas, with the cell wrapped in double quotes:Indexed fields (tiers, options)
Qwoty uses bracket notation with a numeric index for repeating field groups. Indexes are 0-based for tiers and 1-based for options.Step 5: Add relation columns
Step 6: Make sure custom fields exist
The import creates records, not fields. To fill product custom fields:- Open Settings › Data › Data Model.
- Open the Products object and create the fields you need.
- In your CSV, name the column
custom[<api_name>], using the field’s API name exactly.
Step 7: Final checklist
- File is in CSV format, UTF-8, under 10 MB and 10,000 rows
- Field separator is a comma
,and decimal separator a period. - Multi-value cells use commas inside, with quotes around the cell
- No duplicate identifiers (
product_id,id) - Boolean fields use
trueorfalse - Enum fields use the exact values shown in Step 4
- Custom fields exist in Settings › Data › Data Model
- Catalogs, categories, pricebooks, and variant options already exist
- Products are imported before prices
Common mistakes to avoid
Next steps
Import products
Create or update your products.
Import prices
Fill in the prices of your pricebooks.
Data model
Add custom fields before importing if needed.

