Search on Firebear Studio blog

Improved Import / Export Magento 2 Extension Manual

Manual for
Improved Import / Export extension for Magento 2

Improved Import and Export extension allows importing csv/xml/txt files with products data and product images to Magento 2. The files can be imported from a remote FTP / SFTP server, Dropbox, direct URL of a source CSV file, and starting from 2.1.1 version Google Sheets (Read about Google Sheet Master Table). In addition, the extension offers a dedicated category import from CSV files, import of attribute values and new attributes on the fly, import job scheduling with cron jobs , and other.

Besides, you get advanced export capabilities, including order export and export jobs, with attribute and table field mapping.

In this manual you will find all the necessary information on how to use and operate Improved Import and Export extension. However, including a thorough instruction on how to import each and every entity to Magento 2 would be an overkill. That’s why we have composed

In the guide list you will find step-by-step instructions on how to import every possible entity – such as configurable products or CMS pages – to your Magento 2 store. For every entity we have composed a dedicated blog post where you can find sample files, attribute reference and other useful information.

Creation of new attribute values on the fly: if attribute values don’t exist in Magento 2 database, they are created during the import process;

Full support of Google Sheets – paste links and import directly from the sheets;

Tier price import with products – imports both products and tier prices from a single file;

Configurable products can be created on the fly – specify SKU of parent product for a simple product and configurable will be created automatically;

Asynchronous import and export process for data heavy tables – now you can easily import and export data heavy tables from your bowser;

Cron jobs for any kind of import (products , categories, customers, stock, attributes, etc.) – flexible and extremely powerful feature of Magento 2 Enterprise Edition is now available for Community Edition!

Full support for configurable products: files can be placed locally or imported from a remote URL source;

Extension Configuration

The configuration section is represented with a single setting Create attribute values on the fly. The setting controls if the product attributes can be created directly from the import table.

To create new attributes one should use custom column structure that will be covered later in this guide in the Product attribute values on the fly import section.

Import and Export Job grids

Most of your time with the extension you will spend at System > Improved Import/Export > Import Jobs and Export Jobs. There you can find Import and Export Job grids, create new job and edit the existing ones.

Import and Export Job grids have the same look and functionality and for convenience purposes we will cover both grids at the same time.

The grid displays the following information about each job:

ID – unique ID of the job;

Title – title of the job for internal identification purposes;

Status – current status of the job, whether it is enabled or disabled;

Cron – cron schedule, how often the job is launched automatically;

Frequency – one of the predefined frequency values, if selected, how often the job is launched automatically;

Import Source – source file with the table from which the values should be imported, can be: file, ftp, sftp, url, Google sheet.

All these columns can be adjusted using the ‘Columns’ button at the top of the screen. To save the changes you have made to the job grid – use ‘Default View’ button. If you are looking for a particular job – use ‘Filters’ button. Last is the ‘Action’ column, here you can edit and delete jobs as well as change their statuses. Alternatively, you can apply these actions to multiple jobs simultaneously.

Note, that it is also possible to edit the job right from the grid. You only need to click on the job.

This is it for the job grids. Now, let’s add a new import job to see how it’s done.

Add new Import Job

To add a new import Job click ‘Add New Job’ button at the top of the job grid. You will be redirected to the New Job screen which is split into four configuration sections:

General Settings;

Import Settings;

Import Behavior;

Import Source.

Later, as we will learn how to select the import entity, the new configuration sections, specific to the imported entity, will appear. We will cover these sections later, in the chapters dedicated to specific entity import.

General settings

The first set of settings defines the name of the job, schedule and general job behavior.

Start by switchingEnable Job. If enabled, the job will automatically run according to the set schedule. If you are going to only run the job manually you can leave the job disabled.

Then, think about the expressive Job Title that describes the job best. It will help you find the job in the grid or understand which jobs are enabled/disabled.

Next, it will be necessary to configure the Frequency of the import job, – how often the job should be automatically executed. You can select one of the predefined values or set up ‘Custom’ Frequency.

Cron Schedule is where you configure ‘Custom’ frequency. It allows you to take full advantage of the cron daemon scheduling pattern. If you are not sure how to use it we will teach you how to a bit later.

After configuring schedule you need to select the Locale of the store you are creating the job for.

If you think that some of the imported products or categories may use the same URLs, switch Generate Unique Url if Duplicate on.

At last, consider enabling Re-index after Import.Some of the stores, may be indexed for performance optimization, in such cases re-indexing will be required.

The first section of the import job configuration page is now complete. You know how to change job statuses and create cron schedules. The following GIF illustrates the aforementioned processes:

