Import products with a CSV file

Bring your whole catalogue into Live-cart in one upload. A CSV (comma-separated values) file is a simple spreadsheet you can export from Excel, Google Sheets, or another store. Follow the columns below and your products, variants, prices and stock come in automatically.

Download the CSV template

How it works

The file has one row per variant. Rows that share the same Handle are grouped into a single product — that’s how a product with sizes or colours is described. The first row of each Handle carries the product-level fields (Title, Description); the rows after it only need their variant details (Variant, SKU, Price, Quantity).

For a simple product with no options, use a single row and leave Variant empty.

The columns

The first line of the file must be the header row with these exact column names. Column order doesn’t matter, and columns you don’t need can be left empty.

ColumnRequiredWhat it does
HandleRequiredA unique code for the product. Rows that share a Handle become one product with multiple variants. Reused on the next import to match and update the same product.
TitleOptionalProduct name. Read from the first row of each Handle; leave blank on the following variant rows.
DescriptionOptionalProduct description. Also taken from the first row. Plain text or simple HTML.
ImageOptionalImage URL for the product gallery. Add a different Image on each row to build the gallery; duplicates are ignored.
VariantOptionalThe variant name (e.g. “S”, “Red”). Leave blank for a single-variant product.
SKUOptionalYour stock code for this variant. Helps match variants on re-import.
PriceOptionalPrice in UAH (e.g. 499 or 499.90). The product’s starting price is the lowest variant price.
QuantityOptionalUnits in stock for this variant. Whole number.
Variant ImageOptionalAn image URL shown when this specific variant is selected.

Example

A T-shirt with three sizes (one product, three variants) followed by a simple mug (one product, no variants):

Handle,Title,Description,Image,Variant,SKU,Price,Quantity,Variant Image tee,Cotton Tee,100% cotton,https://…/tee.jpg,S,TEE-S,499,12,https://…/s.jpg tee,,,https://…/tee-back.jpg,M,TEE-M,499,8,https://…/m.jpg tee,,,,L,TEE-L,549,5,https://…/l.jpg mug,Ceramic Mug,350 ml,https://…/mug.jpg,,MUG,199,30,
  • The three tee rows become one product with variants S, M and L.
  • The product’s Title and Description come from the first tee row; the rest are blank there.
  • Every non-empty Image across the tee rows joins its gallery.
  • The mug has an empty Variant, so it’s a single-variant product.

Re-importing & updates

Import the same file again — with the same Handle values — and Live-cart matches each row to the product it created before, instead of making duplicates. When you run an import you choose what happens to products that already exist:

Update them from the import

Existing products are refreshed with the data in your file. Products you edited by hand in the admin are protected and left as-is.

Leave them untouched

Only brand-new products are added. Everything already in your catalogue is left exactly as it is.

CSV products are only ever matched against other CSV imports, so a Handle can never clash with a product imported from Shopify or another source.

Tips

  • Save as CSV UTF-8 so Ukrainian text imports correctly.
  • Prices are in UAH. Use a dot or comma for kopiykas (499.90).
  • If a value contains a comma, wrap it in double quotes: "Sofa, grey".
  • Keep the Handle stable between imports — it’s how updates find the right product.