ChannelEngine: why are my orders not imported?
About this article
This article describes some of the issues that may affect the import of orders within ChannelEngine, as well as potential solutions to solve them.
Table of contents
Introduction
If your order is stuck on status New on ChannelEngine, it almost certainly means that your store-management software or order management system has not yet successfully retrieved the order from ChannelEngine. The reason for this can vary depending on your system/connection, but in almost all cases you should be able to find the root cause yourself.
If an order is acknowledged by your order management service, the status of the order switches to In progress and a Merchant order number is visible on ChannelEngine. This is the unique reference number on your own order management system. E.g.: the Adobe Commerce orderId, or the unique order number your enterprise resource planning (ERP) uses. By looking up that number in your own system, you should be able to find the order in question.
The most common causes are:
- One or more ordered products are unavailable or unknown.
- One or more of the order fields contain information that the system does not accept (e.g.: a house number addition that is too long).
- The order connection is somehow disabled.
Connections
A list of connection types and the most common order-related issues linked to them can be found below.
Adobe Commerce (née Magento)
By using Adobe Commerce (née Magento) API, ChannelEngine ensures that updates from Adobe Commerce usually do not cause problems that require a lot of changes to ChannelEngine's connector – though it does limit the available options in terms of what can be submitted to or retrieved from Adobe Commerce.
By default, ChannelEngine calls Adobe Commerce API every five minutes to create a guest cart and submit the order. If this fails, ChannelEngine gets a response through the API which is stored on ChannelEngine's end, and can be seen in the notifications on ChannelEngine.
In the following example, the product ordered is no longer available on Adobe Commerce. This is either due to the product being disabled or to the stock being equal to zero, with backorders also disabled.
The most common order-related issues with Adobe Commerce are listed below, along with possible solutions:
- The task for calling the Adobe Commerce API is disabled or failing - this can be checked on ChannelEngine under Settings > Scheduled tasks. If you need further assistance, please contact ChannelEngine's Support.
- The product sold is now unavailable/out of stock - cancel the order and verify the stock/availability on ChannelEngine.
- The address information cannot be parsed properly (usually fields containing data longer than allowed within Adobe Commerce) - some fields can be manually altered on ChannelEngine to fix this. Otherwise, please contact ChannelEngine's Support.
- The region/state requirement is enabled for specific countries - disable this requirement. Instructions on how to disable it can be found on How to Disable Province Field in Magento. Almost no marketplace submits this information, therefore this field is almost always empty.
- The product is sold in a country disabled within Adobe Commerce - either enable these countries on Adobe Commerce or make sure that the countries you sell in are correctly configured for each marketplace. This can happen if you, for example, have not excluded countries from your Amazon shipping templates.
WooCommerce
When connected to WooCommerce, ChannelEngine makes use of webhooks which call ChannelEngine's order API. This is why it is very important that the correct callback URL, as described in the WooCommerce guide, is configured on ChannelEngine. Without a proper callback URL, ChannelEngine is unable to notify WooCommerce and orders are not retrieved.
There is currently no built-in logging for WooCommerce errors, so there is no easy way to discover the root cause of issues. The most common order-related issues with WooCommerce are listed below, along with possible solutions:
- The task that calls the WooCommerce callback URL is successful, but no orders are retrieved - this is usually caused by caching, such as Varnish, being applied to the callback and generating a response – but not activating the webhook. Exclude all relevant endpoints/directories related to ChannelEngine from your caching service.
- The product sold is now unavailable/out of stock - cancel the order and verify the stock/availability on ChannelEngine.
- The address information cannot be parsed properly (usually fields containing data longer than allowed within WordPress) - some fields can be manually altered on ChannelEngine to fix this. Otherwise, please contact ChannelEngine's Support.
Shopify
If you are using the Shopify merchant integration, orders are exported via the Shopify API.
This is done by connecting to the shop uniform resource identifier (URI), as configured in the plugin settings. The most common order-related issues with Shopify are listed below, along with possible solutions:
- The task that exports orders is disabled or failing - this can be checked on ChannelEngine under Settings > Scheduled tasks or under the Task section of the plugin itself. If you need further assistance, please contact ChannelEngine's Support.
- The product sold is now unavailable/out of stock - this results in a notification on ChannelEngine, so make sure you have the relevant notifications enabled. Cancel the order and verify the stock/availability on ChannelEngine.
- The address information cannot be parsed properly (usually fields containing invalid data, such as the phone number not being formatted according to the E.164 standard) - this results in a notification on ChannelEngine, so make sure you have the relevant notifications enabled. Some fields can be manually altered on ChannelEngine to fix this. Otherwise, please contact ChannelEngine's Support.
ChannelEngine API
If the order connection is done via ChannelEngine's API, your order system makes a regular call to GET /v2/orders/new
to retrieve all orders with the status New. The most common order-related issues with the ChannelEngine API are listed below, along with possible solutions:
- The system which implemented ChannelEngine's API is not performing the call - contact your developer to check if this is the case, they can look for possible error messages.
-
The system using ChannelEngine's API retrieves the orders, but does not acknowledge them (via
POST /v2/orders/acknowledge
) with a Merchant order number. The order remains marked as New on ChannelEngine - this may cause orders to be continuously imported, which is undesired. Contact your developer to check if this is the case, they can look for possible error messages. - The address information cannot be parsed properly (usually fields containing data longer than the restriction in your order management system) - some fields can be manually altered on ChannelEngine to fix this. Otherwise, please contact ChannelEngine's Support.
Because the implementation of ChannelEngine's API in your own system is completely outside ChannelEngine's influence, most issues must be solved by the person who implemented it. When API errors occur, ChannelEngine does log a short error message, though the system communicating with ChannelEngine's services through the API contains the original API call and errors to debug issues.
Custom plugin/connection
In case of a custom build plugin/connection (e.g.: Unit4 or Exact), orders are exported from ChannelEngine through a SOAP connection. Successfully submitting orders through such a system requires the inclusion of many details, such as a debit number. This can be configured on ChannelEngine.
The most common order-related issues with custom plugins/connections are listed below, along with possible solutions:
- The task that submits orders is disabled or failing - this can be checked on ChannelEngine under Settings > Scheduled tasks. Contact ChannelEngine's Support to check and resolve the issue.
- Specific settings for your plugin are missing or incorrect - while some verification is applied when initially setting up the plugin, information missing for a new channel can cause errors. Check the settings on ChannelEngine under Setup. If you need further assistance, please contact ChannelEngine's Support.
- The address or customer information cannot be parsed properly (usually fields containing data which is longer than the restriction in your system) - some fields can be manually altered on ChannelEngine to fix this. Otherwise, please contact ChannelEngine's Support.
Comments
0 comments
Article is closed for comments.