How to use cron

Cron is a daemon scheduler for UNIX systems, it is used by Magento 2 and Improved Import and Export extension for scheduling execution of different scripts. It works on the following pattern:

Below you can find a handful of useful links to understand the concepts of the cron scheduler and master it. We advise you to try configuring cron yourself. It will be a great help of the import and export job automation.

Make sure you have set proper schedule before enabling the job or create some test jobs to see how the cron works.

Import settings

Now, it is time to proceed to the second section of the New Job screen – Import Settings. Here, you select the entity that will be imported. Currently, the extension allows you to import the following entities:

Products;

Categories;

Customers and Addresses (single file);

Customers Main File;

Customer Addresses;

Advanced Pricing;

Cart Price Rules;

CMS pages.

Depending on the selected import entity you get different configuration sections. Every entity, however, has two sections in common: Import Behavior and Import Source.

Import behavior

In this section, first you are to specify the Import Behavior. There are four general behavior types:

Add/Update – the new products from the import table will be added to your store and existing products updated according to the values in table;

Only update – the new products from the import table will NOT be added to your store, instead, only existing products will be updated according to the values in the table;

Replace – existing products will be replaced with the products of the same SKU from the import table;

Delete – the products specified in the import table will be deleted from the store.

Each value does what it reads. Choose the one that suits your needs. Some entities, however, may come with the behavior type a little different. Such unique behavior types are described individually.

Next, configure Validation Strategy. You can ‘Stop on Error’ or ‘Skip error entries’ during import process. And specify allowed error quantity, maybe a couple will do.

Then, you are suggested to choose various separators in case the file you are importing differs in formatting from the native Magento 2 .CSV file. The separator values are the following:

Field Separator;

Multiple value separator;

Category Levels separated by;

Categories separated by.

Default values of the Import Job separator fields correspond to the Magento 2 CSV file requirements, so, if you are using such CSV you shouldn’t change anything.

If you are using new import table of which separators you are not sure of, you can open it with any editor (like MS Excel) and find what separators are used.

Import source

Import File Type section illustrates lots of useful improvements in comparison with the default import procedure. You can select one of two file types (the default import allows just CSV): CSV and XML. Note that you can use XML files of the following format: Magento 2 Import Export Sample XML Files. Alternatively, you can upload any other format, but it is necessary to use mapping. You can always find up-to-date sample import/export files in all formats at Firebear Github Import Export Sample Files for Magento 2.

Next, choose your import source. It may be:

File;

FTP;

SFTP;

URL;

Dropbox;

Google Sheets.

Yes, the Google Sheets, at last! 2.1.1 version of the extension introducedFull Support of Google Sheets. You can now, work with your colleagues on the same document, paste it and run the import jobs. Just like this.

Starting from version 2.1.2 the extension also comes with the Use Image Import Source switch. The switch decides how the extension will handle image paths if your source is FTP or SFTP.

If the Use Image Import Source switch is disabled, the extension will look for the images OUTSIDE of the FTP/SFTP according to the path specified in any image attribute columns of the import table.

If the UseImage Import Source switch is enabled, the extension will look for the images INSIDE of the FTP/SFTP according to the path specified in any image attribute columns of the import table.

For example:

If the value for the product image in the base_image column is URL:

with disabled Use Image Import Source switch is disabled option the extension will proceed to download the image by the URL specified;

with enabled Use Image Import Source switch is disabled option the extension will try to find the specified URL path INSIDE of the the FTP/SFTP you are importing the table from.

File

In case of ‘File’, you can use direct file upload or specify its path.

Images File Directory allows you to specify the path, relative to your Magento 2 folder, where the extension should look for images. If the Images File Directory is not specified the extension will use a default folder path relative to your Magento 2 installation: pub/media/import.

NOTE:

The actual path to the image is composed of the value you enter in the Images File Directory field + value of the image attribute.

For example:

Case 1:

You have uploaded product images to the pub/media/import/. And set Images File Directory value to pub/media/import/.

In this case, in the relevant image attribute you will only need to specify the name of the image file. Like: product_image_1.jpg

So, the full path combined will be pub/media/import/product_image_1.jpg.

Case 2:

You have uploaded product images to the pub/media/import/, and set Images File Directory value to pub/media/import.

However, every product image is located in the dedicated folder with the product name. For example: /product_1/product_image_1.jpg

In this case, in the relevant image attribute you will need to specify the path relative to the value you specified in the Images File Directory field: /product_1/produt_image_1.jpg

So the full path combined will be pub/media/import/product_1/produt_image_1.jpg.

FTP and SFTP

