The Complete Guide to Magento 2 Product Import / Export

- Magento 2

Magento 2 Product Import Export Tutorial

Let’s talk about Magento 2 product import and export. Chances are, you already have an e-commerce website and want to import the existing products to your brand new Magento 2 storefront or need to move product data from a dropshipping platform – you’ve come to the right place. Perhaps, you want to transfer products and their prices to price comparison engines – you will also find out how to do that below.

This blog post peruses the Magento 2 import and export processes from the very beginning, starting with the native Magento 2 guidelines for CSV files and then guiding you through the default Magento 2 import of products and various product data updates. The detailed description of a CSV file structure will help you master such nuances as Magento 2 tier price import and advanced pricing transfersBesides, you will find a thorough guide on importing configurable products to Magento 2 along with other product typesAfter that, the article proceeds to another essential topic: Magento 2 import of product custom options. You will also learn how to update product stock and import product attributes in Magento 2.

While exploring the default Magento 2 product transfers, you will discover that they lack various features, such as automation, robust mapping, and support for some popular formats and sources, to name a few. However, you can easily attain the missing functionalities with the Improved Import & Export for Magento 2. Particular attention is given to it as well. 

Firebear Studio, an Adobe Bronze Solution Partner, is willing to discuss your specific business case, provide a free quote, and conduct business analysis to assist you in growing your e-commerce business. The time has come to request a free quote! Over 3000 merchants use the best import and integration solution, which we built and enhanced over the last ten years using the best Magento expertise and knowledge.

Table of contents

Magento 2 Product CSV Samples

Magento 2 import of products with a CSV sample is the initial data transfer that you should perform before using any real store information. The sample data lacks errors and helps you master the nuances of product imports. You learn what a perfect product CSV is and how Magento deals with it.

You can either download sample Magento 2 product CSVs from our GitHub or explore the corresponding Google Sheets spreadsheets. Just follow these links:

Magento 2 Sample Import Files GitHub

Magento 2 Google Sheet Master Import Table

Magento 2 Import Prerequisites

The default Magento 2 import works with CSV file types. When exporting entities such as products or customers from Magento 2 you also have to deal with CSV files.

Magento 2 supports a particular format of CSV files. A reasonable way to learn the supported format is to export data from your website or use our sample CSVs mentioned above.

If you decide to create the output using your e-commerce website,  navigate to your store administrator panel, proceed to System > Export, and go through the default data export. We describe this process below.

The exported CSV files will have the following format:

Character set Unicode (UTF-8)
Field separator Comma, Tab
Text delimiter

How to edit CSV files

With a CSV file on hand, another essential question arises: what is the easiest way to edit a Magento 2 CSV file? Having worked with import and export procedures for a long time, we can recommend using Google Sheets because it has a couple of notable advantages over other editors:

  • Google Sheets is a free tool that requires only a Google account.
  • Uploading a CSV file to Google Sheets doesn’t break the CSV file formatting.
  • When you have edited a file in Google Sheets, you can download it without any changes to the separator and delimiter values.
  • The file is ready for import right after it has been downloaded.

What about Microsoft Excel or Open Office for Magento 2 CSV editing? Such software solutions tend to break CSV file formatting and automatically change separators and delimiters. If you are an average user you will have a hard time tweaking the corresponding settings. Stick to Google Sheets, as it is fast and easy.

How to Export Products in Magento 2

Before exploring the product import, we need to learn how to export products from Magento 2. Follow these intuitive steps:

  1. First of all, you should go to “System -> Export”Magento 2 import products default tools
  2. Then, it is necessary to select “Products” on the “Entity” dropdown.
    magento 2 export products
  3. Now, you can set up filters as well as exclude unnecessary data from the output. Check the attributes that you want to keep away from your product CSV.
  4. Click “Continue”
  5. Get your formatted csv files with Magento 2 products.

How to Import Products in Magento 2

First of all, follow these prerequisites to import products to Magento 2:

  • Check Your Update. Сheck this complete CSV sample with all fields optimized for importing products into Magento 2: Magento 2 csv sample data. The file includes all products from Magento 2 official sample data. Compare your update with it.
  • Upload Product Images. To download images for the CSV, follow this link: sample data.zip. Keep in mind that it should be unzipped, and images should be uploaded to your Magento 2 root folder /pub/media/import. We focus on how to bulk import products with images into Magento 2 in the next chapter.
  • Refer to Official Sample Files (if necessary). Additionally, you can find the official Magento 2 CSV sample in a dropdown related to import under “System -> Import”.

