Order Import/Export

Order Import/Export

Compatible With: Community 2.0, 2.1, 2.2

Tech Specifications

Current Version:
Stable Build
10 July, 2018
Extensions, Content & Customizations, Personalization & Experience Management


A very robust Order Import/Export module that can be used from either admin panel GUI or Magento's command line interface.

Other Extensions by MageModule, LLC


Back to top

MageModule Order Import/Export is quite possibly the most robust order import and export extension on the market for Magento 2 today. The module can quickly export orders into CSV format using either the admin panel GUI or from the command line. Equally, the extension can import large CSV files from either the admin panel GUI or the Magento command line interface.

Additionally, it is built in such a way that any moderately code-savvy person can make minor customizations to suit their order import and export needs. Order Import/Export is also different from almost all other import/export modules on the market today for a variety of reasons, which are outlined below. The vast majority of order import/export modules on the market today use direct SQL and other unsafe hacks to make the software manipulate the data in a specific way and then force that modified data into the database. However, this lends itself to database corruption that can be hard to diagnose and even harder to fix. Order Import/Export uses only native Magento functionality to accomplish its goals in a safe and integral manner.


Order Import/Export can:

  • Be used from admin panel GUI
  • Be used from Magento's command line interface
  • Use permissions so that website administrator can control who has access to import and/or export functionality
  • Be lightly customized by code-savvy users due to its open-source format


Order import functionality will:

  • Safely import orders and related information
  • Allow for the import of 250+ order data points, although, orders can be imported with much less data
  • Match customer by e-mail and if customer doesn't exist, will create customer if the order is not flagged as being a "guest" order
  • Add order addresses to customer's address book
  • Properly create order line items for all product types: Simple, Grouped, Configurable, Bundle, Downloadable, and Virtual
  • Allow for the import of custom order numbers if the custom order number is not already in use by another order
  • Allow for the creation of invoices, credit memos, and shipments upon order import
  • Import order items even if those products don't exist in the catalog
  • Import order item taxes and discounts
  • Import order item quantities: invoiced, shipped, refunded, canceled
  • Perform some basic helper calculations in the case of missing order item data
  • Import payment methods even if the payment methods don't exist in the system
  • Import shipment methods even if the shipment methods don't exist in the system
  • Import order status history/comments
  • Allow user to input the CSV file's field delimiter and field enclosure characters
  • Provide a summary of how many orders were imported and how many errors (if any) occurred during import


Order import functionality will not:

  • Will not trigger order, invoice, shipment, or credit memo emails to customers
  • Will not perform any sort of payment processing
  • Will not create products in the catalog
  • Will not use any direct SQL, dangerous methods, or unconventional hacks to modify any data
  • Will not halt importation of orders if an error occurs. Instead, the specific order that contains an error will be skipped and the import will continue. Information regarding the error will be logged


Order export functionality will: 

  • Export 250+ order data points
  • Export a high level of detail about order items: quantity invoiced, quantity shipped, quantity canceled, quantity refunded, taxes, discounts, subtotal, row total, and more
  • Export status and comment histories, payment data, shipment data, and more
  • Export customer information and customer addresses
  • Export information regarding all aspects of the order, including, but not limited to: taxes, discounts, shipping charges, amounts refunded, etc
  • Export all iterable items in a human-readable and machine-readable format, e.g., order items, order comments, etc
  • Allow user to specify the CSV file's field delimiter and field enclosure characters
  • Allow user to specify date range to narrow down the selection of orders to be exported
  • Export CSV in a format that can directly re-imported back into the system without any additional modification

Release Notes

Back to top


  • Compatible with CE: 2.0 2.1 2.2
  • Stability: Stable Build
  • Description:

    Changed CSV-reading strategy to a stream, reading one line at a time to significantly improve memory usage


  • Compatible with CE: 2.0 2.1 2.2
  • Stability: Stable Build
  • Description:

    Added more detailed error reporting to the terminal when running imports from the command line
    Added logic so that when customer_firstname and customer_lastname are not present in the csv, the module will attempt to use billing data to create the customer if the customer does not exist
    Added an error limit field to force the stop of order imports if too many errors occur
    Fixed issue in which the error limit, when set via CLI, would be ignored and a limit of 1 would be used
    Fixed issue in which credit memos were not being created because due to the qty to refund calculation returning 0
    Added a Transaction processor class to create a transaction record in the database when appropriate
    Added invoice efficiency improvements in order to avoid additional queries to the database
    Added a check to make sure that the attempt to record a transaction doesn't throw a fatal error
    Fixed issue in which order export options being set from the command line were not being used
    Updated the export controller so that the config object gets passed into the exporter instead of allowing the export to use the global config object
    Fixed calculations in the class that creates invoices
    Moved the data sanitization functionality out of the Importer class and into the MageModule_Core module since this is commonly used functionality
    Added additional fields to exported order items
    Adjusted the CLI import script to ensure that any command line arguments passed in are respected by the various functions within the extension
    Added some additional required fields to the order item import
    Updated the OrderItem processor class to calculate accurately for each order item type. Also updated it to make sure it works properly with multiple currencies and fixed product taxes
    Fixed an issue in the order item processor class where bundle items children were not all getting their property quantities and names set
    Added field ignore lists to make sure that refunded, invoiced, shipped, backordered, canceled data doesn't improperly influence the entry of the order and its ability to be invoiced or shipped at a later date if necessary
    Added default values to avoid excpetion from being thrown when a billing/shipping lastname or telephone field is missing
    Removed numerical payment data from payment processor class because this information should only be imported/created at the time of invoice creation
    Cleaned up the credit memo class and made sure that it is creating accurate credit memos and also that it's skipping all refund info when 'Create Credit Memos' is set to No
    Added transaction ID to invoice so that online refunds could be made
    Typecast Creditmemo, Invoice, Shipment items quantities as float because the strings were returning true even though the actual number was 0


  • Compatible with CE: 2.0 2.1 2.2
  • Stability: Stable Build
  • Description:

    Replaced the CreditMemoDocument class with the appropriate class for creating credit memos. The replaced class did not exist in earlier versions of Magento and throws a fatal error when instantiated.


  • Compatible with CE: 2.0 2.1 2.2
  • Stability: Stable Build
  • Description:

    Added functionality that matches an imported order item to the product in the catalog if the SKU exists in the catalog. Otherwise, the product still imports like normal.


  • Compatible with CE: 2.0 2.1 2.2
  • Stability: Stable Build
  • Description:

    Added warning about the format of date fields to help users avoid errors


  • Compatible with CE: 2.0 2.1 2.2
  • Stability: Stable Build
  • Description:

    Initial release to Magento Marketplace


Back to top
The best place to start if you need help with a specific extension is to contact the developer. All Magento developers have both a contact email and a support email listed.

Q & A

Back to top


Back to top