Orders Import & Export Add-on for StoreMove

Table of Contents

Add-on Overview

Orders Import & Export Add-on for StoreMove extends StoreMove with WooCommerce order import and export support. It does not duplicate the StoreMove workflow. Instead, it registers Orders as a StoreMove module and lets StoreMove handle upload, preview, mapping, export generation, history records, logs, formats, and admin screen behavior.

Primary purpose

Use this add-on when a store needs WooCommerce order data to participate in the same StoreMove import and export workflows already used for Products and Coupons.

orders import export add on for storemove overview - CodeMaster Hub

Installation

  1. Upload the storemove-orders-import-export folder to wp-content/plugins/.
  2. Confirm StoreMove is installed and active.
  3. Confirm WooCommerce is installed and active.
  4. Activate Orders Import & Export Add-on for StoreMove from the WordPress Plugins screen.
  5. Open StoreMove > Orders Import & Export.
  6. Open the License tab and activate the license.

License Management

The License tab manages the add-on license. License activation, status checks, and deactivation are handled by the add-on licensing service and should be used from the add-on admin page.

Activate a License

  1. Go to StoreMove > Orders Import & Export.
  2. Open the License tab.
  3. Enter the license key.
  4. Click the activation button.
  5. Return to the Overview tab and confirm the license status is active.

License Details

The License tab shows the current license key state, status label, expiration or renewal details when available, and local license actions. The Product ID is intentionally not shown in the license details table.

License Actions

  • Activate: Sends the entered license key to the licensing endpoint and stores the returned status locally.
  • Check status: Refreshes the license status from the licensing endpoint.
  • Deactivate or revoke: Deactivates the license for the current site.
  • Remove local data: Removes stored local license data from this WordPress site.

Add-on Admin Page

The add-on admin page is a management page only. It does not contain separate Import Orders or Export Orders workflow tabs. Real order import and export work happens inside the main StoreMove Import and Export pages.

Tabs

Tab Purpose
Overview Shows add-on status, license status, Orders Import availability, Orders Export availability, supported formats, and buttons to open the main StoreMove workflows.
License Handles license activation, status checks, local license data, and license deactivation.

StoreMove Integration

The add-on registers Orders through StoreMove extension points so Orders behaves like an available StoreMove module. Once active, StoreMove can list Orders on Import and Export screens, use the add-on importer/exporter classes, show fields for mapping and exports, and record jobs in History.

Registered Order Module

  • Data type: orders
  • Label: Orders
  • Object type: order
  • Source: add-on
  • Importer: SMOIE_Order_Importer
  • Exporter: SMOIE_Order_Exporter

Import Orders

Order imports run through the main StoreMove Import workflow. StoreMove handles upload, parsing, preview, field mapping, import options, batching, progress display, and history logging. The add-on handles the WooCommerce order create/update work through WooCommerce CRUD APIs.

Basic Import Steps

  1. Go to StoreMove > Import.
  2. Select Orders as the data type.
  3. Select CSV, JSON, or XML.
  4. Upload the order file.
  5. Review the preview and mapping screen.
  6. Map source columns to supported order fields.
  7. Choose import options such as create/update mode and empty-field behavior.
  8. Run the import.

Import Modes

Mode Behavior
Create and update Creates new orders when no matching order exists and updates existing orders when the imported ID matches an existing order.
Create only Creates new orders and skips rows that match existing orders.
Update only Updates existing orders and skips rows without a matching order.
Skip existing Creates only non-existing orders and skips existing order IDs.

Import Notes

  • Existing orders are matched by the imported id field.
  • Blank mapped values are ignored unless StoreMove’s overwrite-empty option is enabled for an existing order.
  • Order status values may be provided with or without the wc- prefix, for example processing or wc-processing.
  • Invalid order statuses are ignored instead of forcing an invalid WooCommerce order state.
  • Order saves use WooCommerce CRUD methods, not direct database table writes.

Export Orders

Order exports run through the main StoreMove Export workflow. StoreMove handles data type selection, format selection, field selection, file generation, protected file storage, and History records. The add-on supplies the WooCommerce order rows.

Basic Export Steps

  1. Go to StoreMove > Export.
  2. Select Orders as the data type.
  3. Select CSV, JSON, or XML.
  4. Select the order fields to include.
  5. Review Step 4. If the export was opened from selected orders, the selected-order notice appears here.
  6. Click Generate Export.
  7. Open History to download the generated file.

Export Selected Orders

Selected order export works from the WooCommerce Orders admin list. It follows the same user flow as StoreMove’s selected Products and selected Coupons export behavior.

How It Works

  1. Select one or more orders in the WooCommerce Orders list.
  2. Click Export X selected in the StoreMove toolbar.
  3. StoreMove opens the Export page with Orders selected.
  4. Step 4 shows a notice such as 2 selected orders will be exported. with a Clear selection link.
  5. Click Generate Export.

Expected Result

The export file contains only the selected orders. The selected IDs are submitted through filters[order_ids], and the exporter limits the WooCommerce order query with post__in so HPOS and legacy order storage both respect the selection.

orders import export add on for storemove export selected - CodeMaster Hub

Supported Fields

The same field list is used for order import mapping and order export field selection.