A general product import workflow in Magento 2 consists of the following steps:

  1. In Magento 2 admin, go to “System -> Import.”
    Magento 2 import products default tools
  2. Select “Products” from “Entity Type”.import products to magento 2
  3. Select an import behavior option: Add/Update, Replace, or Delete:
  • Add/Update is the default behavior in Magento 2:
    • If a product with the same SKU already exists, it will be updated with the new data provided in the import file.
    • If a product with the SKU does not exist, a new product will be created.
  • Replace is similar to Add/Update, but it only updates existing products and does not create new ones.
    • If a product with the specified SKU is found, it will be updated with the new data. If the SKU is not found, no action will be taken for that row.
  • Delete allows you to delete products during the import process.
    • If a product with the SKU specified in CSV exists in your database, it will be removed from the catalog.

How to Import Products to Magento 2

  1. Select your CSV file. Use the “Select File to Import” option and then click “Check Data”. If the data is correct, start importing products to Magento 2!

That’s it! This procedure will be used for all other types of product imports to Magento 2. However, each new algorithm has its unique features associated with different attributes. Therefore, let’s dive deep into the CSV file structure associated with the Magento 2 import of products.

Magento 2 Product CSV Structure

Let’s have a look at the CSV file structure for Magento 2 product import. Below, you can find a detailed description of its columns (each attribute involved). After that, we will proceed to more sophisticated cases of the Magento 2 product import that involve different attributes depending on the product type.

  • sku – a unique product identifier used as a key product attribute in the Magento 2 core. It is required for all products and should be unique for each of them. SKU can include both digits and letters without spaces separated with underscores (_) and dashes (-).
  • store_view_code – an associated store view code. The column can be empty if an associated store/website has a single sub-item.
  • attribute_set_code – a product attribute set code. Create and configure an attribute set before importing products into Magento 2. It should look exactly the same as an attribute set name including capital letters (e.g. “Default”, “Man shoes” etc.)
  • update_attribute_set – defines if the product set should be updated for the product during the import.
  • product_type – the type of an imported product. Use only lowercase letters (small, configurable, etc.)
  • categories – product categories in Magento 2 differ from ones utilized in Magento 1, where comma-separated category IDs are used. In Magento 2, full names of assigned categories, including full path, are required. Besides, assigned categories should be separated by |. For instance, “Default Category/Gear|Default Category/Gear/Bags” means that the product should be assigned to both Gear and Bags categories. The latest one is a subcategory of Gear.
  • product_websites – an associated product website code. Use lowercase letters only (e.g. “base”).
  • name – a product name.
  • description a product description.
  • short_description a short description of a product. Both, description and short description, could include valid HTML tags.
  • weight  the weight of a product. Requires using the following format 1.00000.
  • product_online – enables or disables products. Use 1 or 0 respectively.
  • tax_class_name a product tax class. Allows using capital later and spaces, like in Magento 2 backend (e.g. “Taxable Goods”).
  • visibility – visibility of a product (e.g. “Catalog, Search”, “Not Visible Individually” etc.).
  • price the price of a product (e.g. 34.000).
  • special_price – a special price of a product (e.g. 34.000).
  • special_price_from_date – time when Magento starts using a special price instead of a default one (e.g. ‘2015-09-01 15:26:29’).
  • special_price_to_date – time when MAgento stops using a special price (e.g. ‘2015-09-01 15:26:29’).
  • url_key – a URL key of the product. In case of an empty field, a value is generated automatically based on a product name.
  • meta_title – a meta title of a product.
  • meta_keywords – product meta keywords
  • meta_description – a product meta description
  • base_image the main product’s image and its path. Should be uploaded to  /pub/media/import. The path of /sample_data/m/b/mb01-blue-0.jpg has the following structure: /pub/media/import/sample_data/m/b/mb01-blue-0.jpg. In addition, you can use a direct URL of an image, such as http://site.com/images/some_image.jpg.
  • base_image_label – a label of a base product image.
  • small_image – a name and a path related to a small product image. Should be also uploaded to /pub/media/import. The path of /sample_data/m/b/mb01-blue-0.jpg has the following structure: /pub/media/import/sample_data/m/b/mb01-blue-0.jpg. In addition, you can use a direct URL of an image, such as http://site.com/images/some_image.jpg.
  • small_image_label a label of a small product image.
  • thumbnail_image – a name and a path related to a thumbnail product image. Should be uploaded to /pub/media/import as well. The path of /sample_data/m/b/mb01-blue-0.jpg has the following structure: /pub/media/import/sample_data/m/b/mb01-blue-0.jpg. In addition, you can use a direct URL of an image, such as http://site.com/images/some_image.jpg.    
  • thumbnail_image_label – a product thumbnail label
  • created_at time when a product was created. Use the following format: yyyy-mm-dd hh-mm-ss (e.g. 2015-09-01 22:26:27). If the field is empty, the date and time of the database record are used.
  • updated_at  the time when a product was updated. Use the following format: yyyy-mm-dd hh-mm-ss (e.g. 2015-09-01 22:26:27). If the field is empty, the date and time of the database record are used.
  • new_from_date – sets a product as “new” from the specified date. Use the following format: yyyy-mm-dd hh-mm-ss (e.g. 2015-09-01 22:26:27).        
  • new_to_date stops displaying a product as “new” from the specified date. Use the following format: yyyy-mm-dd hh-mm-ss (e.g. 2015-09-01 22:26:27).       
  • display_product_options_in it is a new feature introduced in Magento 2 that specifies a place on a product page where a block with options should be displayed (e.g. “Block after Info Column”).
  • map_price – a minimum price of a product.
  • msrp_price – a product’s MSRP price.
  • map_enabled – use it to enable/disable a product’s minimum price.
  • gift_message_available – shows that a gift message is available and will be displayed for a particular product.
  • custom_design – a custom design of a product page.      
  • custom_design_from – a starting date for a custom design of a product page.
  • custom_design_to an end date for a custom design of a product page.
  • custom_layout_update – a custom XML layout for a product page
  • page_layout a product page layout (e.g. 1 Column). If empty the field is empty, a default product layout is used.
  • product_options_container – a product options container.
  • msrp_display_actual_price_type   a type of a product’s MSRP price.
  • country_of_manufacture – a country of origin.     
  • additional_attributes – import of product custom options and data related to a simple product associated with a configurable product. A sample value for a simple product associated with a configurable product: “color=Red,has_options=0,required_options=0,size_pants=32” (Color attribute is “Red,” simple product has options in Magento 2: has_options = 0 – no required options, size pants attribute value is 32). A sample value for a configurable product in Magento 2 – “has_options=1,required_options=1” (Product has required options, simple product SKU is associated in the _associated_sku column ).
  • qty – a quantity of a particular product in stock.      
  • out_of_stock_qty an out-of-stock quantity of a particular product.
  • use_config_min_qty – use minimum quantity value from config.
  • is_qty_decimal set 1 if a quantity can be decimal.         
  • allow_backorders set 1 if backorders are enabled.
  • use_config_backorders – use a default system value for back-order options (enable/disable).
  • min_cart_qty – a minimum required quantity of a product in a shopping cart.
  • use_config_min_sale_qty – use a default config value for determining a minimum quantity of a sale product.
  • max_cart_qty – a maximum quantity of a product in a shopping cart.     
  • use_config_max_sale_qty –  use a default config value to determine the maximum quantity of a product in a shopping cart.
  • is_in_stock – 1 – a product is in stock, 0 – a product is out of stock.
  • notify_on_stock_below –  set a minimum product quantity to start a notification about a low stock level.
  • use_config_notify_stock_qty – use a default system value for a product’s low stock notification.
  • manage_stock to control the stock quantity of a product set 1. By setting 0 you allow  Magento 2 to consider a product has an unlimited stock level.
  • use_config_manage_stock – use a default system configuration value for stock management.
  • use_config_qty_increments – use a product quantity increment from the current store configuration. Set 1 to enable; set 0 to disable.
  • qty_increments – a product quantity increment.
  • use_config_enable_qty_inc  use a default store configuration value to enable a product quantity increment.
  • enable_qty_increments – set 1 or 0 to enable or disable product quantity increment.
  • is_decimal_divided set 1 if a product quantity increment can be decimal.
  • website_id an associated product website ID
  • related_skus related products SKUs separated with commas (e.g. 24-WG085_Group,24-WG086,24-WG083-blue,24-UG01)
  • crosssell_skus – cross-sale product SKUs separated with commas (e.g. 24-WG085_Group,24-WG086,24-WG083-blue,24-UG01)
  • upsell_skus upsell product SKUs separated with a comma (e.g. 24-WG085_Group,24-WG086,24-WG083-blue,24-UG01)
  • additional_images – additional product images (product media gallery) separated with commas. Images should be uploaded to /pub/media/import. The path of /sample_data/m/b/mb01-blue-0.jpg has the following structure: /pub/media/import/sample_data/m/b/mb01-blue-0.jpg. In addition, you can use a direct URL of an image, such as http://site.com/images/some_image.jpg.                                      
  • additional_image_labels Сomma separated labels for additional product images from the previous column.
  • _associated_sku an associated simple product SKU for a configurable product (several values should be separated with commas).     
  • _associated_default_qty a default quantity for associated products
  • _associated_position associated products position, based on the _associated_sku column