If you are not sure about the credentials – ask your FTP or SFTP provider for the correct ones.

Google Sheets and direct URL

As for Google Sheets and URL upload, it is only necessary to paste the file URL in the appropriate field.

For Google Sheets you first need to select the the actual sheet you want to import, in case you have several sheets in the import table, and only then copy and paste the URL.This was as for the basic import job configuration. Now, you can click ‘Save & Run’ button to test the newly created job. If the uploaded file has a structure that differs from the default import file, then you will need to apply mapping. If it satisfies the Magento 2 requirements, you can start the import process right now.

XSLT transformation for XML files

The latest release of the extension introduced XSLT transformation for XML files. What it means for the end user? It means that now you can import XML files of ANY format with proper XSLT code template.

Let’s start from the beginning. Improved Import and Export extension allows importing XML files, however, of a particular format:

XML 1.0

encoding: UTF-8

field separator: space

first row: column names

top-level root name: Items

XML record name: item

In other words, if you want to import XML file of a different format you first need to transform it. Now, with introduction of the XSLT block you can do it directly from the Import Job screen.

XSLT is a special programming language that dictates how XML files should be read. For example, your supplier provides you with the custom XML file with the product updates. In this case you can ask your developer to compose an XSLT template that will convert this custom XML into a format readable by the extension.

Import prerequisites

Import is not a straightforward procedure in Magento 2. Improved Import and Export extension’s aim is to make it much more user friendly. However, there are some things that cannot be simplified, such as Magento 2 formatted CSV tables with the import entities, such as products.

So, to make sure you are prepared for the import procedure let’s revise what do you need to have before attempting product or other entity import.

IMPORTANT!

We strongly advise to read through the Complete Product Import Guide before referring to import procedure. This guide will help you understand the concepts behind the import procedure and how the Magento 2 addresses different import entities.

Import Table, requirements and where to get

To import anything to Magento 2 using Improved Import and Export extension you need to have a properly formatted CSV or XML table. Native Magento 2 import process only supports CSV file formats, however with the help of FireBear extension you can also take advantage of the XML file format.

The import table should be properly formatted before attempting to import anything. There are several ways of getting properly formatted table:

In case you want to compose the table manually you need to create the following CSV file:

Character set

Unicode (UTF-8)

Field separator

Comma, Tab

Text delimiter

”

Now that you have a properly formatted CSV table it is time to fill it with the import entities and learn how different entities are imported.

How to import products

Importing products and product updates is probably the most used feature of the Improved Import and Export extension. In this chapter we will cover everything you need to know about product import step by step.

Important notes

Product import can be conventionally divided into: product import and product update. The main difference is in REQUIRED product attributes that should be in the table you are importing. You need to remember:

Product import – understands that you will be creating new products from the import file. In this case the required columns will be:

sku – a unique product identifier.

attribute_set_code – product must be assigned to an existing attribute set. The attribute set should also contain all the optional product attributes such as: color, size, fabric; and their values.

product_type – Magento 2 needs to understand what type of product it needs to create.

name – a name of the product that will be displayed to the customers.

price – price of the product.

Remember, these attributes are mandatory. In order to create new products you need these attributes in your CSV table. All other product attributes, such as description and image, are optional and you can add them only if you need them.

For example in this Google Sheet you can see that we can create a configurable product with only 12 columns representing 12 product attributes.

Product update – understands that you will be updating attributes of the product(s) that already exist in your Magento 2 catalog. In this case the required columns will be:

sku – a unique product identifier.

attribute_set_code – product must be assigned to an existing attribute set. The attribute set should also contain all the optional product attributes such as: color, size, fabric; and their values.

It means, that if you already have products in your Magento 2 catalog, and only want to update for example stock and price, you can compose the table with four columns: sku, attribute_set_code, price, qty. For example like in the Google Sheet here.

Step 1: select entity, behavior and upload import table

In the Import Behavior specify what the extension has to do with the imported entities: add/update, only update, replace, delete.

And upload the import table you have composed or downloaded in the Import Source section.

Once everything is done – click Validate button to proceed to the other job settings.

Step 2: map attributes

If the import file has a custom structure that doesn’t fit the Magento 2 requirements, you can apply mapping. If not sure, you can check the sample import files at FireBear GitHub: Import Export Sample Files for Magento 2.

The Map Attributes section provides the ability to apply presets for the import tables to automatically map attributes from the table with the ones in your Magento 2. There is a ‘Select A Platform’ field, where you can select a platform from which you are importing the CSV file. For example if you are migrating your Magento 1 store, you can take advantage of Magento 1 preset.

