Skip to content
Infotech

Import and export products

If you have more than a handful of items, import them from Excel instead of typing them in. One workbook creates the products, their variants and every SKU row with its barcode and price in a single step. Restaurants have a matching workbook for menu items.

Import products

  1. Open Product Settings › Import products and download the sample workbook. Its header row shows the exact columns.
  2. Fill in one row per item you sell (see the layout below). Up to 5,000 rows.
  3. Upload the file. Blank SKUs and barcodes are generated for you (automatic codes are on by default).

The row under the header may hold hints in brackets. If it does, it is skipped.

Layout

ColumnsMeaning
name … return_daysThe product's details (name, category, brand, units, prices and so on), the same as on the product form. Rows with the same name are one product. Fill these on the product's first row; on later rows leave them blank or repeat the same value. A different value is refused.
variant_1, value_1, value_1_price … variant_3, value_3, value_3_priceUp to three main variants, for example Size = Large, Color = Red. Every row of a product uses the same variants in the same order. value_N_price is the extra price of that value; give it once (blank = 0).
sku_unitWhich unit the row's SKU is for. Blank = the sale unit. Must be one of the product's units.
sku, barcodeOptional. Blank ones are generated. Must be unique in the file and in the shop.
sku_price, sku_costOptional price and cost for this SKU. Blank = the product price (plus variant extras) and cost, converted to the unit.

With is_inclusive set to yes, every price in the row includes tax.

Every unit and variant combination gets an SKU row, as on the product form. Combinations or units you don't list are still created, using the product's price and cost and generated codes. So you only need rows for the combinations whose code or price you want to set yourself.

Example: T-shirts

name…variant_1value_1value_1_pricevariant_2value_2skubarcode
Basic T-shirt(category, brand, price 40…)SizeMColourWhiteTS-M-WH6281000000011
Basic T-shirtSizeXL5ColourWhiteTS-XL-WH6281000000028
Basic T-shirtSizeMColourBlack
Basic T-shirtSizeXLColourBlack

This creates one product with four SKUs. XL adds 5.00 to the price on both colours, because the value price is given once. The two black rows get generated SKUs and barcodes.

Rules

  • All or nothing. Every row is checked first. If any row fails, nothing is saved, and each error names its row, for example Row 7: ….
  • Service products have no units and no variants.
  • Your subscription's product limit counts products (distinct names), not rows. See Your subscription and billing.
  • Variant names go through the variant library, so "large" in the file links to your shop's existing "Large".

Update SKUs of existing products

To fill in or correct the SKU, barcode, cost and price of products you already have, export the products, edit the exported SKU sheet, and import it with Update SKUs. Use this, for example, after a supplier price change, or to add barcodes to items first created without them.

Import menu items (restaurants)

Restaurant Management › Import menu items works the same way for menu items, additions, their variants and SKUs. Download the sample from the import screen.

ColumnsMeaning
name, name_arRows with the same name are one menu item. Menu names are unique in the shop.
menu_typeStandard (default) or Addition. Additions have no variants and no modifier groups.
main_category, sub_categoryBoth required, by name (English or Arabic).
priceSelling price; variant extras are added to it. Required unless every variant row has a sku_price.
is_inclusive, is_active, is_tobaccoyes / no. Active defaults to yes.
storeStore name. Blank = all stores.
prep_minutesPreparation time, 0 to 1440.
modifier_groupsModifier group names separated by commas, in the order the till should show them.
variant_1 … value_3_priceUp to three variants, as for products.
sku, barcode, sku_priceOptional. Blank codes are generated. sku_price only for variant rows; a menu item without variants uses price.

Each menu item goes through the same checks as the menu item form, and errors are reported on the row they come from.

Example: a row with name Latte, variant_1 Size, value_1 Large, value_1_price 3, and modifier_groups Milk, Extra shot creates a large latte at the base price plus 3.00 that offers the Milk and Extra shot groups. Create the modifier groups first. See Modifier groups.

Import and export categories, brands and units

The Categories, Brands and Units of Measure pages each have their own Import and Export buttons. Import them before products, because every product needs a category and a brand, and stocked products need units. See Categories, brands and units.

Last updated 17 Oct 2026