How to bulk import products with images into Magento 2

Instead of importing product images into Magento 2 one by one manually on every product page individually, you can import product images to Magento 2 from a local or remote server via CSV. Let’s explore each case individually.

Magento 2: Import Products with Images from the Local Server

In the case of a local server, the Magento 2 product image import is divided into the following two steps:

Step 1: Image Upload.

Since you cannot add image files to a CSV file directly, you need to upload them to the default folder for importing product images, such as the <Magento root directory>/var/import/images/product_images folder.

Step 2: Import Products to Magento via CSV with Images

During the second step, you need to specify the corresponding image names per SKU for every image type: base_image, small_image, thumbnail_image, and additional_image. 

magento 2 import products csv with images

It lets Magento know what image files to attach to what position on a product page.

Note that your CSV file should contain the SKU column and the corresponding image type columns

Next, import your product CSV with images to Magento 2 following the default product import process.

How to Import Products to Magento 2

Magento 2: Import Products with Images from the External Server

In the case of a remote server, the procedure is also divided into two sections.

Step 1: Image Upload

Upload your product image files to a folder on the external server. 

Step 2: Import Products with Images to Magento 2

The second step is almost the same as in the case of a local server. The only difference is that you need to specify a file URL instead of its name,  such as https://example.com/magento-2-import-products-with-images/imagename.jpg