Select the Magento 1 preset from ‘Select a Platform’ field. The extension will provide you with the links to the sample files, so you can view the structure of each one.

Once the preset is applied, the extension will automatically perform mapping for fields that don’t satisfy system requirements:

At the same time, you can still do everything manually: select a default Magento 2 attribute in the ‘System Attribute’ and specify an appropriate import attribute. Besides, you can type a default (hard coded) value for each attribute. It will be added for each imported item in the appropriate attribute column.

To delete a mapping item, click on the black bin icon. When the mapping configuration is prepared hit the ‘Validate’ button to validate mapping. That covers Map Attributes section.

Step 3: map categories

If you need to adjust the categories of the products from the import table you can make use of the Map Categories section.

To start click ‘Load Categories From Import File’ button. The extension will load all values from the ‘categories’ column of the impor table.

Next, click ‘Add New’ button, to map the first category. At the ‘Import category path’ field select the category from the import table you want to map.

At the ‘New category path’ select the category from your Magento 2 store you want the product to belong to. Now, the old category path is mapped with the category path from your store.

NOTE:

‘Default Category’ in the category path – is a sample Magento 2 root category. If you want to import a root category – make sure to specify its name first in the category path. Remember – ‘Default Category’ is not a prerequisite for category path, rather an example.

If required, you can add new categories to your store right from the import job. To do this click ‘New Category’ button.

You are now set with the categories.

Step 4: price rules

At the Price Rules section you can adjust product prices specified in the import table. This is particularly useful if your want to add a set value for a certain manufacturer, or if your supplier increases/decreases the prices on a set percent value.

Click ‘Add Rule’ button to start price adjustments;

Next, in the ‘Apply’ column set whether you want to add a price or flat value to the prices of the product specified in the import table;

Then, in the ‘Value’ column specify the value of the price adjustment;

After, identify the products that will be a subject to the price adjustment using the ‘Conditions’.

If required you can add other lines of price adjustments by clicking ‘Add Rule’ button once again.

Remember that the conditions are only for the products from the table you are importing, not for the products currently in your Magento 2 catalog.

Step 5: Custom logic for creation of configurable products

You will need to use this section if your import table contains configurable products and you want to create them for your product catalog. You can find detailed example of how configurable products can be imported in the dedicated chapter of this manual. You can also refer to the dedicated blog post about configurable products where we have tried to create a complete guide to this complex product type.

Improved Import and Export extension version 2.1.1 has added several fast and convenient ways of importing Configurable Products to your Magento 2 store.

To import a configurable product with a bunch of assigned simple products you only need a single attribute. Let’s break down how this section works.

In this section, we will only describe what each setting is responsible for and give general impression. If you are looking for in-depth guide on how to import configurable products using Improved Import and Export extension refer to the chapter ‘How to import configurable products’ of this manual.

The new section for configurable product import comes with the following settings:

On – defines whether the custom logic for creating configurable attributes is enabled;

Create Configurables Products – defines whether NEW configurable product should be created at your Magento 2 store if simple products have a reference to it, however the import file lacks this very product and it cannot be found at your store.For example:We are importing nine simple products that are referenced to configurable product with SKU:123. However, in the table there is no configurable product with SKU:123, and there is no such product in your Magento catalog. In this case a configurable product with SKU:123 will be created automatically, providing Create Configurable Products is enabled. Note: newly created configurable product will have the name same as SKU, and no price applied.

Configurable Product Condition – defines on what conditions the configurable product should be created. There are five condition types:

Create config product by the same attribute of simple products – allows assigning simple products to a configurable product using dedicated column where the SKU (or any other recurring value) of the configurable product is specified.How is it done.In the import table, where you list all simple products that should be assigned to the configurable, you need to create a new column with a unique name. In the Master Table we use column ‘group’.In this column, next to the simple products, you need to specify the SKU of the configurable product you want this simple assigned to.

Create configurable products by custom rules (part of a line before delimiter) –allows assigning simple products using SKU (or any dedicated column), where the extension reads part of the value before delimiter (which is specified separately).

Create configurable products by custom rules (part of a line after delimiter)– allows assigning simple products using SKU (or any dedicated column), where the extension reads part of the value after delimiter (which is specified separately).

Create configurable products by custom rules (the number of characters from the beginning of the line) – allows assigning simple products using SKU (or any dedicated column), where the extension reads first N number of characters from the beginning of the line).

Create configurable products by custom rules (the number of characters from the ending of the line) – allows assigning simple products using SKU (or any dedicated column), where the extension reads first N number of characters from the beginning of the line).

