Importing Orders and Syncing Products
Overview
The WooCommerce integration connects your WooCommerce online store to M-Power, enabling you to:
- Import orders from WooCommerce as Order Requests, then review and convert them into M-Power Orders
- Sync products so that WooCommerce products are linked to M-Power Inventory items by SKU
- Check stock levels for linked products directly from WooCommerce
You can configure multiple WooCommerce stores if needed, each with its own credentials and settings.
Prerequisites
Before you begin, you'll need WooCommerce REST API keys. To create them:
- In your WordPress/WooCommerce admin, go to WooCommerce > Settings > Advanced > REST API.
- Click Add key.
- Enter a description (e.g. "M-Power Integration").
- Select a user to associate the key with.
- Set permissions to Read — read access is sufficient for importing orders and syncing products.
- Click Generate API key.
- Copy both the Consumer Key and Consumer Secret. You'll need these for M-Power.
For more details, see the WooCommerce REST API documentation.
Setting Up the Integration
- In M-Power, go to Settings > Integrations.
- Click the Add Integration button and select Woocommerce Order Import from the dropdown.
- Fill in the configuration fields:
- Instance Name — A friendly label for this store connection (e.g. "Main Store", "AU Warehouse"). Useful when connecting multiple WooCommerce sites.
- Base URL — The root URL of your WooCommerce store, e.g.
https://store.company.com. Do not include a trailing slash or any path after the domain. - Consumer Key — The API Consumer Key generated in WooCommerce.
- Consumer Secret — The API Consumer Secret generated in WooCommerce.
- Click Save.
Testing the Connection
After saving, click Test Integration. M-Power will attempt to connect to your WooCommerce store using the provided credentials. Results appear in the log panel below the button.
- If the test succeeds, you'll see confirmation of a successful connection.
- If it fails, double-check that your Base URL is correct (no trailing slash), and that the Consumer Key and Consumer Secret are entered accurately.
Syncing Products
Before importing orders, it's recommended to sync your WooCommerce products with M-Power Inventory. This ensures that when orders come in, the line items can be automatically matched to existing Inventory items.
- On the integration settings page, find the Sync Woocommerce Products panel on the right side.
- Click the Sync button.
- A progress dialog will appear showing the sync status.
How Product Sync Works
The sync fetches all visible products from your WooCommerce catalog and attempts to match them to M-Power Inventory items by SKU:
- Matched products — If a WooCommerce product's SKU matches an existing M-Power Inventory item (the match is case-insensitive and treats hyphens and underscores as equivalent), the Inventory item is updated with the WooCommerce product ID, description, permalink, and image URL.
- Unmatched products — If no matching SKU is found in M-Power, a new Inventory item is created automatically. These items are tagged with "WC_NEW" so you can easily find and complete their setup (buy price, landed price, product owner, etc.).
You can run the product sync whenever you add new products to WooCommerce or need to refresh the links.
Tagging Imported Orders
On the integration settings page, the Tags panel lets you assign tags that will be automatically applied to every order imported from this integration. Tags must be configured as both an Order tag and an Integration tag to appear in the dropdown.
To add a tag, click the Tag dropdown button and select from the available tags. To remove a tag, click the tag badge in the panel.
This is useful for filtering and organising imported orders in the Order Requests list.
Importing Orders
Once the integration is configured and products are synced:
- Navigate to Orders > Order Requests.
- Click the Import button (dropdown).
- Select the WooCommerce integration instance you want to import from.
- A progress dialog will appear while the import runs.
What Gets Imported
The import pulls orders from WooCommerce with a status of "processing" (i.e. paid and awaiting fulfilment) created since your last sync. If this is your first import, it looks back 5 days.
Each WooCommerce order becomes an Order Request in M-Power containing:
- Order summary — order number, dates, payment method, transaction ID, currency
- Financial details — line totals, discount, freight/shipping, tax, order total
- Customer details — name, email, phone, company
- Billing address — full billing address from the order
- Shipping address — full shipping address from the order
- Line items — each product line with SKU, description, quantity, unit price, and tax
- Freight — shipping costs are added as a separate line item
- Meta data — any custom order or line item meta data from WooCommerce is preserved
Duplicate Detection
Orders are tracked by their WooCommerce order_key. If an order has already been imported, it will be skipped on subsequent imports.
Reviewing and Converting Order Requests
After import, your new Order Requests appear in the Orders > Order Requests list. Click on an order to open the detail view, which has several panels:
Order Summary
Shows the WooCommerce order details at a glance — order number, date, status, customer name, payment method, and addresses.
Order Lines
Displays each line item with its SKU, description, quantity, and price. For each line:
- If the SKU was matched to an M-Power Inventory item during product sync, the linked item is shown.
- If a line isn't matched, you can use the Link Item button to manually search and link an existing Inventory item, or the Create Item button to create a new one.
- The Reset button lets you unlink and re-select if the wrong item was matched.
Create Order Panel
This panel shows the validation status and allows you to convert the Order Request into a full M-Power Order. The system checks:
- Customer matching — whether the order's customer email matches an existing M-Power Company/Contact
- Address matching — whether the shipping address matches an existing Customer Address
- Item matching — whether all line items are linked to valid M-Power Inventory items
- Pricing — whether linked items have a buy price, landed price, and product owner set
If all checks pass, the order can be converted. If validation fails, the panel shows which items need attention.
Auto-Conversion
When an order passes all validation checks during import, it is automatically converted to an M-Power Order without manual intervention. This is the typical flow for stores where products are already fully set up in M-Power.
When auto-conversion occurs, the system automatically:
- Creates or matches a Company record (by customer name)
- Creates or matches a Contact record (by email and phone)
- Creates or matches a Customer Address (from shipping details)
- Creates the M-Power Order with all line items
Advanced Settings
The integration supports some additional configuration options that may be set for your account:
- Skip SKU Check — When enabled, orders can be converted even if some line items aren't linked to M-Power Inventory items. Use this if you have items that don't need inventory tracking.
- Force Include Tax — When enabled, line item prices are treated as tax-inclusive regardless of how WooCommerce reports them. Useful when your WooCommerce store is configured for tax-exclusive pricing but your M-Power system works tax-inclusive.
- Force Tax Rate — When "Force Include Tax" is enabled, this specifies which M-Power tax rate to apply.
Managing the Integration
Viewing Sync History
The Log panel on the integration settings page shows the timestamp and result of the last import (e.g. "OK — Imported 5 orders, 2 skipped").
Multiple WooCommerce Stores
You can configure multiple WooCommerce integrations with different Instance Names. Each appears as a separate option in the Import dropdown on the Order Requests page.
Deleting the Integration
Click the Delete button in the red panel at the bottom of the settings page. You'll be asked to confirm — this cannot be undone. Deleting removes the configuration only; previously imported Order Requests and converted Orders are not affected.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Test Integration fails | Incorrect credentials | Double-check the Consumer Key, Consumer Secret, and Base URL |
| Test Integration fails | Base URL has trailing slash or path | Enter only the root domain, e.g. https://store.company.com with no trailing slash |
| Test Integration fails | SSL/HTTPS issues | Ensure your WooCommerce site has a valid SSL certificate |
| No orders imported | No orders with "processing" status | The import only pulls orders with WooCommerce status "processing". Check your order statuses in WooCommerce |
| No orders imported | All orders already imported | Orders are only imported once. Check the Order Requests list for existing entries |
| Product sync creates "WC_NEW" items instead of matching | SKU mismatch | The sync matches by SKU (case-insensitive, hyphens/underscores treated as equivalent). Verify that your WooCommerce product SKUs align with your M-Power Inventory item IDs |
| Order won't convert | Missing item links | Open the order detail and use the Link Item or Create Item buttons on unmatched lines |
| Order won't convert | Items missing pricing | Ensure linked Inventory items have a buy price, landed price, and product owner set |
FAQ
Q: Does M-Power push any data back to WooCommerce? Currently, the integration is primarily read-only. Orders and products are pulled from WooCommerce into M-Power. Stock quantity updates back to WooCommerce are available but not yet fully implemented.
Q: Which WooCommerce order statuses are imported? Only orders with a status of "processing" are imported. This typically means the order has been paid but not yet fulfilled.
Q: How far back does the first import look? If there's no previous sync recorded, the import looks back 5 days.
Q: What happens if I add new products to WooCommerce? Run the Sync Products function again from the integration settings page. New products will either match to existing Inventory items by SKU or be created as new items tagged "WC_NEW".
Q: Can I import from multiple WooCommerce stores? Yes. Add a separate integration for each store with its own Instance Name, Base URL, and API credentials. Each will appear independently in the Import dropdown.
Comments
0 comments
Article is closed for comments.