There are also the same three image types under your disposal: base_image, small_image, thumbnail_image, and additional_image. 

magento 2 import products csv with images

Next, import your product CSV with images to Magento 2 following the default product import. Don’t forget to clear the cache afterward.

How to Import Product Tier Prices to Magento 2

Now, let’s learn how to bulk upload tier prices in Magento 2 with CSV.  If you need to import tier prices to Magento 2, go to System -> Import and select “Advanced Pricing” from a dropdown list. Next, pick “Add/Update” in “Import behavior” and configure other parameters of the standard Magento 2 import procedure.

Magento 2 import products, advanced pricing

As for a CSV file, you should remove the ALL Groups column, if there is such, and further edit the table unless it has a similar structure:

sku

tier_price_website

tier_price_customer_group

tier_price_qty

tier_price

tier_price_value_type

1001-102

All Websites [USD]

ALL GROUPS

1

10

Fixed

1001-102

All Websites [USD]

ALL GROUPS

3

9

Discount

1001-102

All Websites [USD]

ALL GROUPS

6

8

Discount

We have also composed a dedicated guide on importing tier prices to Magento 2. Follow this link for more information: How to import Magento 2 Advanced Pricing

Now, you should easily import Magento 2 tier prices to your website. This procedure allows for saving hours necessary for manual configuration in the backend. Alternatively, you can export a CSV, edit the file, and reimport it back. This also helps to save the time necessary for applying changes to tier prices in Magento 2.

Let’s continue our trip to the world of the Magento 2 product import. The next stop is MSI.

Advanced Magento 2 Import: Products with the MSI Warehouse Reference

Since the default Magento 2 import of products doesn’t let you transfer MSI data, you need a third-party solution to do that. Starting from 3.5.2, Improved Import & Export lets you import products to Magento 2 and assign them to multiple warehouses if you use the Magento 2 MSI extension. The extension allows you to specify the following parameters:

  • A warehouse to assign the product to;
  • The product quantity assigned to a particular warehouse;
  • If the product can be purchased from the specific warehouse.

To import products to Magento 2 with the warehouse reference, you need to add three custom attributes to your product import file:

Attribute name Reference Values Value examples
msi_{warehouse_name} Allows you to assign an imported product to a particular warehouse.

{warehouse_name} should be replaced by the name of the warehouse you want to assign the product.

Possible attribute values are:

1 – The product is assigned to the warehouse

0 – The product is not assigned to the warehouse

1
msi_{warehouse_name}_qty Allows you to specify a product quantity available at the particular warehouse.

{warehouse_name} should be replaced by the name of the warehouse you want to assign the product.

Only numeral values are allowed 123
msi_{warehouse_name}_status Allows you to specify if the product can be purchased from the specified warehouse.

{warehouse_name} should be replaced by the name of the warehouse you want to assign the product.

Possible attribute values are:

1 – The product can be purchased from the warehouse

0 – The product cannot be purchased from the warehouse

1

You can use multiple msi_{warehouse_name}, msi_{warehouse_name}_qty, msi_{warehouse_name}_status attributes to assign the product to multiple warehouses. Proceed to our Magento 2 product import csv sample Master Table to see how these attributes can be used during the product import.

