We’ve started a new project aimed at improving the default Magento 2 import/export functionality. Although this process is significantly refined now, it still lacks some important features; therefore we are working on this Magento 2 extension. We have the aim to build a multi-purpose solution.
Improved Import extension for Magento 2 provides a possibility to import your CSV, XML, Json, XLSX, ODS files with products data and product images to Magento 2 from a remote FTP server, Dropbox, Google Sheets, a direct URL of a source file, supports dedicated categories import, Rest and Soap APIs, on fly import of product attribute values, import/export cron jobs and more!
Table of contents
- 1 Roadmap
- 2 Description
- 2.1 Magento 2 Improved Import Use Case Example
- 2.2 Import directly from Google Sheets
- 2.3 Category import
- 2.4 Product attribute and attribute sets import and export
- 2.5 Product attributes import – creation of new attributes on the fly during the product import
- 2.6 Import downloadable products in Magento 2
- 2.7 Magento CLI Import Commands
- 2.8 Magento 2 import file samples
- 2.9 Import fields mapping (in Magento 1.x style!)
- 2.10 Improved Import for Magento 2 upcoming features roadmap
- 3 Improved Import & Export As Reliable Replacement
You can always find the latest features on the extension’s product page here: Improved Import & Export Features.
Improved Import Export Magento 2 Roadmap – vote for the most exciting features and we will implement them first. Leave your suggestions in the comments and we will add them to the poll.
This release includes lots of bug fixes and improvements. You can see them in the extension’s changelog.
Version 3.2.3 features the ability to upload images for swatch attributes via the ‘Attribute’ entity. Besides, you can resize product images after the import process. This function works when watermarks are enabled in Magento 2 Enterprise. It is possible to use native Magento 2 libraries as well as additional ones. Another new feature lets you add product video URLs (for YouTube and Vimeo) to product image attributes
A new entity is added – Catalog Price Rules. Besides Excel files can now fetch sheets through other sources.
This version includes one important hotfix: we’ve added PHP 7.3.11 support for Magento 2.3.
PHP 7.3 is fully supported. Besides, the extension is compatible with Magento 2.3.3. We’ve also added timestamp added for each log entry and a selector that allows removing product associated images from the server if the extension constantly imports new ones. All attributes are now included.
Version 3.1.8 provides the ability to import and export the following new entities:
- URL rewrites;
- Product Reviews;
- Catalog Search Terms;
- Search Synonyms;
- Gift Card (Commerce/Cloud);
- Page Hierarchy (Commerce/Cloud).
The extension also supports Visual Merchandise’s product category position attribute. Besides, you can disable products in your Magento 2 if they are not in the imported table.
Since multi-sheet Excel XLSX files are supported, you can choose a sheet to import. Another important improvement is the ability to set a URL path to images in the Image File Directory field in addition to an FTP path. A new cron group has been added. It lets you register import/export cron jobs in the same group.
Various Dropbox improvements let you select folders, use whitespaces in filenames, and view the latest files. Besides, the extension lets you remove up-sell and cross-sell products on import completion. Store view-based import is possible for categories.
As for attributes, you can delete their option values during import. Store view support has been also added.
This version enhances performance when it comes to transfers of huge data files. Besides, loading collections is much faster now.
You can also upload files for jobs via API. Besides, we’ve added a selector to remove all assigned categories from existing products.
Support for Magento 2 Page Builder is another vital update introduced in 3.1.7. The extension now works with CMS blocks and CMS pages.
Version 3.1.6 includes backend menu adjustments, support for Rest API, value ranges for price filters, the unification of filter values for a fixed price and a percentage discount, etc. It is also possible to remove old categories of the configurable products created on the fly. Custom logic for the creation of configurable products is also updated. The corresponding feature lets you add related products, cross-sells, or up-sells automatically from the similar attributes of the first simple product in a table.
This release features product import speed improvements. Besides, you can now remove images for both simple and configurable products during import.
You can exclude existing categories from imported products as well as assign categories from the imported file. The same is about store views. If categories already exist in your store, you can import product categories by IDs with categories_id attribute.
This version adds support for Magento 2.3.
Multiple bug fixes and enhancements make this version.
Version 3.1.0 lets you map attributes more precisely from the perspective of the Apply Default Values feature. You can now decide whether to apply a default value to empty or all rows. Besides, it is possible to map attribute values, choosing ones you want to update.
It is also possible to select a root category to reference category paths in the import file. Round prices and special prices are now supported. The export job event system is another notable improvement. Whenever the Magento 2 event happens the job is launched automatically.
The latest attribute set update features an additional product attribute that defines whether the existing product’s attribute set should be updated or not.
The renewed configurable product custom logic lets you copy simple product attributes and use them to replace ones related to a configurable product.
Improved Import / Export 3.0
- XML, Json, Excel, OpenOffice file formats support + CSV for import/export;
- Export and Import with attribute mapping functionality;
- Import products from Google Sheets, FTP/SFTP, using REST and SOAP API, Dropbox, or direct URL;
- Run and schedule jobs from admin panel asynchronously, use cron and run jobs via CLI;
- Extended debugging + detailed history with logs;
- Order export and import + invoices, credit memos, and other docs with mapping and filters;
- Attribute EAV import and export with column mapping;
- Magento 1, Shopify import preset;
- Hardcoded / default values for export mapping;
- Import file validation;
- Inline Edit Mode;
- Sample files available within extension;
- Direct file upload during import;
- Unzip/untar archives.
For further information, check this Improved Import / Export changelog.
Before we proceed, check this image that illustrates the functionality of the Improved Import & Export:
Scheduled cron job configuration provides automated product updates from cloud storage where the updated information appears from 3rd party tools, warehouses, Product Inventory Management (PIM) systems, etc. Thus, the module could be very useful for regular automatic product stock status updates as well as other product attribute updates in Magento 2. Especially with the introduction of Rest and Soap APIs support.
Scheduled import via the cron job is a feature available in Magento 2 Enterprise Edition out of the box, but with our module, you can get it in Magento 2 Community Edition along with other import features, such as category import or product attribute values import on the fly – both works great.
Please note that the extension is available in two versions – a lite
Improved Import Lite (Free version) features
New features of both extension versions are available under System / Import.
Let’s take a CSV file ready for import to Magento 2 that contains the following data: product images, categories, and customers from remote sources. The file can be situated on the following sources:
- Custom URL
Improved Import Full version features
- Supports CSV, XML, XLS and XLSX, ODS, Json file formats.
- New import and export entities to complement native Magento 2 import, including orders, categories, CMS pages, cart price rules, product attributes.
- Support of new import and export sources, including Google Sheets, FTP/SFTP, Dropbox, direct URL;
- Magento 2 import Rest and Soap API support for third-party accounting software integration.
- XLST transformation templates to import XML files of any structure. Write to us, if you require custom XLST composed.
- Migration presets for Shopify and Magento 1 – you can migrate product catalogs from all these three platforms to your Magento 2 with automatically mapped attributes.
- Product price updates during import – import jobs allow you to increase and decrease prices of the imported products by flat or percent value.
- Support of all product types – configurable, bundle and grouped products can be imported with assigned variations.
- Dedicated categories import – by default Magento 2 only allows to import categories during product import, but with our extension, you can easily import a dedicated .csv file with categories. Categories can be imported by name, parent id, or full path with category structure.
- Attribute EAV import and export – get a full list of attributes and attribute sets, or create new attributes and sets as you import them.
- On the fly product attribute values import. If values for attributes on your CSV file do not exist in Magento – they will be created on the fly during the product import procedure.
- Create new attributes on the fly – type in attribute name and other settings into the column just like per the extension manual.
- Full support of import configurable products – we have added custom logic for creating configurable products to ease the configurable product creation process. Read the full guide to configurable product import.
- There are also appropriate CLI commands aimed at Import. They are integrated into the native Magento 2 CLI interface and simplify the control over the import process and import cron jobs.
- Scheduled cron job for importing and exporting CSV, XML, Json, Excel and OpenOffice files from all supported sources. This is a great solution for keeping product stocks and data updated automatically. Different cron jobs can be configured to update product, category, stock, and other data. There are both flexible cron configuration with pre-set values and custom cron configuration, so you can easily manage, import, and updated Magento 2 products, categories, and customers in a flexible and fast way
Magento 2 Improved Import Use Case Example
Regular product stock updates with any frequency – every minute or once a month
Product info and stock sync with external CRM / ERP / PIM or any other system – it is only necessary to set up CSV, XML, Excel or OpenOffice file data and create Cron job import in Magento 2 admin. You can also connect using Rest and Soap APIs with Json files.
Export product, category and customer data to a remote FTP server for further usage by external CRM / ERP / PIM systems
Full circle Magento 2 and Dropbox integration – streamline the world’s most popular cloud storage and file collaboration tool in your Magento 2 routine! Import and export products, categories, and customers to Dropbox and get a new level of team collaboration: by sharing import and export folders on Dropbox, you will simplify Magento inventory management and make it as affordable as never before. In a combination with import cron jobs, you can edit your import file on your Dropbox folder and get all data updated in a Magento 2 database in minutes!
Import directly from Google Sheets
With Improved Import and Export for Magento 2, you can import products and other Magento 2 entities directly from the Google Sheets. Thus you can cooperate with your supplier and colleagues on a single sheet. Specify to the Sheet you are working with (we support multiple sheets, just select the correct one and copy the link) and you are good to go.
We have a fully-featured Google Sheet guide you can always refer to if you are experiencing any issues.
We have also composed a Google Sheet Master Table where we have gathered all Magento 2 entities that can be imported: products, categories, orders, cart price rules, advanced pricing, all customer files, CMS blocks, and pages.
The Master Table is your quick-start buddy to Magento 2 import. Every attribute comes with the clues that explain what a particular attribute does and which values are expected from you in the dedicated entity cell.
Categories can be imported using different behavior:
- Add / Edit
Flexible category manipulations are allowed.
To start the import process you need a file with the structure as in the example:
Category import allows you to set a category position + location:
- Import by name and the full path to category (Default Category/Women/Dresses);
- Import by category name & path to category
- Import by parent category id (parent_id)
CSV file columns:
- name – Category name
- parent_id – existing parent category id
- url_key – URL keys of category
- description – category description
- is_active – category Enabled / Disabled
- include_in_menu – include category to the main menu on the frontend
- is_anchor – Is Anchor – required for displaying layered navigation on category
- custom_layout_update – custom XML layout update for category
Product attribute and attribute sets import and export
Product attribute values that do not exist in your Magento 2 database will be automatically created on the basis of info from a product import file. Default Magento 2 requires creating product attributes manually before importing products with them. This feature can save tons of time on a large number of products with different attribute values to Magento 2.
When importing attributes, the extension allows creating attribute sets automatically. If the attribute from the table you are importing belongs to the new attribute set – it will be automatically created based on the default attribute set.
Product attributes import – creation of 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 and common – instead of having only attribute name on a column with attributes we add all data required for attribute creation there. For instance, attribute set, frontend labels, scopes, etc. You can find a structure sample and a sample CSV file below. Please follow the examples carefully and import a file with products first. If it works correctly, you can create a custom attribute column and add new attributes. This will reduce the possible problems, debug time, and time necessary to fix issues.
The general format of an attribute creation column can be described as follows:
attribute name | attribute property name : attribute property value | …
On the table below, you will find each property required for attribute creation in Magento 2 during the import process as well as appropriate possible values. As you can see, only attribute set and frontend label are required for creating 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 you do not specify it, the attribute will be created with type XXX
Column name example:
attribute|frontend_input:select|is_required:0|is_global:1|default_value_text:test text|is_unique:0|frontend_class:validate-alphanum|is_used_in_grid:1|is_filterable_in_grid:1|is_searchable:1|search_weight:3|is_visible_in_advanced_search:0|is_comparable:0|is_filterable:1|is_filterable_in_search:1|position:2|is_used_for_promo_rules:0|is_html_allowed_on_front:1|is_visible_on_front:1|used_in_product_listing:0|used_for_sort_by:1|frontend_label_0:New Brand 1|frontend_label_1:New Brand English|attribute_set:Default,Accessories
Comma-separated attribute sets names
|Yes||text||For example: Default, Accessories|
|frontend_label_[n]||Default label for specified store
Where [n] is the store id
|frontend_input||Catalog Input Type for Store Owner||select||text: Text Field
textarea: Text Area
multiselect: Multiple Select
media_image: Media Image
swatch_visual: Visual Swatch
swatch_text: Text Swatch
weee: Fixed Product Tax
This is used internally. Make sure you don’t use spaces or more than 30 symbols.
|is_required||Values Required||0||yes/no||1, 0|
Declare attribute value saving scope
|0||select||0: Store View
Used for text attributes
Used for textarea attributes
Used for date attributes
|text||Format: mm/dd/YYYY (04/19/2016)|
Used for yes/no attributes
Not shared with other products
|frontend_class||Input Validation for Store Owner||select||validate-number
|is_used_in_grid||Add to Column Options||1||yes/no||1,0|
|is_filterable_in_grid||Use in Filter Options||1||yes/no||1,0|
|is_searchable||Use in Search||0||yes/no||1,0|
|is_visible_in_advanced_search||Visible in Advanced Search||0||yes/no||1,0|
|is_filterable||Use in Layered Navigation||0||yes/no||1,0|
|is_filterable_in_search||Use in Search Results Layered Navigation||0||yes/no||1,0|
|position||Attribute position in layered navigation||integer|
|is_used_for_promo_rules||Use for Promo Rule Conditions||0||yes/no||1,0|
|is_html_allowed_on_front||Allow HTML Tags on Storefront||1||yes/no||1,0|
|is_visible_on_front||Visible on Catalog Pages on Storefront||0||yes/no||1,0|
|used_in_product_listing||Used in Product Listing||0||yes/no||1,0|
|used_for_sort_by||Used for Sorting in Product Listing||0||yes/no||1,0|
products_2_add_with_new_attributes – import of product attributes – CSV file structure sample:
sku,name,url_key,store_view_code,attribute_set_code,product_type,color,size,"attribute|frontend_input:select|is_required:0|is_global:1|default_value_text:test text|is_unique:0|frontend_class:validate-alphanum|is_used_in_grid:1|is_filterable_in_grid:1|is_searchable:1|search_weight:3|is_visible_in_advanced_search:0|is_comparable:0|is_filterable:1|is_filterable_in_search:1|position:2|is_used_for_promo_rules:0|is_html_allowed_on_front:1|is_visible_on_front:1|used_in_product_listing:0|used_for_sort_by:1|frontend_label_0:New Brand 1|frontend_label_1:New Brand English|attribute_set:Default,Accessories",categories,product_websites,description,short_description,weight,tax_class_name,visibility,price,meta_title,meta_keywords,meta_description,base_image,base_image_label,small_image,small_image_label,thumbnail_image,thumbnail_image_label,created_at,updated_at,new_from_date,new_to_date,display_product_options_in,additional_attributes,qty,out_of_stock_qty,use_config_min_qty,is_qty_decimal,allow_backorders,use_config_backorders,min_cart_qty,use_config_min_sale_qty,max_cart_qty,use_config_max_sale_qty,is_in_stock,notify_on_stock_below,use_config_notify_stock_qty,manage_stock,use_config_manage_stock,use_config_qty_increments,qty_increments,use_config_enable_qty_inc,enable_qty_increments,is_decimal_divided,website_id,related_skus,crosssell_skus,upsell_skus,additional_images,additional_image_labels,custom_options
24-WG085_10,Sprite Yoga Strap 6 foot 10,sprite-yoga-strap-6-foot-10,,Default,simple,Black,S,Ray-Ban,"Default Category/Gear,Default Category/Gear/Fitness Equipment,Default Category/Yoga/Style",base,"<p>The Sprite Yoga Strap is your untiring partner in demanding stretches, holds and alignment routines. The straps 100% organic cotton fabric is woven tightly to form a soft, textured yet non-slip surface. The plastic clasp buckle is easily adjustable, lightweight and durable under strain.</p><ul><li>100% soft and durable cotton.<li>Plastic cinch buckle is easy to use.<li>Three natural colors made from phthalate and heavy metal free dyes.</ul>","asd",1,Taxable Goods,"Catalog, Search",14,Meta Title,"meta1, meta2, meta3",meta description,,,,,,,01.07.2015 15:38,01.07.2015 15:38,,,Block after Info Column,"has_options=0,required_options=0,size_strap=6 foot",100,0,1,0,0,1,1,1,0,1,1,,1,0,1,1,0,1,0,0,1,,,,,,"name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=,option_title=Gold|name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=,option_title=Silver|name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=yoga3sku,option_title=Platinum"
24-WG085_11,Sprite Yoga Strap 6 foot 11,sprite-yoga-strap-6-foot-11,,Accessories,simple,Yellow,S,Dior,"Default Category/Gear,Default Category/Gear/Fitness Equipment,Default Category/Yoga/Style",base,"<p>The Sprite Yoga Strap is your untiring partner in demanding stretches, holds and alignment routines. The straps 100% organic cotton fabric is woven tightly to form a soft, textured yet non-slip surface. The plastic clasp buckle is easily adjustable, lightweight and durable under strain.</p><ul><li>100% soft and durable cotton.<li>Plastic cinch buckle is easy to use.<li>Three natural colors made from phthalate and heavy metal free dyes.</ul>","asd",1,Taxable Goods,"Catalog, Search",14,Meta Title,"meta1, meta2, meta3",meta description,,,,,,,01.07.2015 15:38,01.07.2015 15:38,,,Block after Info Column,"has_options=0,required_options=0,size_strap=6 foot",100,0,1,0,0,1,1,1,0,1,1,,1,0,1,1,0,1,0,0,1,,,,,,"name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=,option_title=Gold|name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=,option_title=Silver|name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=yoga3sku,option_title=Platinum"
Import downloadable products in Magento 2
Files for downloadable products can be imported in two ways:
1. Import files from remote URL for downloadable products – you need to specify full URL path to the file and make sure following directory exists and is writable /pub/media/downloadable/links/files/
2. To import local files – you need to upload your files to the directory you choose on the import page (input – Images File Directory).
A full guide to importing Magento 2 downloadable products and how they work can be found here.
Magento CLI Import Commands
Cron jobs Import can be enabled, disabled, or started from the Magento 2 CLI interface. In the Magento 2 root folder, run the following command:
php -f bin/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
Magento 2 import file samples
You can also export existing products and customers from your store to get a correct import file structure of your store, products, attributes, columns, etc. The feature is available under:
Magento admin -> System -> Export
The powerful mapping feature allows you to map Magento attributes to custom columns in your CSV file.
The attributes are mapped at the import job settings. Once you select the entity and upload and verify the file, the Map Attributes section becomes available.
In the left column, there is a dropdown with all Magento attributes to select. In the right column – a dropdown with column names from your import file.
Once you have finished with mapping – Save Job and run it from the command line to test and then schedule cron import.
With the import fields mapping feature you can import custom-formatted files from various e-commerce systems, PIM, ERP, SAP.
We have presets for Shopify, Magento 1 already available. In the upcoming releases, new e-commerce platforms will be supported. But now, you can already map any custom data structure to Magento product attributes for import.
Improved Import for Magento 2 upcoming features roadmap
You can vote for the upcoming Import and Export Magento 2 extension features at the dedicated roadmap page.
After purchasing the extension, you will receive free upgrades for six months and also will get a 30% discount for 1 year support period renewal! It means that you can purchase the module now to use current features and get free updates with powerful new features!
For further information, consultation, or to request individual new features use our contact form! We provide professional installation services for our Magento 2 extensions – get your extension work right after the purchase!
Improved Import & Export As Reliable Replacement
Improved Import & Export for Magento 2 has 50+ features to replace the following third-party extensions. As a result, you not only save the money but also the time necessary for their installation and configuration. Let the best solution on the market perform all your data transfer duties!
- Product import and export extensions for Magento 2. With our module, you can import and export products with mapping and other features using the following file formats and data transfer standards: XML, CSV, Google Sheet, JSON, API. All product types are supported, including configurable and bundle products.
- Category import and export extensions. There is no need to recreate categories manually on a new e-commerce website, you can import them with the help of our module.
- Customer import and export Magento 2 modules. You can freely transfer all customer data from any external source to Magento 2. Furthermore, it is possible to export the corresponding information to CRM systems automatically via API.
- CMS import and export Magento 2 extensions. You can also use Improved Import & Export to transfer various CMS elements, such as pages and blocks.
- Attribute import and export extensions for Magento 2. Our module offers a bunch of features that simplify attribute import and export. You can transfer any custom attributes, automate import and export processes, as well as apply additional customization and management features.
- Attribute values import and export modules. In addition to attributes, it is also possible to import and export their values. Furthermore, you can create missing attribute values on the fly.
- Attribute sets import and export extensions. The Improved Import & Export Magento 2 plugin lets you transfer attribute sets in a fully automated manner. Besides, you can move them from different sources and via various file formats or even Google Sheet or API.
- URL rewrites import and export extensions for Magento 2. URL rewrites are not a problem for our module. It lets you import and export them from other Magento websites or any external platforms.
- Coupons import and export Magento 2 modules. If you need to transfer coupon codes from a third-party platform, Improved Import & Export will help you. If you need to export them, it is also possible. Both processes can be automated.
- Order import and export plugins. The Improved Import & Export extension can import and export orders automatically according to a schedule or when a specific event takes place.
- Product stock import and export extensions for Magento 2. Product stock data is another entity that our module supports. You can freely transfer the corresponding information between your website and a dropshipping platform or an ERP system.
- Search terms import and export Magento 2 modules. If you need to import/export search terms, Improved Import & Export comes in handy. It lets you transfer the corresponding data without any obstacles.
- Tier prices import and export extensions. You can freely transfer products with tier prices via API, data files, or from Google Sheet.
- Product custom options import and export plugins for Magento 2. If you need to transfer not only default configurable product but ones with custom options, Improved Import & Export will come in handy as well.
- Bulk configurable price update import and export Magento 2 modules. The Improved Import & Export Magento 2 extension provides the ability to import and export configurable price updates in bulk. Furthermore, you can automate this process on the basis of crone schedules or events.
- Invoice import and export Magento 2 extensions. And it is possible to transfer invoices and other documents (shipments, credit memos, etc.) between your e-commerce website and any external systems via different file formats, API, or intermediary services, such as Google Sheet.
- Customer reviews import and export modules for Magento 2. It is no longer a problem to transfer existing customer reviews to your new Magento 2 website from the old store. With Improved Import & Export, you can do that within a few clicks.
- Related products (cross-sell and upsells) import and export Magento 2 plugins. The Improved Import & Export extension easily replaces different extensions designed to import and export related products, cross-sells, and up-sells. You no longer need three (or six in the worst case) different solutions to complete this procedure.
- Search terms import and export extensions for Magento 2. It is possible to import and export search terms with our extension. You can transfer them via API or Google Sheets. Standard file transfers are supported as well.
- Newsletter subscribers import and export Magento 2 modules. If there are many newsletter subscribers on your old e-commerce website and you don’t want to lose them, Improved Import & Export will come in handy. It lets you freely transfer them even from third-party e-commerce platforms.
- Wishlist items import and export Magento 2 extensions. Improved Import & Export lets you recreate wishlists on your new e-commerce website by importing wishlist items. At the same time, you can freely export the same content.
- Product tags import and export Magento 2 modules. Our extension provides the ability to import and export product tags in bulk. You can move them via API, Google Sheet, or data files. It is also possible to automate data transfers with the help of cron schedules or event-based triggers.