Cancellations & Refunds


About Order Level Cancellations & Refunds

Why are Order Level Refunds & Cancellations Separated from Order Item Level Refunds/Cancellations?

  • Some marketplaces only allow item level refunds and cancellations and do not allow them to be sent at an order-level.
    • This is more common - as a general rule of thumb, it will be better to develop for these scenarios.
  • Some marketplaces require order level refunds and cancellations and do not allow them to be sent at an item-level.
  • To make partial order item cancellations or refunds (by quantity or price), and making that kind of request at an order level won't (or cannot) achieve the result desired.
  • It may be more efficient to send an Order Level refund cancellation and allow the ChannelAdvisor system to do the math at the item level to refund at the item level.
    • This can reduce the number of requests needed and help to avoid hitting the API call limits if cancelling or refunding a significant number of orders.
    • There are caveats to consider about Order Level adjustments:
      • Not all marketplaces allow for Order Level cancellations and refunds - see more about this in the second bullet under "Considerations" below.
      • Split scenarios cannot be addressed with an Order Level request - meaning multiple items exist on the order in a different state
        • One item shipped, one item unshipped - the API cannot assume which item to apply the refund to and/or an Order Level request would effectively be canceling and refunding in the same request (not allowed)
        • Partial refund on the order when multiple items exist - the API cannot assume which item or price point the refund should apply to with an Order Level request 
  • Logic is likely still necessary to support Item Level cancellations and refunds for most marketplaces
    • To support split scenarios, partial item refunds, partial quantity or partial price refunds, partial shipping refunds, etc
    • Building all requests out to support Item Level will be more efficient in development, as it will cover all scenarios