Magento 2 import products with msi

Next, import products to Magento 2 as you would regularly do with the Improved Import & Export extension: go to System -> Improved Import/Export -> Import Jobs, create a new job, configure automation, select the entity to import – Products, and specify other parameters of your Product import.

Magento2 import products and MSI data

Follow our Magento 2 multi-source inventory import guide for more information.

Magento 2 Import of Configurable Products

Unfortunately, Magento 2 configurable product import is quite a complicated procedure. You can, however, improve it with the help of third-party extensions, but below we describe how to use the native functionality of Magento 2 to import configurable products to Magento 2. The procedure is divided into several steps, so let’s start with prerequisites.

  • Go to Stores -> Attributes -> Products. Here, you should create and define your product attributes.
    magento 2 import configurable products
  • Next, it is necessary to create attribute sets for the product attributes you want to import. Perhaps, these sets already exist, but you should check them under Stores -> Attributes -> Attribute Set in any case. If sets are not available, create them to enable your Magento 2 import of configurable products.
    magento 2 import configurable products
  • Don’t forget to set up categories properly. It means that categories for configurable products should be created before the import. You can manage them under Products -> Categories.
  • Note that neither simple nor configurable products should exist in your Magento 2 catalog before you import them.

These are mandatory rules, and we can’t find a way around them (until you start using third-party modules).

Now, let’s tell a few words about file requirements for the configurable product import to Magento 2. It is not a secret that Magento 2 import/export is based on CSV, but if your update doesn’t adhere to the standard requirements, you won’t be able to perform Magento 2 configurable products import correctly. So, here are the main things for you to consider:

  1. Use a comma as the field and multiple value separator. This parameter can be changed during the import, but it often leads to failures, so we recommend coping with this requirement.
  2. In a CSV file, list simple products before the configurable product. Otherwise, you will never import your desired items to your website.
  3. Pay closer attention to the “attribute_set_code” field. It is very important for the entire Magento 2 import of configurable products. The field should match the Attribute Set that contains the attributes for each product. Also, you may need to include an additional column “update_attribute_set” with the value “1” to update the attribute set of the product.
  4. Another important field is “configurable_variations”. It should be filled in with a pipe-separated set of sku/option combinations for each configurable product. It should be populated for the configurable product only.
  5. The “configurable_variation_labels” field should be also filled in for configurable products only. And don’t forget that its role is to correlate the Attribute code to the Label Name.
  6. As for the “additional_attributes” field, it lists options for each simple product. Separate multiple attributes with commas. Keep it empty for configurable products.

Now, we’d like to draw your attention to the example of a CSV file. For instance, we’d like to import a shirt that comes in three colors: black, white, and red. Thus, the Product Attribute “color” defines these three colors and exists in the “Default” Attribute Set. As a result, you should import 4 products: 3 simple products – black, white, and red shirts, and the main configurable shirt product. As for the key fields of a CSV file, they are:

  • additional_attributes: for the Black shirt: color=Black; for the White shirt: color=White; and for the Red shirt: color=Red;
  • configurable_variations: For the configurable shirt product: “sku=shirt-black,color=Black|sku=shirt-white,color=White|sku=shirt-red,color=Red”;
  • configurable_variation_labels: for the configurable shirt product – color=Color.

Things get a little bit more complicated when you add more attributes:

how to import configurable products to Magento 2

When your Magento 2 configurable product import CSV is ready, run the standard product import described above. For further information, follow our guide on importing Magento 2 configurable products here: The Complete Guide to Magento 2 Configurable Products.

Magento 2 Custom Options Import Described

As a Magento administrator, you can configure Magento 2 custom options manually, but there is one serious problem: the process is time-consuming. Therefore, it is a good idea to apply changes to custom options in bulk via the Magento 2 custom options import.

The default Magento 2 import tool allows you to upload custom options together with products, so you should assign all customizable fields to one product and nest them in one file column in the following format:

  • For Text, File, or Date Type

  • For Select Type

Where:

  • Magento 2 custom option name – specify custom option name as it should display for customers at the storefront (for example Print, Color, Shipped Till)
  • Type – input type for the custom option to be created (dropdown, image, date, multiple select, text field, etc)
  • Required – mark this field as required using 1 value and respectively put 0 if the customer is not obliged to adjust this option before adding the product to the cart
  • Price – if the customization, represented by the Magento 2 custom option, should draw additional cost specify its value
  • Price_type – decide on price type, to be exact how custom option price will be calculated – by percentage from simple product price or as fixed value
  • SKU – provide a unique identifier for each custom option
  • Option_title – if you import a custom option of select type, you are supposed to configure its value