Next comes the Product attributes for variations table, where the store owner selects the product attributes, available in the import table, that the extension should also consider when assigning simple products to a configurable one.

For example:

If several simple products have same attributes: size and color; and same Configurable Product Condition values, then a configurable product will be created. If some of the attributes differ, then some of the simple products with different attributes, will not be assigned to the configurable one.

Importing different product types

When importing products to Magento 2 you should consider that different product types, such as configurable, bundle, grouped, require special attributes in the import table.

To get you acquainted with different product types and provide you with the complete set of instructions on how to compose the import table we have created a set of posts, each covering a particular product type:

Read these posts to master every product type and make sure you can handle complex import procedures.

This is the end of chapter ‘How to import products’, please follow the instructions carefully and read through additional materials provided above. Product import is a complex task, however, master it and you save a great deal of time on product management.

How to import categories

With the help of Improved Import and Export extension you can now import product categories in a separate file. To import categories to your Magento 2 store you will need:

A CSV or XML table formatted to fit Magento 2 requirements. You can find a table with sample data and attribute description it in the Master Google Sheet.

How to import advanced pricing

Advanced Pricing is the tier prices that can be applied to the products. The tier prices allow you to apply discounts depending on how many products, or product variations a customer belonging to a particular group purchases.

With Improved Import and Export extension you can import advanced pricing along with the products. To do this – add advanced pricing attributes to the import table you have composed for your products and run Import Job with Entity = Products. More information can be found in the dedicated post by the link above.

How to import CMS pages

2.1.2 version of Improved Import and Export extension brings import of the CMS pages. At the moment it is only possible to add new CMS pages to your Magento 2 content, however, other import behavior types are coming soon.

To import CMS pages to your Magento 2 you will need:

A CSV or XML table formatted to fit Magento 2 requirements. You can find the sample files with all attribute description and sample values at the Google Sheet Master Table.

Running the Job

Now that we have covered all the Import Job settings it is high time to run the job.

To run the job from the Magento 2 admin, previously, this was possible only via CLI, hit ‘Save & Run’ button.

When the import is complete, the system will inform you whether the process went successfully or not. The detailed history log is also available on the appropriate page. In case of unsuccessful import, you will also see a detailed log with errors that are to be fixed:Starting from version 2.1.2 the log is also saved to var/log/firebear folder at your store FTP.

Job history

Another important aspect of the Improved Import and Export Magento 2 extension is a job history which is available for both import and export jobs. You can find it on each job screen. Open the job and click the ‘View History’ link.

A new screen will be displayed. A grid with all runs is available there. You can download a log of each run, as well as view its type and start/finish time.

Add new Export Job

To create new Export Job hit the big orange ‘Add New Job’ button – you will be transferred to a new screen, which is divided into 4 sections: General Settings, Export Settings, Export Behavior, and Export Source. Let’s describe each one.

General settings

Here, you can enable/disable the job. Depending on the selected option, the job status is changed from ‘Enabled’ to ‘Disabled’ or vice versa.

Next, type a job title. We recommend you to use an expressive title that describes your new job. This will help you find the job in the grid or understand what jobs are enabled/disabled.

Now, it is necessary to configure the frequency of your export job. Although, you can always create a custom schedule (select the ‘Custom’ option in the ‘Frequency’ field), it is recommended to use the ‘Cron Schedule’ field (the field where you create a custom schedule) only if you understand cron well and have some previous experience in configuring this setting.

Alternatively, it is possible to select one of the predefined schedules:

None (manual run only)

Every minute;

Every hour;

Every day at 3:00am;

Every Monday at 3:00am;

Every 1st day of month at 3:00am;

Custom.

In the end you are suggested to specify whether the additional_attributes column, where Magento 2 likes to put custom attributes such as color and size, should be split by attribute using Divide Additional Attributes setting.

If Divide Additional Attributes option is disabled – all custom attributes you have added to the product will be put in a single column of the exported file. This can be useful if you are not intended to edit these attributes.

If Divide Additional Attributes option is enabled – all custom attributes will be placed in the dedicated columns making the attribute management much easier, however, taking some of space of the table.

The first section of the export job configuration page is now complete. You know how to change job statuses and create cron schedules.

Export settings

Now, it is necessary to proceed to the second section of the configuration page – Export Settings. Here, you can select an entity that will be exported. Currently, the extension allows you to export the following entities:

Advanced Pricing;

Products;

Customers Main File;

Customer Addresses;

Orders;

Categories