Considerations

  • If an item in an order needs to be canceled/refunded AND the marketplace requires this data be passed at the item-level and not at the order-level.
    • For pre-shipment orders: ChannelAdvisor considers any adjustment which returns money a cancellation.
    • For post-shipment orders: ChannelAdvisor considers any adjustment which returns money a refund.
  • Does the Marketplace Support Order Level or Item Level Adjustments?
    • Find out what kind of refunds or cancels the marketplace allows (Order Level and/or Item Level) - Cancellations & Refunds in ChannelAdvisor table.
    • To save a few steps for the most common marketplaces - take a look at what is allowed for Amazon and eBay below (but continue reading this page for a comprehensive understanding):
      • Amazon
        • Allows for Order Level cancellations and refunds - when full orders need to be refunded, executing this at the Order level is the simplest method.
        • Allows for Item Level cancellations and refunds - when partial quantity refunds are needed, execute requests at the Item Level.
      • eBay US
        • Allows for Order Level cancellations and refunds only when premium tax is not enabled on the eBay account - when full orders need to be refunded, executing this at the Order level is the simplest method
        • Allows for Item Level cancellations and refunds - when partial quantity or price refunds are needed, execution of all requests are required at the Item Level.
          • If premium tax is enabled, execution of all refunds are required at the Item Level.
      • eBay International (any locale outside US)
        • Allows for Order Level cancellations and refunds, as premium tax is not a consideration - when full orders need to be refunded, executing this at the Order level is the simplest method.
        • Allows for Item Level cancellations and refunds - when partial quantity refunds are needed, execution of all requests are required at the Item Level.
    • Partial quantity refund/cancel = refunding part of the quantity of an order, but a full amount of the unit cost x quantity + appropriate tax, shipping, and shipping tax (each x quantity).
      • Some marketplaces will allow a partial quantity Item Level refund/cancel (but not Order Level, as quantity is not defined at the order level).
      • Note: any attempt to refund anything less than the order total (for Order Level requests) or item total (for Item Level requests), is considered a partial price refund/cancel.
      • Order Level Behavior for Partial Quantity Cancellations: cannot send a request for partial quantity cancellation where "Quantity" property is defined, as "Quantity" exists at the item level.
      • Item Level Behavior for Partial Quantity Cancellations: if "Quantity" is less than the total original item quantity on an Item Level adjustment in a pre-shipment scenario (cancellation), it will be honored ONLY IF the marketplace supports Partial Quantity Cancellations.The total item value (including item price + appropriate taxes, shipping associated with the product, shipping taxes, gift prices and taxes), multiplied by the "Quantity" provided, will be returned to the buyer.
      • Order Level Behavior for Partial Quantity Refunds: cannot send a request for partial quantity cancellation where "Quantity" property is defined, as "Quantity" exists at the item level.
      • Item Level Behavior for Partial Quantity Refunds: the item(s) must be shipped, and a Partial Item Level Refund request needs to be executed with the "Quantity" defined in the request. It will be honored ONLY IF the marketplace supports Partial Quantity Refunds.The total item value (including item price + appropriate taxes, shipping associated with the product, shipping taxes, gift prices and taxes), multiplied by the "Quantity" provided, will be returned to the buyer.
    • Partial price refund/cancel = refunding part of the price of an order, but not the full amount of the unit or order (ie: withholding shipping costs)
      • No marketplace allows for Order Level or Item Level partial price cancellations.
      • Order Level Behavior for Partial Price Cancellations: if "AdjustmentAmount" is less than the total original order value in a pre-shipment scenario (cancellation), it will be ignored by ChannelAdvisor and the entire order amount (total order price including taxes, shipping, etc) will be returned to the buyer.
      • Item Level Behavior for Partial Price Cancellations: if "ItemAdjustment" (or any other item-level adjustment fields) is less than the total original item value on an Item Level adjustment in a pre-shipment scenario (cancellation), it will be ignored by ChannelAdvisor and the entire item amount (total item value including taxes, shipping associated with the product, shipping taxes, gift prices and taxes) will be returned to the buyer.
      • Order Level Behavior for Partial Price Refunds: all items must be shipped (or previously cancelled or refunded), and a Partial Order Refund request needs to be executed. The value passed in the "AdjustmentAmount" field will be honored if the marketplace allows for Order Level Refunds.
      • Item Level Behavior for Partial Price Refunds: the item(s) must be shipped, and a Partial Item Level Refund request needs to be executed. The value(s) passed in the "ItemAdjustment" (and other "Adjustment" properties) fields will be honored if the marketplace allows for Item Level Refunds.
  • PreventSiteProcessing: we advise using this field during pre-launch order testing on test orders or orders that shouldn't have data communicated back to the marketplace
    • If a marketplace client account and/or payment methods (e.g. PayPal) isn't finalized and connected to the ChannelAdvisor system, and 'false' is sent or the property is omitted (and defaults to 'false'), processing on the order may fail in perpetuity, and further requests cannot be made to refund or cancel the order.
  • Pre-Create Elements
    • Certain elements need to exist in the system prior to making requests that use those reference properties
      • Shipping Carriers & Classes - if an organization has very specific needs around the shipping carrier and class values to set in the API, those carrier/class values can be added by following these instructions.
        • Note: the above linked page has a list of "ChannelAdvisor Default Carrier/Class Combinations" that do not need to be added.
      • These values cannot be added via API.
  • Validations - ChannelAdvisor validates refund/cancellation requests as appropriate for each marketplace.
    • Some marketplaces allow partial quantity cancellations and refunds while others do not. For more detail on these and others, see the complete table of Cancellation and Refund allowances on the ChannelAdvisor Community page.
    • Some marketplaces restrict refunds pre-shipment. For example, Jet (as of February 2016) will mark a pre-shipment cancellation on all products in an order if only one of two items are marked for cancellation. 
      • To resolve this issue, ship the non-canceled item, then submit a cancellation request for the other.
  • Pending Refund Requests
    • ChannelAdvisor will only allow one pending refund request per order item at a time.

Refund & Cancel Orders at the Order Level (with Examples)

Refund & Cancel Orders at the Item Level (with Examples)