Import products from an Excel or CSV file

Essential10 minChecked on 10/31/2026

What you will have: Your Excel catalog is loaded into Genuka, with its variants, prices and opening stock.

You start with your whole catalog instead of retyping each item by hand.

Screens shown for:

Why it matters

Typing a catalog of several hundred items by hand takes days and multiplies typos. If your products are already in a spreadsheet, the import loads them in one go, and is then used to update prices and stock in bulk.

Summary

From the product list, you import an .xlsx, .xls or .csv file built on the Genuka template: each row is a variant, and consecutive rows with the same title form a product. The import creates new products and updates those that already exist; it runs in the background, with a progress bar.

Before you start

  • The import button only appears with the products.create right (or products.*), and the server refuses the import without it; export requires products.export. The Courier profile has neither of these rights.
  • First choose the active shop: imported products are linked to that shop only (and detached from other shops if they already existed).

Steps

  1. Open Catalog › Products & Services (/products).
  2. Open Import products (directly, or in the More options menu when both import and export are available).
  3. Click Download template file here and fill in the template.
  4. Drop your file ("Drag and drop a file here or click to select a file").
  5. Tick or not Overwrite existing data (see below), then Save.
  6. Follow the progress on the list (for example "120 rows out of 300"), then Import Completed or Import failed. Rejected rows are listed with their number (the first 5 shown).

You also receive an "Import Completed" or "Import failed" notification if you turned on these events in My Account › Notifications.

Template columns

ColumnExpected content
Parent IDNot read by the import (an existing product is matched by title)
Product TitleProduct title, required. Consecutive rows with the same title = one product
Product DescriptionDescription
Product Published1, published or true = published; empty or any other value = draft
Product OptionsOptions and values: Color: White,Brown | Size: S,M,L,XL (options separated by |, values by commas)
Product ImagesThe product's image URLs, separated by commas
Variant TitleVariant name (e.g. White / S)
Variant CompositionVariant values: Color: White,Size: S
Variant PriceSelling price (0 if empty)
Variant Comparison PricePrice before (struck-through price)
Variant CostCost price (supplier price)
Variant Stock Warehouse NameWarehouse of the stock (otherwise: the shop's first warehouse)
Variant Stock Expiration DateBatch expiry date (Excel date)
Variant Stock Production DateBatch production date (Excel date)
Variant Stock Batch NumberBatch number
Variant Stock QuantityQuantity in stock; filling this column turns on stock tracking for the variant
Variant ImageRead but currently has no effect: use Product Images
Variant SKUInternal reference
Variant BarcodeBarcode
CollectionsCollection names separated by commas; an unknown collection is created
Duration Minutes / Buffer MinutesFor services: duration and buffer time
Variant Professionals EmailsFor services: emails of the professionals (team members), separated by commas
Typeservices for a service; any other value gives a classic product

An optional metadata column (not in the template) is also read: key=value;key2=value2, saved in the product's metadata. The business's product custom fields are read from the columns that carry their key.

There is no column for tags.

Images by URL

  • Put several URLs in the same Product Images cell, separated by a comma: https://example.com/a.jpg,https://example.com/b.jpg. The order of the URLs gives the order of the images.
  • URLs must start with http:// or https:// and be publicly accessible: Genuka downloads each image and stores it in its own media, in the background. During this processing, the list shows a loading indicator in place of the thumbnail.
  • An unreachable or invalid URL is ignored without a message: the product is imported without that image. Check your records after the import.
  • No limit on the number of images is imposed.

Create or update?

  • Product: found by its exact title in your business; if it exists, it is updated, otherwise created.
  • Variant: matched to an existing variant by SKU, then barcode, then option combination, then title.
  • Overwrite existing data unticked: "Only adds or updates the data in the file. Variants and warehouse stocks missing from the file are kept."
  • Overwrite existing data ticked: "Existing products will be fully replaced by the file. Variants and warehouse stocks missing from the file will be deleted."

Edge cases and common mistakes

  • The template's example rows are of type services with a professional [email protected]: imported as they are, they fail ("Professionals not found for emails"). Delete them before importing.
  • Dates: production and expiry dates must be real Excel dates (cells formatted as dates), not text.
  • Products in draft after import: the Product Published column was empty. Fix it and reimport, or change the status in bulk from the list (Change status action).
  • A CSV file: the separator (comma, semicolon, tab or vertical bar) is detected automatically from the first line.

Export, then reimport?

Export (Export, xlsx, csv or pdf formats) produces columns close to the template. From 500 products, the download link is sent by email instead of a direct download. An export is not a reliable import template: it has no Type column (services would become classic products again), and a variant stored in several warehouses takes several rows there. Start from the import template. The price before, on the other hand, survives the round trip: the export's Variant Comparison Price column does carry each variant's price before. The Total column gives, row by row, the unit price x the quantity in stock. The last row of the export, Total, adds up the price, the cost, the quantity in stock and this column: its total is the value, at selling price, of the exported stock. The import ignores the Total column and skips this last row. The export can also be limited to certain batch numbers (only the rows of those batches come out) or group variants: a single row per product, under the parent product's name, with the quantity of all its variants added up and the price of its first variant; the total then multiplies the price and the cost by the quantity (stock value). A grouped export is never to be reimported: its variants are merged there.

FAQ

How do I put several images on a product in the Excel file? In the Product Images column, list the URLs separated by commas.

Does the import update my existing products? Yes: a product with the same title is updated. Tick "Overwrite existing data" only if the file should fully replace the variants and stocks.

Can I import tags? No, the template has no column for tags. Collections, yes.

My products are already imported: how do I file them in a collection without reimporting? From the collection page (Link existing products), or by asking the Genuka assistant to add all products that meet a criterion (supplier, price, creation period, batch): see "Tags and collections" (etiquettes-tags).

See also

  • Create a product and publish it (creer-produit)
  • Variants, options and metadata (variantes-produit)
  • Barcodes and SKUs (codes-barres-sku)

Sign in to keep track of the lessons you have done.

Open in Genuka
Next lessonBarcodes and SKUs, generate, download, scanContinue A question about this lesson?Ask the assistantIt answers from the lessons and shows you where to look.