As you can see, the first 4 entity types are available in the default export procedure. The Improved Import / Export Magento 2 extension adds two new one – Orders and Categories. Thus, you can easily export all orders and categories automatically according to the predefined schedule. Let’s describe how to configure other export job sections on the example of the ‘Order’ entity type. Select ‘Order’ in ‘Entity’.

Export source

Choose the first one and specify a file path – your export source configuration is complete.

In case of FTP or SFTP, it is also necessary to specify Host, Port, Username, and Password. You can always check whether the provided parameters are correct by clicking the ‘Check Connection’ button.

This was a basic export job configuration. Now, you can click ‘Save & Run’ to test the new job. If exported file has a structure that differs from the default export file, then apply mapping. If it satisfies the requirements of your external system, start export right now. Below, we describe this process in a more detailed manner.

Map attributes

In this section, you can export fields specified in mapping only or all entity-related attributes. Turn the appropriate feature on to get a file with selected options only.

3) Select a system attribute that will be used as a basis of a new filter (‘Field’ column);

4) Specify parameters that will be applied for filtering (‘Filter’ column).

5) Repeat the previous steps to create more filters.

Note that parameters applied for filtering vary, depending on the attribute chosen (field).

It is possible to delete each filter by clicking the black bin icon. To move rows, click on the left dotted area and drag&drop the row.

Now, you can save and run the new job as well as only save it. The appropriate orange buttons are available on the top of the screen.

The process of running Export Jobs is similar to that of Import Jobs described previously.

Run Import/Export Jobs Via CLI

Import cron jobs can be enabled, disabled, or started from the Magento 2 CLI interface. In the Magento 2 root folder, run the following command:

1

2

3

4

5

php-fbin/magento import:job:COMMAND JOB_ID

import:job:disable Disable Firebear Import Jobs

import:job:enable Enable Firebear Import Jobs

import:job:run Generate Firebear Import Jobs

You will see the following information in the terminal:

This is how everything works:

To control export jobs via CLI, use the following commands:

1

2

3

4

5

php-fbin/magento export:job:COMMAND JOB_ID

export:job:disableDisable Firebear Export Jobs

export:job:enableEnable Firebear Export Jobs

export:job:runStart Firebear Export Jobs

You will see the following information in the terminal:

Both import and export commands:

Extension customization endpoints

Improved Import and Export extension has been developed with customization possibilities in mind. That’s why we have left customization endpoints for development agencies and in-house developers. If you are not sure how to customize the extension on yourself – you may want to provide this imformation to the developer you are working with.

With customization module you can create plugins for Improved Import and Export functionality:

customChangeData($data): changing data whiling saving

customBunchesData($data): changing data whiling saving bunches

The customization module is constantly updating and gains new features. Make sure to bookmark its page and check back regularly.

Use cases and specific features

Magento 2 Google Sheet Import

Improved Import and Export extension support Google Sheets, meaning you can now work in cooperation with your colleagues on a single Google Sheet, then paste its link to the Import Job and hit Run button. Pretty simple, huh?

Moreover, with the new release Firebear Studio introduce Master Import Table, where we have gathered all product types and attributes available, to get you into import process in a quick and easy way. You can read more about the Master Table here.

Categories can be imported with different behavior – Add / Edit , Delete, and Replace which allows flexible category manipulations.

To import data from the Google Sheet File hit ‘Save and Run’ button.

Tier Price import

With 2.1.1 release Tier Prices can be imported along with the products in the same file. This is now possible with tier_prices column. Note, how ‘priceS’ are plural, in comparison with native Magento 2 tier_price column. In other words, if you are using native Magento 2 import, you need two separate files to import tier prices and products.

The tier_prices column is product specific and allows specifying multiple tier prices for each product. As you know, tier prices can be:

A percent discount of the original product price;

A flat price value.

Percent discount

For percent discount one should use the following data format in the column:

Customer Group,Qty,Price,Percent,Website|next_tier

For example, the value:

1

General,360,0,3,All|Retailer,540,0,5,All

Will get you:

3% discount for group General when purchasing 360 items at any Website. And 5% discount for group Retailer when purchasing 540 items at any Website.

As you can see, you set the Price here to 0.

Fixed discount

For fixed discountone should use the following data format in the column:

Customer Group,Qty,Price,Percent,Website|next_tier

For example, the value:

1

General,100,10,0,All|Retailer,200,9,0,All

Will get you

$10 price for products purchased in quantity of 100, by group General at any Website. And $9 price for products purchased in quantity of 200, by group Retailer at any Website.

As you can see, you set the Percent here to 0.

Categories import

Categories can be imported with different behavior, which allows for flexible category manipulations:

Add/Edit;

Delete;

Replace.

