ChannelEngine: cancellations
About this article
This article describes how cancellations work on ChannelEngine: how you cancel an order and how you handle cancellations that come from a marketplace.
Table of contents
Cancellations through the Merchant API
Introduction
An order on ChannelEngine ends in one of two ways: you ship it, or you cancel it. A cancellation can start on either side:
- Merchant cancellation: you cancel the order on ChannelEngine or through the Merchant API. ChannelEngine sends the cancellation to the marketplace.
- Channel cancellation: the customer or the marketplace cancels the order, or asks to cancel it. ChannelEngine imports the cancellation or cancellation request and updates the order.
Not all marketplaces support both types. Some support only merchant cancellations, others only cancellations registered on the marketplace. Cancellation options differ per channel; see Channel-specific behavior.
Marketplaces also differ in whether they support partial cancellations. On those marketplaces that support them, you can cancel a full order or only some of its lines or units. The remaining lines stay active and can still be shipped.
Cancellation vs. return
A cancellation and a return can have the same outcome: the customer is refunded. The difference is when it happens:
- Cancellation: the order is not shipped yet, i.e.: it is still Awaiting payment, New, or In progress. The customer does not receive the items, so there is nothing to send back.
- Return: the order is shipped. The customer sends the items back, or the marketplace registers a return. You can only create a return after the order is shipped.
ChannelEngine decides which one applies: as long as no shipment exists for the order, the order can still be cancelled. This applies even if you already handed the parcel to the carrier but did not yet create a shipment on ChannelEngine. However, once the shipment exists, the order can only be handled as a return.
Cancellations overview
Access your cancellations at Orders, Cancellations. This overview shows all cancellations: both created by you and the marketplace.
Cancellations are sorted from newest to oldest. Click the eye icon to open the details of a cancellation. Use the search bar and filters at the top to narrow the list:
- Search - search by ChannelEngine order ID, channel order number, shipment ID, merchant order number, merchant shipment number, or the last name on the invoice address.
- Channel - show cancellations for one or more channels. With no channel selected, all channels are shown.
- Status - filter by status, i.e.: Closed or Pending. Cancellations are always Closed.
- Clear filters - clear all filters.
The overview table shows the order and cancellation details.
- Order ID - the unique ID of the order within your tenant on ChannelEngine. Click the order ID to open the order details page.
- Order number channel/merchant - the unique reference assigned to the order by the channel and/or your own system.
- Channel - the channel for which the cancellation is intended.
- Order date - when the order was placed on the marketplace.
- Cancellation ID - the unique reference assigned to the cancellation by ChannelEngine.
- Merchant cancellation number - the unique reference assigned to the cancellation by your own system. This column can be empty if no number is assigned.
- Created date - when the cancellation was created on ChannelEngine.
- Status - the status of the cancellation on ChannelEngine.
- Channel status - whether the cancellation reached the marketplace, e.g.: Exported at followed by the date and time.
- Cancellation reason - the reason for the cancellation, if one was provided.
Merchant cancellations
Create a cancellation
To cancel an order via the ChannelEngine web interface:
- From the left sidebar, go to Orders.
-
Locate the order and click the cross icon to create a cancellation.
Create a cancellation via the web interface - Indicate the quantity of units to cancel. To cancel part of an order, enter a quantity lower than the ordered quantity.
- Select a cancellation reason from the dropdown, e.g.: Out of stock.
- Enter a Merchant cancellation number. This is the unique reference assigned to a cancellation by your system. If you do not have one, use the order number or any other unique number. Do not reuse a number.
- Optionally, provide a cancellation comment.
- Click Create cancellation.
Test cancellations
To cancel a test order, select Channel (Test) option in Created by. This simulates a cancellation that comes from the marketplace. To simulate a cancellation that you create, select Merchant.
Channel cancellations
Channel cancellations work in one of two ways, depending on the marketplace:
- Request-based: the marketplace sends a cancellation request. The order stays In progress, and you decide whether you can still stop fulfillment. If you can, you confirm the cancellation on ChannelEngine by creating a cancellation. See Cancellation requests.
- Enforced: the marketplace cancels the order itself, and you cannot decline it. A marketplace can do this at any point until the order is delivered, including after you pick and pack it. If the order has no shipment on ChannelEngine at that moment, ChannelEngine cancels the order, whatever your internal process is. See Enforced cancellations.
Cancellation requests
As long as the order is not Shipped, some channels allow the customer to request a cancellation for it. A cancellation request does not always result in an actual cancellation, but it does tell you that someone wants to cancel one or more order lines.
Whether the order is actually cancelled depends on its status at the time of import:
- Awaiting payment or New (not yet acknowledged) - ChannelEngine cancels the order automatically. The order status changes to Cancelled. See Automatic cancellation of new orders.
- In progress (acknowledged) - ChannelEngine does not cancel the order; it marks the requested order lines as Cancellation requested, and the order remains In progress. You decide on further action. To receive cancellation requests, enable the New order cancellation request notification. See ChannelEngine: how to configure notifications.
To see if the order has an open cancellation request, on the order details page, check if there is a Cancellation requested quantity label:
If you use the Merchant API, see the Merchant API orders documentation to retrieve orders with open cancellation requests.
When you see a cancellation request on the order:
- If you can still stop fulfillment, stop it in your own system and confirm the cancellation on ChannelEngine or through the Merchant API. ChannelEngine sends the cancellation to the channel.
- If the order is already shipped or cannot be stopped, ship it as usual and handle it as a return with the customer or the marketplace.
Automatic cancellation of new orders
By default, when ChannelEngine receives a cancellation request for an order with status Awaiting payment or New, it cancels the order automatically. ChannelEngine assumes that an unacknowledged order has not entered your fulfillment process yet, so canceling it right away keeps it out of your warehouse.
You can disable ChannelEngine’s default cancellation behavior on unacknowledged orders. Do so if:
- Your OMS or ERP retrieves orders without acknowledging them, so orders stay on Awaiting payment or New while they are already being processed.
- You handle orders manually on ChannelEngine. Orders handled this way might stay on Awaiting payment or New (unacknowledged) until shipped.
- You have a high order volume, and orders and cancellation requests are imported at the same time, causing timing issues.
- You work with multiple systems that import orders. So the order might be Awaiting payment or New on ChannelEngine, but already exists in your system (e.g.: ERP) through a different integration (e.g.: with an OMS).
To disable automatic cancellation:
- From the left sidebar, go to Settings, Advanced settings, Orders.
- Activate the Disable auto order cancellation for new orders setting.
This setting applies to your whole tenant. When it is enabled, ChannelEngine treats a cancellation request for an Awaiting payment or New order the same way as for an In progress order: it marks the order lines as Cancellation requested and leaves the decision to you. Make sure your integration or your team monitors cancellation requests and creates a cancellation while fulfillment can still be stopped.
This setting does not apply to enforced cancellations. See Enforced cancellations.
Enforced cancellations
Some marketplaces do not send a cancellation request that you can confirm or reject. They enforce the cancellation instead. Examples are Lazada, Shopee, Noon, Namshi, and TikTok Shop. Such a marketplace can enforce a cancellation at any point until the order is delivered, including after you pick and pack it.
When a marketplace enforces a cancellation:
- If the order has no related shipment on ChannelEngine, ChannelEngine cancels the order and creates a channel cancellation.
- If you create a shipment after the cancellation was created, the shipment request returns an error. A cancelled order can no longer be shipped.
If this already happened, see the FAQ "What if the customer cancelled, but I already shipped?"
Channel-specific behavior
Marketplaces differ in how they handle cancellations:
- Some marketplaces send a cancellation request that you confirm or reject.
- Some marketplaces enforce a cancellation, and the order is updated to Cancelled on ChannelEngine without a request.
- Some marketplaces do not allow cancellations initiated by the merchant.
- Some marketplaces do not communicate cancellations initiated on their side, and you have to handle them outside of ChannelEngine.
- Some channels have settings that change the default behavior, e.g.: Shopify, where you can allow cancellations of unshipped orders.
Check the related marketplace guide to learn which cancellation flow is supported.
Cancellations through the Merchant API
If your OMS or ERP is connected through the Merchant API, you can create and retrieve cancellations from your own system. For the endpoints, request fields, reason codes, and examples, see the Merchant API: cancellations article.
That documentation also explains how to check which cancellation options a marketplace supports (the ChannelOrderSupport field on the order) and what to do when exporting a cancellation to the marketplace gets stuck.
Frequently asked questions
What is the difference between a cancellation and a return?
A cancellation happens before the order is shipped on ChannelEngine; a return happens after. See Cancellation vs. return.
I already handed the parcel to the carrier. Can I still cancel the order?
Yes, as long as the shipment is not yet created on ChannelEngine, because ChannelEngine does not know about the physical parcel. Cancel only if you can stop the parcel. Otherwise, create the shipment and handle the order as a return instead. To avoid unwanted cancellations, create the shipment as soon as you hand the parcel to the carrier.
Can I cancel only part of an order?
Yes, if the marketplace supports partial cancellations. Enter a quantity lower than the ordered quantity, or select only some order lines. The remaining lines stay active and can still be shipped. Check the corresponding marketplace guide to see if partial cancellations are supported.
Why was my order cancelled when I did not cancel it?
The customer or the marketplace cancelled it. Open the cancellation in Orders, Cancellations to see the details. There are two common causes:
- The order was Awaiting payment or New when a cancellation request came in, so ChannelEngine cancelled it automatically. See Automatic cancellation of new orders.
- The marketplace enforced the cancellation, and the order had no shipment on ChannelEngine. See Enforced cancellations.
What does the Cancellation requested label on the order mean?
The customer or marketplace asked to cancel one or more order lines, and the order was In progress. ChannelEngine did not cancel the order but labeled it instead. You decide whether to confirm or reject the request. See Cancellation requests.
Can I decline a cancellation from a marketplace?
Not for enforced cancellations. For request-based cancellations, you can confirm or reject a request: if you can no longer stop fulfillment, ship the order as usual and handle it as a return with the customer or the marketplace.
Does every marketplace accept merchant cancellations?
No. Some marketplaces do not accept cancellations from merchants and only allow cancellations that they start themselves. Check the corresponding marketplace guide for exact details.
Why does creating a shipment return an error?
The order was probably cancelled already. This happens when a marketplace enforced the cancellation before the shipment was created on ChannelEngine. A cancelled order can no longer be shipped. Check Orders, Cancellations for a cancellation on the order.
What if the customer cancelled, but I already shipped?
This applies to marketplaces with enforced cancellations, when you shipped the parcel but your system had not created the shipment on ChannelEngine yet. ChannelEngine cancelled the order because no shipment existed at that moment, and you can no longer create a shipment for it. Contact the customer to agree on how to proceed. This needs to be handled outside of ChannelEngine.
Which cancellation number should I enter?
Enter the unique reference from your own system. If you do not have one, use the order number or another unique number. Do not reuse a number for another cancellation.
My cancellation does not arrive at the marketplace. What can I do?
ChannelEngine retries failed exports automatically. If the cancellation still does not arrive, contact ChannelEngine Support with the ChannelEngine order ID. If you use the Merchant API, see the Merchant API cancellations article for how to flag a stuck export.
Should I disable automatic cancellation of new orders?
Disable it if orders can stay Awaiting payment or New while you are already processing them, e.g.: when your OMS or ERP does not acknowledge orders. See Automatic cancellation of new orders. The setting does not apply to enforced cancellations.
Comments
0 comments
Article is closed for comments.