Merchant Portal: Import Products

Edit on GitHub

To import products in the Merchant Portal, follow these steps:

  1. In the Merchant Portal, go to Data Import.
  2. On the Data Import page, click Start Import. This opens the Start Import drawer.
  3. In File Templates, click CSV template Product to download a file template.
  4. In Import Configuration, select Product and choose the import file with products from your computer.
  5. Click Import to start uploading the selected file.

If there are any issues with the file, warning messages will appear. Fix the issues and re-import the file as needed.

The imported file will be listed on the Data Import page. If there are no errors, the status will be Successful.

Product import file reference

Editor

Some editors change symbols depending on your location. To ensure successful imports, we recommend using Google Sheets to edit import files.

This section explains how to fill out a product import file.

COLUMN REQUIRED DATA TYPE DATA EXAMPLE DATA EXPLANATION
abstract_sku Create only String 009 SKU identifier of an abstract product. Product type is defined in assigned_product_type.
is_active Create only Boolean 1 Status of the concrete product. Can be active (1) or inactive (0).
concrete_sku String 009_123456 SKU identifier of the concrete product. Required only if a concrete product is created or updated. Product type is defined in assigned_product_type.
store_relations String DE;AT Product availability in stores. Supports multiple values separated by ;.
product_abstract.categories String cables;camcorders Product category assignments. Supports multiple values separated by ;.
product.%ATTRIBUTE_KEY%
Example: product.color
String green;blue Product attributes. Supports multiple values separated by ;.
product.name.%LOCALE%
Example: product.name.en_US
Create only String Video Camera Localized name of the concrete product.
product.description.%LOCALE% String This is a budget-friendly video camera. Localized description of the concrete product.
product_abstract.name.%LOCALE% Create only String Video Camera Localized name of the abstract product.
product_abstract.description.%LOCALE% String This is a budget-friendly video camera. Localized description of the abstract product.
product_abstract.meta_title.%LOCALE% String Affordable Video Camera Localized meta title of the abstract product.
product_abstract.meta_description.%LOCALE% String Discover an affordable video camera that delivers excellent quality and performance. Localized meta description of the abstract product.
product_abstract.meta_keywords.%LOCALE% String affordable video camera, cheap video camera, budget video camera Meta keywords of the abstract product.
product_abstract.tax_set_name Create only String Taxed Goods Tax set name assigned to the abstract product.
product_abstract.new_from Date 2025-06-01 00:00:00 Start date of product availability.
product_abstract.new_to Date 2025-06-15 00:00:00 End date of product availability.
product.assigned_product_type String concrete Defines the type of fields being imported:
abstract — Only abstract fields are imported.
concrete — Only concrete fields are imported.
both — Both abstract and concrete fields are imported.
product_abstract.url.%LOCALE% Create only String /de/mydemo-product URL of the product in the specified locale.
product.is_quantity_splittable Boolean 1 Defines if the product is splittable.
product.is_searchable.%LOCALE% Boolean 1 Defines if the product is searchable in the given locale.
product_stock.%WAREHOUSE_NAME%.quantity Integer 10 Number of product items in stock for the specified warehouse.
product_stock.%WAREHOUSE_NAME%.is_never_out_of_stock Boolean 1 Used for non-tangible products (examples: software, services). Set to 1 (true) if the product never runs out of stock.
product_price.%STORE%.%PRICE_TYPE%.%CURRENCY%.value_net Integer 10077 Net price of the product. Example: 10077 = 100.77€.
product_price.%STORE%.%PRICE_TYPE%.%CURRENCY%.value_gross Integer 10077 Gross price of the product. Example: 10077 = 100.77€.
PRICE_TYPE can be default or original.
abstract_product_price.%STORE%.%PRICE_TYPE%.%CURRENCY%.value_net Integer 10077 Net price of the abstract product. Example: 10077 = 100.77€.
abstract_product_price.%STORE%.%PRICE_TYPE%.%CURRENCY%.value_gross
Example: abstract_product_price.DE.default.EUR.value_gross
Integer 10077 Gross price of the abstract product. Example: 10077 = 100.77€.
product_image.%LOCALE%.%IMAGE_SET_NAME%.sort_order
Example: product_image.en_US.default.sort_order
Integer 10 Display order of images. Required if an image set name is provided.
product_image.%LOCALE%.%IMAGE_SET_NAME%.external_url_large
Example: product_image.en_US.default.external_url_large
String https://example.com/image.png External link to the large version of the product image. Required if an image set name is provided.
product_image.%LOCALE%.%IMAGE_SET_NAME%.external_url_small
Example: product_image.en_US.default.external_url_small
String https://example.com/image.png External link to the small version of the product image. Required if an image set name is provided.
abstract_product_image.%LOCALE%.%IMAGE_SET_NAME%.sort_order
Example: abstract_product_image.en_US.default.sort_order
Integer 10 Display order of images for the abstract product. Required if an image set name is provided.
abstract_product_image.%LOCALE%.%IMAGE_SET_NAME%.external_url_large
Example: abstract_product_image.en_US.default.external_url_large
String https://example.com/image.png External link to the large version of the abstract product image. Required if an image set name is provided.
abstract_product_image.%LOCALE%.%IMAGE_SET_NAME%.external_url_small
Example: abstract_product_image.en_US.default.external_url_small
String https://example.com/image.png External link to the small version of the abstract product image. Required if an image set name is provided.

Error Management

If a file contains mistakes, the import status will change to Failed. You can download and analyze an error file to identify the issues.

  • Only the first error is processed per imported line. If a line contains multiple mistakes, you must re-import the file after fixing the first error to see the next one.
  • If a file contains several lines with mistakes, only those lines will not be imported; all other lines will be processed successfully.

Product Approval Status

By default, products are imported with the approval status Waiting for Approval. This behavior can be customized at the project level by configuring an alternative status.