The process behind the category import and simple and has not peculiarities, you can in the process described in the ‘Add new Import Job’ chapter of this manual.

Product attributes import – create new attributes on the fly during the product import

The idea behind the import of product attributes to Magento 2 on the fly during the product import is pretty simple – instead of having only attribute name on a column with attributes, we place there all data required to create an attribute.

For instance, attribute set, frontend labels, scopes, etc. You can find a structure sample and a sample CSV file below. Please follow the example carefully and import a CSV file with products first. If it works correctly, you can create a custom attribute column and add new attributes. This will reduce possible issues, debug time, and maintenance time.

The general format of an attribute creation column can be described as follows:

attribute|attribute_property_name:attribute_property_value|…

To separate values use pipe “|” symbol. Note, that the new attribute column should ALWAYS start with ‘attribute’, it allows the extension to understand that this is a new attribute.

Composing new attribute

Let’s say, we want to create an attribute for the product size. Let’s list the values of the attribute, and put a required import values after the hyphen in italics next to them:

Default Value of the attribute will be size ‘XS’ – default_value_text:XS text

Unique Value will be set to ‘No’ – is_unique:0

Add to Column Options will be set to ‘Yes’ – is_used_in_grid:1

Use in Filter Options will be set to ‘Yes’ – is_filterable_in_grid:1

Use in Search will be set to ‘Yes’ – is_searchable:1

Search Weight will be set to ‘3’ – search_weight:3

Visible in Advanced Search will be set to ‘No’ – is_visible_in_advanced_search:0

Comparable on Storefront will be set to ‘No’ – is_comparable:0

Use in Layered Navigation will be set to ‘Yes’ – is_filterable:1

Use in Search Results Layered Navigation will be set to ‘Yes’ – is_filterable_in_search:1

Attribute position in layered navigation will be set to “2” – position:2

Use for Promo Rule Conditions will be set to ‘No’ – is_used_for_promo_rules:0

Allow HTML Tags on Storefront will be set to ‘Yes’ – is_html_allowed_on_front:1

Visible on Catalog Pages on Storefront will be set to ‘Yes’ – is_visible_on_front:1

Used in Product Listing will be set to ‘No’ – used_in_product_listing:0

Used for Sorting in Product Listing will be set to ‘Yes’ – used_for_sort_by:1

Default label will be ‘Size’ – frontend_label_0:Size

Default label for store ID:1 will be ‘Size’ – frontend_label_1:Size

Will belong to ‘Default’ attribute set – attribute_set:Default

Now we have specified all necessary values for the new attribute. We only need to copy and paste attribute values after the hyphen, and separate them with a pipe delimiter. So the column with the new attribute will be named like this:

Attribute value reference table

In the table below, you will find each property required for attribute creation in Magento 2 as well as appropriate possible values. As you can see, only attribute set and frontend label are required for creating a new attribute in Magento 2 during the import process. Another quite important attribute property is attribute code which actually defines the type of your attribute (text field, dropdown etc). If it is not specified, the attribute will be created with type XXX

Configurable Product Import

All the examples in this chapter are written in reference to the Master Import Tablewe have composed for your convenience. Before proceeding to creating configurable products during the import process, please, read carefully about the Master Table and its use.

Improved Import and Export extension offers five scenarios for Configurable Product import. These scenarios can be selected in the Configurable Product Condition field of the Import Job settings. For more information on the scenarios read Custom logic for creation of configurable products chapter of this manual.

Create config product by the same attribute of simple products

This is the first scenario. It allows creating configurable products using the dedicated column for simple products, where the required configurable product SKU is specified.

As per the GIF image above you can see, that we have nine simple products rows 2-10. The service ‘group’ column for these products contains NEW – which is an SKU of the configurable product, these simples belong to.Let’s configure an Import job, to import these simple products, and assign them to the newly created configurable product. We will omit the general and other settings and focus solely on Custom logic for creation of configurable products.

Here we have:

Enabled custom custom logic for creating configurable products;

Decided that we want to create new Configurable Products. These products never existed at Magento 2 store, and in the Import Table, however have referenced simple products. You can disable this option, if you have a configurable product with the reference attribute in your import table, or at your product catalog;

Configurable Product Condition is set as per the chapter you are currently reading;

In theAttribute / column name on file we have specified ‘group’ as per table GIF above. As we use this column to tie simples to configurables. You can create any other column and name it the way you want. Just make sure, to put it into the Attribute / column name of file field, when importing the products.

In the Product attributes for variations table we have specified attributes ‘color’ and ‘size’ as our simple products have these attributes for swatches. When creating configurable products on your own, – specify the attributes of your simple products.