Field Key Field Label Import Notes Export Notes
idOrder IDUsed to match an existing order for updates.Exports the WooCommerce order ID.
order_numberOrder numberUsed with the source order ID to create a duplicate-safe import reference. The WooCommerce display number itself is not forced.Exports the displayed order number.
statusStatusAccepts valid WooCommerce order statuses with or without wc-.Exports the order status without the wc- prefix.
currencyCurrencySets order currency.Exports the order currency code.
date_createdDate createdParses date values through WooCommerce date handling.Exports Y-m-d H:i:s when available.
date_modifiedDate modifiedSets modified date when supported by the order object.Exports Y-m-d H:i:s when available.
date_paidDate paidSets paid date when supported by the order object.Exports Y-m-d H:i:s when available.
date_completedDate completedSets completed date when supported by the order object.Exports Y-m-d H:i:s when available.
customer_idCustomer IDSets the customer ID for new or updated orders.Exports the customer ID.
billing_emailBilling emailSets billing email.Exports billing email.
billing_firstBilling first nameSets billing first name.Exports billing first name.
billing_lastBilling last nameSets billing last name.Exports billing last name.
billing_addressBilling addressImports pipe-separated address parts into address 1, address 2, city, state, postcode, and country when individual fields are not mapped.Exports address parts separated by |.
billing_first_name, billing_last_name, billing_company, billing_address_1, billing_address_2, billing_city, billing_state, billing_postcode, billing_country, billing_phoneBilling detailsSets full WooCommerce billing address fields.Exports each supported billing field separately.
shipping_firstShipping first nameSets shipping first name.Exports shipping first name.
shipping_lastShipping last nameSets shipping last name.Exports shipping last name.
shipping_addressShipping addressImports pipe-separated address parts into address 1, address 2, city, state, postcode, and country when individual fields are not mapped.Exports address parts separated by |.
shipping_first_name, shipping_last_name, shipping_company, shipping_address_1, shipping_address_2, shipping_city, shipping_state, shipping_postcode, shipping_country, shipping_phoneShipping detailsSets full WooCommerce shipping address fields.Exports each supported shipping field separately.
payment_methodPayment methodSets payment method ID.Exports payment method ID.
payment_method_titlePayment method titleSets payment method title.Exports payment method title.
transaction_idTransaction IDSets transaction ID.Exports transaction ID.
shipping_totalShipping totalSets shipping total.Exports shipping total.
shipping_taxShipping taxSets shipping tax.Exports shipping tax.
discount_totalDiscount totalSets discount total.Exports discount total.
discount_taxDiscount taxSets discount tax.Exports discount tax.
cart_taxCart taxSets cart tax.Exports cart tax.
tax_totalTax totalUsed as a cart tax fallback when cart_tax is not mapped.Exports total order tax.
order_totalOrder totalSets order total.Exports order total.
line_itemsLine itemsImports JSON line items as real WooCommerce product order items. Existing products are linked when possible; missing products are preserved as readable line items.Exports line item data as JSON, including product IDs, variation IDs, SKU, quantity, totals, taxes, and safe item meta.
coupon_itemsCoupon itemsImports JSON coupon lines as WooCommerce coupon order items without requiring the coupon to still exist.Exports coupon item data as JSON, including code, discount, discount tax, and safe item meta.
couponsCouponsImports coupon codes as coupon order items when coupon_items is not mapped.Exports coupon codes separated by |.
custom_metaCustom metaImports safe custom order metadata through WooCommerce order meta APIs. Protected WooCommerce/internal keys are skipped.Exports safe non-protected custom order metadata as JSON.
customer_noteCustomer noteSets customer note.Exports customer note.

File Formats

Orders use the same StoreMove format system as Products and Coupons. The add-on provides order rows and fields; StoreMove handles parsing and generation for supported formats.

Format Use Case Notes
CSV Spreadsheet editing and most common store migration tasks. CSV delimiter follows StoreMove settings.
JSON Developer-friendly structured data exchange. Useful when preserving nested structures such as line item JSON.
XML Structured data exchange with XML-based systems. Generated and parsed through StoreMove's format handlers.

History and Logs

Order imports and exports are recorded in StoreMove History using the object type order and source add-on. Export files are stored by StoreMove and can be downloaded from History.

History Records

  • Direction: import or export
  • Data type: orders
  • Object type: order
  • Source: add-on
  • Format: CSV, JSON, or XML
  • Status and counters from the StoreMove job

Logs

Import row messages are written through the StoreMove logger when a logger and log file are available. Export generation is logged by StoreMove’s export controller.

Data Handling and HPOS

The add-on is designed to work with WooCommerce order storage through public WooCommerce APIs.

  • Order imports create and update orders using WooCommerce CRUD APIs.
  • Order exports read orders using wc_get_orders().
  • Selected exports use post__in, which WooCommerce HPOS remaps to the order ID field.
  • The add-on does not write directly to WooCommerce order database tables.
  • The WooCommerce Orders list toolbar supports both legacy and HPOS order admin screens.

Troubleshooting

Orders does not appear in StoreMove Import or Export

  • Confirm StoreMove is active.
  • Confirm WooCommerce is active.
  • Confirm this add-on is active.
  • Confirm the add-on license is valid and active.
  • Refresh the StoreMove Import or Export page after activating the license.

The WooCommerce Orders list does not show StoreMove buttons

  • Confirm the current user can manage StoreMove.
  • Confirm the license is active.
  • Confirm you are on the Orders list screen, not an individual order edit screen.
  • Confirm the page is not hiding the page title area through another admin plugin.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top