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 an 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
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.
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 a cloud storage where the updated information appears from 3th 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 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 this module (our module) and 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 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 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 setup 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 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 main menu on 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 which is 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 large amount 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 of 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 file with products first. If it works correctly, you can create a custom attribute column and add new attributes. This will reduce possible problem, 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 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 define the type of your attribute (text field, dropdown etc). If you do not specify it, 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 thefile and make sure following directory is exist and writable /pub/media/downloadable/links/files/
2. To import local files – you need to upload your files to directory you choose on 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 during six months and also will get 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!