Now, we can run the job to import these nine simple products. When the import job is processed a new configurable product with these nine simple products assigned to it will be created in your product catalog.

Create configurable products by custom rules (part of a line before/after delimiter)

This is the second and third scenarios, that differ only in that of whether extension should start scan from the beginning or the end of the cell. It allows creating configurable products using the dedicated column for simple products, where the extension should look for similarities in the submitted value before the set delimiter.

As per the GIF image above you can see, that we have nine simple products rows 2-10. The ‘sku’ column for these products contains similar product SKU, which start with NEW and then list product size and color, after a hyphen. In this case the hyphen is a delimiter, that separates one part, from another.

Let’s configure an Import job, to import these simple products, and assign them to the newly created configurable product. We will omit the general and other settings and focus solely on Custom logic for creation of configurable products.

Here we have:

Enabled custom custom logic for creating configurable products;

Decided that we want to create new Configurable Products. These products never existed at Magento 2 store, and in the Import Table, however have referenced simple products. You can disable this option, if you have a configurable product with the reference attribute in your import table, or at your product catalog;

Configurable Product Condition is set as per the chapter you are currently reading;

In theAttribute / column name on file we have specified ‘sku’ as per table GIF above. As we use this column to tie simples to configurables. In this column all listed simple products have the same SKU format – NEW-size-color, where ‘NEW’ is a common value, that will tie these products to configurable.You can use any other product attribute column. For example description, which you start or end with the name of a configurable product, these simples belong to, for example description that reads:This is a Shirt: size X, color Y.I this case, you can specify colon as a delimiter, and the extension will combine such products by the phrase “This is a Shirt”.

In the Delimiter field we enter ‘-’ a hyphen. As it is the hyphen that separates common SKU value NEW from the rest of the SKU.

In the Product attributes for variations table we have specified attributes ‘color’ and ‘size’ as our simple products have these attributes for swatches. When creating configurable products on your own, – specify the attributes of your simple products.

Now, we can run the job to import these nine simple products. When the import job is processed a new configurable product with these nine simple products assigned to it will be created in your product catalog.

Create configurable products by custom rules (the number of characters from the beginning of the line)

This is the fourth and fifth scenarios, that differ only in that of whether extension should start scan from the beginning or the end of the cell. It allows creating configurable products using the dedicated column for simple products, where the extension should look for similarities in the submitted value before the set delimiter.

As per the GIF image above you can see, that we have nine simple products rows 2-10. The ‘sku’ column for these products contains similar product SKU, which start with NEW and then list product size and color, after a hyphen. In this case only first three characters are similar in all nine products.

Let’s configure an Import job, to import these simple products, and assign them to the newly created configurable product. We will omit the general and other settings and focus solely on Custom logic for creation of configurable products.

Here we have:

Enabled custom custom logic for creating configurable products;

Decided that we want to create new Configurable Products. These products never existed at Magento 2 store, and in the Import Table, however have referenced simple products. You can disable this option, if you have a configurable product with the reference attribute in your import table, or at your product catalog;

Configurable Product Condition is set as per the chapter you are currently reading;

In theAttribute / column name on file we have specified ‘sku’ as per table GIF above. As we use this column to tie simples to configurables. In this column all listed simple products have the same SKU format – NEW-size-color, where ‘NEW’ is first three characters, that will tie these products to configurable.You can use any other product attribute column. For example description, which you start or end with the name of a configurable product, these simples belong to, for example description that reads:This is a Shirt size X, color Y.I this case, you can specify ‘15’ in the Count Symbols option, as first 15 characters will look the same for all nine simple products.

In the Count Symbols field we enter ‘3’ a hyphen. As it is only first three characters of the ‘sku’ column that are similar in all nine products.

In the Product attributes for variations table we have specified attributes ‘color’ and ‘size’ as our simple products have these attributes for swatches. When creating configurable products on your own, – specify the attributes of your simple products.

Now, we can run the job to import these nine simple products. When the import job is processed a new configurable product with these nine simple products assigned to it will be created in your product catalog.

Import downloadable products in Magento 2

Files for downloadable products can be imported in two ways:

Import files from remote URL for downloadable products – you should specify a full URL address of the file and make sure the the following directory exists and is writable: /pub/media/downloadable/links/files/

After purchasing the extension, you will receive free upgrades during one year and get a 50% discount for the second year upgrades! Purchase the extension right now to use current features and get free updates with advanced functionality!

List of detailed import and export guides

The manual offers a general information on how the extension operates and teaches how to use different extension features. For the full list of specialized guides on how to import and export particular entities visit