Move the catalog in and out with CSV.

The Products page exports the whole catalog as a CSV file and imports the same format back. One format, both directions: migrate an existing catalog in, or export, edit prices and stock in a spreadsheet, and re-import.

Where to find it

Open Products and use the Import / Export menu. Download CSV exports every product and variant with the exact columns of your workspace, including one name and description column pair per enabled language. Import CSV uploads a file in the same format, shows a preview of what would change, and writes nothing until you confirm.

The export is also the template: on an empty catalog it contains just the header row, and on a populated one it doubles as a starting point you can edit and re-import.

File format

One row per variant. A product with three variants takes three rows that share the same product_slug, each with its own sku. Product columns like status and names repeat on every row of the group; the import reads them from the first row and reports a validation issue if later rows disagree. Files are UTF-8, comma separated, with standard CSV quoting; exports from WireGum, Excel, Numbers and Google Sheets all work as-is.

Columns

ColumnNotes
product_slugRequired. Identifies the product; rows sharing a slug become variants of the same product. Lowercase letters, numbers and dashes only.
product_statusactive or draft. Empty keeps the current status; new products default to active.
tax_codeStripe tax code like txcd_99999999. New products default to the physical goods code.
name_xx, description_xxOne pair per workspace language, for example name_en and description_en. The name in the default language is required for new products.
skuRequired. Identifies the variant inside the product; must be unique per product.
variant_titleDisplay title of the variant, for example Small / Green. When empty on a new variant it is derived from the options.
variant_title_xxTranslated variant title per workspace language.
optionsName=Value pairs separated by semicolons, for example Size=Small; Color=Green.
options_xxTranslated option values per workspace language, same format as options.
priceDecimal amount in the workspace currency, like 19.90. Dot or comma decimals both work; no currency symbol. Required for new variants.
currencyOptional consistency check: when present it must match the workspace currency. The import cannot change currencies.
stock_on_handWhole number. Sets the available stock; reserved stock is never touched.
weight_grams, length_mm, width_mm, height_mmWhole numbers used for shipping quotes and labels.

Example

A workspace with English and Italian, importing one product with two color variants. The first row creates the product, both rows create variants:

product_slug,product_status,tax_code,name_en,description_en,name_it,description_it,sku,variant_title,variant_title_en,variant_title_it,options,options_en,options_it,price,currency,stock_on_hand,weight_grams,length_mm,width_mm,height_mm
canvas-tote,active,txcd_99999999,Canvas tote,Sturdy everyday bag,Borsa in tela,Borsa per tutti i giorni,TOTE-RED,Red,,Rossa,Color=Red,,Color=Rosso,19.90,eur,12,320,,,
canvas-tote,active,txcd_99999999,Canvas tote,Sturdy everyday bag,Borsa in tela,Borsa per tutti i giorni,TOTE-BLUE,Blue,,Blu,Color=Blue,,Color=Blu,19.90,eur,8,320,,,

Import rules

Questions or a file the importer refuses? Write to mail@wiregum.com with the workspace slug and the reported issue.