Below, you can see an example of a CSV with product custom options ready for Magento 2 import:

magento 2 import^ products with custom options

So, you need to prepare your data table and then import it via the default Magento 2 product import. Follow our guide to Magento 2 custom options for more information.

Magento 2 Import: Related Products

Now, let’s focus on how to import related products to Magento 2 along with up-sells and cross-sells using a CSV file. You need to use the standard product data table enhanced by additional attributes:

The related items can be imported along with the Magento 2 products with the help of the corresponding columns:

  • related_skus – for Magento 2 import of related products;
  • crosssell_skus – for Magento 2 import of cross-sells.
  • upsell_skus – for Magento 2 import of up-sells.

They all have the same formatting: specify SKUs separated by commas to assign the corresponding products as related products, cross-sells, or upsells.

When your CSV is ready, use the default Magento 2 product import to transfer the update. Read our guide to related products, up-sells, and cross-sells to find out more nuances about the Magento 2 import of related products.

How to Import / Update Product Stock or Other Specific Product Attributes in Magento 2

To import product stock data in Magento 2, you only need a CSV file with three columns: sku, product_type, and qty. The “qty” column represents the full stock value, so you can’t increase/decrease the stock value by importing a CSV file manually. You can only specify the new amount. Let’s look at the example:

sku

qty

product_type

667

100

simple

A CSV file with such parameters will apply a quantity of 100 items to the product with SKU 667. Besides, it will set “Stock Availability” to “In Stock” if previously the qty parameter was 0 and “Stock Availability” was “Out of Stock”.

The “Product Type” (product_type) column is required by Magento 2 and should contain a product type in lowercase – simple, configurable, downloadable, etc.

Next, you only need to import this product CSV to Magento 2 following the standard procedure described above.

That’s how you import products and stock to Magento 2. Note that you can replace the qty column with any product attribute code to update this attribute!

Magento 2 Import: Grouped Products

Magento 2 grouped products inherit all the same product attributes of a simple product plus one additional attribute – associated_skus. The corresponding column in the import file contains SKUs of all associated simple (child) products. Additionally,  you can also specify the default quantity of each simple product that should be applied in the grouped product settings. To add SKUs only, use this pattern: sku1,sku2,sku3,…skun.

If you need to import grouped products to Magento 2 with the quantity information per child product, add “=” after the SKU and put a default quantity number after itsku1=qty1,sku2=qty2,sku3=qty3,…skun=qtyn.

Separate multiple SKUs by commas.

Next, follow the standard Magento 2 product import procedure. If you use Improved Import & Export, it is possible to remove the existing product associations when you import grouped products to Magento 2. It lets you reassign simple products to the grouped product so that only child products from the imported table are assigned to the parent product. For more information, follow our guide to Magento 2 grouped products.

How to Import Bundle Products to Magento 2

There are six main attributes of the bundle product that are used in the import table:

  • bundle_values – the main attribute responsible for tying simple products to the bundle. It mirrors all the settings available within the Bundle Items configuration section of the bundle product: Option title, Input Type, Required, if a simple product is pre-selected (is default), SKU of a simple product, price of a simple product, price type of a simple product, default quantity and if qty of a product is user-defined. All these values go into the bundle_values attribute for EVERY simple product. Use a comma to separate attribute values and a pipe to end the line. Add another simple product using the same pattern after the pipe;
  • bundle_price_type – it defines whether Dynamic Price is enabled or disabled;
  • bundle_price_view – it defines how the price of the product is displayed.
  • bundle_sku_type – it defines how the SKUs of the simple product will be composed;
  • bundle_weight_type – it defines how the weight of a bundle product is calculated;
  • bundle_shipment_type – it defines how the items of a bundle product are shipped.

Next, you can use the default Magento 2 import of products to transfer your bundles to your website. Read our guide to Magento 2 bundle products to learn more information about bundle product attributes and the corresponding import procedure.

Improved Import & Export for Magento 2 Product Import

If you want to improve the existing Magento 2 import and export functionality, pay attention to our Improved Import / Export extension, which provides the ability to import products CSV with images to Magento 2 from a Google Sheet spreadsheet, remote FTP/SFTP server, Dropbox, or direct URL of a source CSV.

magento 2 import products from various file source

You can also use our module to extend the default support of file formats. In addition to CSV, it lets you work with XML, XLS/XLSX, ODS, and JSON files. 

magento 2 import products via different file formats

Also, when it comes to importing products to Magento 2, the Improved Import & Export extension offers a bunch of advanced import settings:

