The following blog post will help you retrace the evolution of the Improved Import & Export Magento 2 module. The article gathers updates associated with the extension’s each new version from the very beginning. At the time of 1.0.0, it was a basic import solution with an existing import jobs architecture and import cron automation. With the next few versions, the module got such enhancements as product attribute import on the fly, transfers from FTP, SFTP, URL, and Dropbox, custom mapping, etc. Each new release made the Improved Import stronger and stronger. However, it was still an import-only tool until 1.5.0 was released. With this version, our extension became capable of both import and export processes. You can peruse the detailed evolution of the module and see its latest features below.
3.8.4 (released 29.05.2023)
- Product Import. The “User Defined” checkbox on the Bundle Options tab of a product page in the Magento admin is linked to the “can_change_qty” column in a product import file.
- Order Import. The “order_id” and “order_item_id” fields are now optional in the
item:downloadable_link_datacolumn when importing orders with downloadable links.
- Customer Import. A customer group code (“_customer_group_code”) has higher priority than a group ID (“group_id”) during customer import.
- MSI Product Export. It is possible to decide whether you need to export salable quantities during product export or not. The export job’s “Add MSI data to export” option enables salable quantity export. If it is turned on, an export file contains the “msi_stock_[stock_id]_salable_qty” and “msi_stock_[stock_id]_is_salable” columns, where “[stock_id]” is a numerical ID of your stock. For instance, msi_stock_1_salable_qty or msi_stock_2_salable_qty.
- Product Export. Product export now contains the “parent_sku” column. If a simple product is a child of a few different products, parent products are separated by a comma in the “parent_sku” attribute column.
- MSI Product Import. Improved Import & Export automatically changes a stock status based on qty value if the “msi_[source_code]_status” column is omitted, where “[source_code]” is the code of a particular inventory source, such as default, de, or en (e.g., msi_default_status, msi_de_status, msi_en_status). The status is set to “in stock” if qty>0 and “out of stock” if qty=0.
- Product Attributes. The extension exports product attributes in the same order as on the “Map Attributes” tab.
- Product Import. Improved Import & Export converts product weight during import according to the “Weight Factor” value in the import job settings. The default value is “1” – the weight value is exactly as in the import table. To convert kg to g need to set the value to “1000”. To convert g to kg, set the value “0.001”.
- Order Export. You can export order addresses in a single line with the help of the export job option named “Data in one line”. This feature works only for export. If addresses are separated in different columns in one line – they will not be imported.
- Category Export. Both a file and mapping tab associated with category export now contain the “parent_id” column.
- Shipment Import. The shipment import field named “shipment_track:source_code” provides the ability to create a shipment from the specific stock source.
- XSLT Field Type. The XSLT field type has been changed to “mediumblob”, which supports more than 65535 symbols.
- Developer Improvement. The “preparePlatformRowForDb()” public method has been added to the Product class to enable the use of plugins.
- Fixed issue when not all categories were exported due to collection reset.
- Fixed issue when the global price for a product was exported instead of a website-specific price.
- Fixed the “Advanced Price” replace behavior. Now it works based on a specific website.
- Fixed issue with category name export. Initially, names based on the global store view were exported instead of store-specific names.
- Fixed issue with undefined ‘getMultipleCategorySeparator()’ method while running the core Magento import.
- Fixed problem when 0 ‘children_count’ was saved to DB during category import.
- Fixed problem when empty lines were exported during shipment item export.
- Fixed problem with export category level separator when it was applied only to the first category level.
- Fixed the category separator on the “Map Categories” import tab. Initially, only ‘/’ was displayed even if another separator was selected. It used to cause problems with categories that already had “/” in their names.
- Fixed the “Implicit conversion from float to int” error caused by conflicts with some third-party extensions.
- Fixed problem with the address “imcrement_id”. This column can be used to identify the correct address if an import file does not contain “entity_id”.
- Fixed problem when only the last bunch of data was exported to a zip file.
- Fixed the “columnNameInvalid in rows” error when saving Import Job with the “Save & Run” button.
- Fixed problem when stock qty was not updated using the core Magento import with the enabled MSI modules.
- Fixed problem when an import process was interrupted if images were not found on a remote OneDrive account. Now, a job shows a warning and keeps running.
- Fixed the “Object could not be converted to string” error during orders export.
- Fixed problem with Reviews import when an invalid column error was shown for the “vote:…” column.
- Fixed issue when a product was accidentally assigned to a “Default source” despite the import file didn’t contain any stock data.
- Fixed the “Cannot read properties of undefined (reading ‘items’)” JS issue when clicking on the Validate button on the import job page.
- Fixed memory leak associated with category import caused by the infinite recursive calls.
- Fixed memory leak associated with product import caused by loading all store products instead of a specific bunch during Product Video Urls loading.
- Fixed the “Column cannot be null” error when importing empty values for the “out_of_stock_qty” column during product import.
- Fixed problem with the export date filter when data was exported till the current time instead of the end of the day.
- Fixed the export filter field and the “Yes/No” field when products with “No” value were not found.
- Fixed problem when the configurable product’s “disabled” status became “enabled” even if the import file didn’t contain the status column.
- Fixed problem when duplicated attribute options were created during attribute import.
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. Continue Reading