Skip to main content

Import products and prices from CSV

The importer creates and updates variants in bulk from a spreadsheet, and can write prices into a sales price list at the same time. It lives on Catalogue → Products, not on the Pricing screen — a price import is started from Products even though it writes into a sales price list you choose during the import.

Start the import

  1. Go to Catalogue → Products.
  2. Select Import.
  3. If you work across more than one organisation, choose which one the import applies to.
  4. Upload a CSV or Excel file.

Map the columns

Match each column in your file to a field:

  • SKU (required) — matches an existing variant, or creates a new one if nothing matches.
  • Title — the variant's display title.
  • Barcode — also used to find an existing variant when the SKU doesn't match one.
  • Weight (g).
  • Price — written into the sales price list you choose next.

If you map a Price column, a Write prices into picker appears — choose which sales price list the prices go into. Only active sales price lists are offered.

You can save the column mapping under a name so a later file of the same shape doesn't need remapping.

Preview, then apply

Select Preview. The importer reports how many rows will be created, updated, and how many have errors, without changing anything yet. Rows with errors — a blank SKU, for example — are skipped; the rest of the file still imports.

Select Apply … changes to run it. When it finishes, it reports how many rows were created, updated and failed.

What it can and cannot do

  • It can create new products and variants. A row whose SKU doesn't match anything existing creates a new single-variant product with no options — always Physical product type, Active status, tracking inventory. There's no column to choose a different product type, so if you're bringing in services, digital goods or gift cards, create those from New product instead and use the import only to update their prices or existing variants.
  • On a variant that already exists (matched by SKU or barcode), a mapped Title or Weight (g) column updates its display title and weight. For a single variant, the variant's detail sheet — see add a variant — sets the same two fields, plus SKU, country of origin and HS code, all together on Save.
  • A mapped Price writes into the sales price list you chose, at the variant's base unit of measure and the quantity-1 tier.
  • It does not set country of origin or HS code, on a new variant or an existing one — the variant's detail sheet is the route for those.
  • Blank cells never clear an existing value — an update only changes the fields your file actually carries.

Notes

  • Matching checks SKU first, then barcode.
  • Rows are processed one at a time, matching against the catalogue as it stands at that moment. If a file has two rows sharing a new SKU, the first creates the variant and the second updates what the first just created, rather than erroring or creating a duplicate.