magento 2 import products advanced settings

You can clear product associations, attribute values, categories, images, related products, cross-sells, upsells, etc. The extension lets you apply various useful manipulations to product images, too. For instance, you can resize them after products are imported to Magento 2 successfully.

The module allows importing a file with product data and images that originate outside Magento in a hassle-free manner due to mapping presets. The following GIF illustrates how the feature is implemented:

You only need to select the preset suitable for your transfer, and the module will edit the imported file automatically, making it suitable for Magento 2.

At the same time, you can match attributes manually in a mapping section:

You can run the Magento 2 import of products automatically according to a schedule or when particular actions take place within the system.

If necessary, it is possible to launch import and export processes manually from the admin or CLI. You need to configure profiles first. Then, run the Magento 2 import of products from the command line.

The extension core features are listed below:

  • Import via Google Sheets, FTP/SFTP, Dropbox, or direct URL (for both product data and images);
  • Support of XML, CSV, XLS/XLSX, ODS, JASON, and other Magento 2 import formats;
  • Magento 2 product import with XSLT transformation templates available for different file formats allows you to import any table format;
  • Price adjustments for imported products – you can increase or decrease prices of the imported products by percent or flat value;
  • Support for all core entities: Orders, CMS pages, categories, cart price rules, to name a few;
  • Import Magento 2 EAV and custom attributes, create attribute sets on the fly, and assign attribute groups;
  • Use REST and SOAP APIs to connect with external management software like CRM and ERP systems;
  • Import of tier prices along with products;
  • Dedicated categories import via CSV and other file types;
  • Flexible import mapping;
  • Import of products via CSV to Magento 2 programmatically;
  • New product attributes and attribute values can be generated automatically during import;
  • Advanced cron job scheduler to import products to Magento 2 along with other entities: categories, customers, stocks, and attributes;
  • Support for configurable and downloadable products on import;
  • Magento 2 event system for the export jobs: run product export automatically every time changes are applied to your catalog.

As for the services offered with the FireBear Studio extensions, you can always count on the following:

  • Free installation of the extension
  • Assistance with setting up and configuring the extension;
  • Assistance with Google Sheets and XML file setup for Improved Import and Export extension;
  • Assistance with complex import procedures, and mapping of the import tables;
  • Free consultations on any FireBear extensions and extension workflow;
  • Composing XSLT transformation templates for your file types.

Also, you can vote for the features coming in the next Improved Import and Export extension releases. Follow the link to the extension roadmap and upvote the features of interest.

Vote for upcoming Magento 2 improved import features

Firebear Studio would be glad to discuss your project, offer a free quote, and run a business analysis for your specific business case. With over ten years of Magento experience, we’ve become an Adobe Bronze Solution Partner. Request a free quote right now! We have over 3000 merchants worldwide who trust us because we have been providing the premier import and integration solution for over a decade. For further information, follow these links:

Download / Buy Firebear Improved Import / Export Magento 2 Extension

Improved Import Magento 2 Extension Manual

Magento 2 Product Import & Export FAQ

Below, you will find a summary of frequently asked questions about Magento 2 import and export. We’ve divided questions and answers into two sections related to import and export processes correspondingly.

Import

How to import products in Magento 2?

Well, the entire article described this procedure. You can use either the default Magento 2 instruments or rely on third-party extensions. Prepare your import file according to the requirements of your import tool and start the transfer. Depending on the complexity of your import and business requirements, the default Magento 2 instruments may not satisfy your requirements. Therefore, you need to use additional solutions, such as Improved Import & Export. Contact our specialists to get a consultancy regarding your export needs and the tools that can satisfy them.

How to import products in Magento from CSV?

It is the only way to import products to Magento 2 – via a CSV file. However, you should edit it following the standards described in this article. However, the Improved Import & Export extension provides the ability to import a provided file and apply changes to it right within the extension. You don’t need to open your CSV file in an editor. Besides, the module lets you transfer products in files of other formats.

How to bulk import products with images into Magento 2?

You cannot import images in a CSV file directly, but you can use it to inform Magento about the place where product photos are situated. To download images for the CSV, follow this link: sample data.zip. Keep in mind that it should be unzipped, and images should be uploaded to your Magento 2 root folder /pub/media/import.

How can I import products from hollister.com to the Magento website?

You need to export products from an external platform, edit the output, save it as a CSV file, and then provide it to Magento 2 manually via the default import instruments. However, it is possible to simplify this process with Improved Import & Export. The extension lets you create an API connection between the two systems.

How to auto import products from Aliexpress and Amazon into my Magento store?

