Skip to main content
Import many products at once by uploading an Excel file (.xlsx) that follows the structure of a downloadable template. The import runs in the background and you can track its progress in the same panel.
The import creates or updates products by their SKU: if the SKU already exists in your store it is updated; otherwise it is created.

How to import

1

Open Import

In Products, click Import.
Import button on the Products screen
2

Choose the type of upload

Simple upload. Keep Generate SKU automatically on. The template won’t include the SKU column and the system assigns a unique SKU to each product. Ideal for uploading products quickly, with no extra configuration.
Generate SKU automatically option turned on
Complete upload. Turn Generate SKU automatically off so the SKU column and the optional sheets (Variations, Features, Modifiers) appear. Enable the ones you need for a more detailed upload.
Optional sheets (Variations, Features, Modifiers) enabled
Optional sheets link to each product by its SKU, so they require the SKU column. Enabling them turns off automatic generation.
3

Download the template

Press Download template (available in Spanish or English). The file is generated based on the options you chose.
4

Fill in the Excel

Complete the data using the Instructions sheet and the comments on each column. See the template structure below.
5

Upload the file and track progress

Drag or select your .xlsx and confirm. The import runs in the background and you’ll see created/updated products and, if any, per-row errors.

The Excel template

The first sheet, Instructions, summarizes what each sheet is for and includes a color reference. On the other sheets, each header is colored by whether it’s required and has a comment (hover over it) explaining what to enter.
Header colorMeaning
🔴 RedRequired — must have a value.
⚪ GrayOptional — can be left empty.
🟡 AmberConditional — required only in some cases (depends on another field).
The Products sheet is always required. Optional sheets only appear if you enabled them when downloading the template, and they reference products by the SKU on the Products sheet.

Important formats

  • Numbers and prices: a dot or a comma decimal is accepted (24.99 or 24,99).
  • Booleans (yes/no): TRUE or FALSE.
  • Lists (categories, images): separate multiple values with semicolons (;). E.g. Apparel;Shirts.
  • Stock type: limited or unlimited. Discount type: value or percentage.

Sheet: Products

Base data for each product. This is the only required sheet.
ColumnRequirementDescription
skuRequired*Unique product code. *Only appears if you turned off automatic SKU generation.
nameRequiredProduct name.
priceRequiredUnit price.
descriptionOptionalProduct description.
has_taxOptionalDoes it have tax? TRUE/FALSE.
taxConditionalTax percentage (e.g. 12). Applies when has_tax is TRUE.
statusOptionalIs the product active? TRUE/FALSE. Active by default.
stock_typeOptionallimited or unlimited.
stockConditionalAvailable quantity. Required when stock_type is limited.
discount_typeOptionalvalue or percentage.
discountConditionalDiscount amount or percentage. Requires discount_type.
branch_codeOptionalCode of an existing branch.
branch_nameConditionalBranch name. Required when the branch code is new.
categoriesOptionalOne or more categories separated by ;.
imagesOptionalImage URLs separated by ;.
product_urlOptionalPublic product URL.
note_enabledOptionalAllow a customer note? TRUE/FALSE.
note_labelConditionalNote label text. Applies when note_enabled is TRUE.
replace_variationsOptionalTRUE replaces the product’s existing variations.

Sheet: Variations

Variations of a product (size, color, etc.). Each row links to the product by product_sku.
ColumnRequirementDescription
product_skuRequiredParent product SKU (must exist on the Products sheet).
variation_skuRequiredUnique variation SKU.
priceRequiredVariation price.
stock_typeOptionallimited or unlimited.
stockConditionalAvailable quantity. Required when stock_type is limited.
attribute_1_nameOptionalAttribute 1 name (e.g. Size).
attribute_1_valueConditionalAttribute 1 value. Required when attribute 1 name is set.
attribute_2_nameOptionalAttribute 2 name (e.g. Color).
attribute_2_valueConditionalAttribute 2 value. Required when attribute 2 name is set.
attribute_3_nameOptionalAttribute 3 name.
attribute_3_valueConditionalAttribute 3 value. Required when attribute 3 name is set.
imagesOptionalImage URLs separated by ;.

Sheet: Features

Informational product attributes, in label/value format.
ColumnRequirementDescription
product_skuRequiredProduct SKU (must exist on the Products sheet).
labelRequiredFeature label (e.g. Brand).
valueRequiredFeature value (e.g. Apple).

Sheet: ModifierGroups

Groups of modifiers for a product (e.g. Toppings, Size).
ColumnRequirementDescription
product_skuRequiredProduct SKU (must exist on the Products sheet).
group_codeRequiredUnique group code within the product; referenced from ModifierOptions.
nameRequiredGroup display name.
min_quantityOptionalMinimum options to choose. Defaults to 0.
max_quantityOptionalMaximum options to choose. Defaults to 1.
max_per_optionOptionalMaximum quantity per option.
is_requiredOptionalIs the group required? TRUE/FALSE.
positionOptionalDisplay order.

Sheet: ModifierOptions

Options inside each modifier group.
ColumnRequirementDescription
product_skuRequiredProduct SKU (must exist on the Products sheet).
group_codeRequiredCode of the group it belongs to (must match group_code on ModifierGroups).
codeRequiredUnique option code.
nameRequiredOption display name (e.g. Pepperoni).
priceOptionalAdditional price for the option (0 if left empty).
image_urlOptionalOption image URL.
positionOptionalDisplay order.
statusOptionalIs the option active? TRUE/FALSE. Active by default.
linked_product_skuOptionalSKU of a product linked to this option.

Tracking and errors

After you upload the file, the import runs in the background. The panel shows progress and, when finished, a summary of created, updated and skipped products. If any row had problems, you’ll see a table with the sheet, row, SKU and reason, so you can fix and re-upload only what’s needed.
To manage the catalog from the interface, see Shop Admin.