By default, you cannot import products from external platforms to Magento 2 automatically. Magento 2 neither lets you leverage cron jobs to automate data transfers nor provides any means to map external attributes to make them suitable for import. Therefore, you can auto-import products from Aliexpress and Amazon into your e-commerce website using Improved Import & Export. The extension lets you create a mapping scheme once and apply it to further data transfers.

How to import related products to Magento 2?

Magento 2 lets you import and export related products, upsells, and cross-sell products with the help of the following attributes:

  • related_skus – related products SKUs separated with commas (e.g. 24-WG085_Group,24-WG086,24-WG083-blue,24-UG01)
  • crosssell_skus – cross-sale product SKUs separated with commas (e.g. 24-WG085_Group,24-WG086,24-WG083-blue,24-UG01)
  • upsell_skus – upsellers product SKUs separated with commas (e.g. 24-WG085_Group,24-WG086,24-WG083-blue,24-UG01

Use the procedure described above.

How to update existing products on import?

You need to choose the corresponding import behavior in Magento 2 import settings: Add/Update. If a product with the same SKU already exists, it will be updated with the new data provided in the import file. If a product with the SKU does not exist, a new product will be created.

How to import product Magento IDs?

Since it is a quite complex procedure, you can find the answer in this guide: How to get a product by ID in Magento 2.

How to import configurable products in Magento?

The Magento 2 configurable products import is quite a complicated procedure. We describe how to achieve the goal with the native functionality of Magento 2 here: Magento 2 Configurable Product Import.

How to import products from Magento 1 to Magento 2?

The system lets you import products from Magento 1 to Magento 2 via a CSV file and the default import process. You export data from Magento 1, edit it following the Magento 2 requirements, and import the file into your new website. That’s it. Also, it is possible to automate this process with the Improved Import & Export Magento 2 extension. Contact our specialists for further information.

Export

How to export products from Magento 2?

You can use the default export tool to transfer products from Magento 2. Choose Products as your export entity and specify CSV as your export file format. That’s it!

How to export specific products from Magento 2?

You need to leverage the Entity Attributes table to export specific products from Magento 2. Enter the required value in the Filter column, such as a specific SKU. Alternatively, you can leverage the system of filters available in Improved Import & Export.

How to export product categories in Magento 2?

You cannot export product categories by default. However, it is possible to leverage Improved Import & Export to achieve this goal. Read this guide for more information: How to Export and Import Magento 2 Categories.

How to export Magento product IDs?

There is no option to export product entity_id from Magento 2 by default. You need to leverage a third-party solution or retrieve all products via API.

How to export product images in Magento 2?

Magento lets you export image names with their directory location but no physical image transfers take place. With the Improved Import & Export Magento 2 extension, you can export both source files and product images to the same server, remote FTP/SFTP server, or Dropbox. Furthermore, Magento 2 product image processing settings and configuration are at your service. You can crop and scale, adjust the size and file name, convert to different formats, etc.

How to export Magento 2 product data and upload it to a new website?

The default Magento 2 tools are enough to create an export file with product data. Also, you need to leverage the tools available on your new website to import products. Depending on your new platform, these instruments may vary a lot. Also, it is possible to leverage the API functionality of our Improved Import & Export extension to connect the two websites directly.

How to export configurable products in Magento 2?

You can dramatically simplify the default configurable product import with the help of the Improved Import & Export extension. Contact our specialists for further information.

How to solve the Magento product export timeout issue?

Firstly, you need to check whether the max_execution_time parameter in .htaccess is not too short. If it doesn’t help, connect your server provider. Also, you may use the Improved Import & Export extension to avoid this issue.

Note that this guide to Magento 2 product import & export is the first post in the Magento 2 import/export guide list. Each post in the line covers a particular complex product type, or, like this very post, offers a general breakdown of the import procedure. Some other posts are:

Final Words

The default Magento 2 import of products is easy and user-friendly. It is always the same procedure in your admin that requires different preparations depending on the product type you import. For instance, the Magento 2 import of related products and the Magento 2 import of grouped products are different in terms of the attributes you add to a CSV file. What happens next is a standard Magento 2 product import. Yes, it lacks some features but still can be enough for basic product transfers.

However, if you need a more feature-rich data import and export, choose the Improved Import & Export extension. It will help you automate product import to Magento 2 with the help of schedules and robust mapping. You will be able to transfer products straight from Magento 1, Shopify, and other platforms due to the extension’s presets. As for product export, the module also offers a bunch of improvements, including automation, mapping, filters, etc. For more information, follow the extension’s page here: Improved Import & Export.