Order refunds and cancellation scenarios
Manage Order refunds and cancellation scenarios
Internal only
Given this example order
Order number: ORDER001
Total Amount (incl GST): $29
Tables can't be imported directly. Please insert an image of your table which can be found here.
Refund scenarios:
1. Full order refund: the total amount of $29 is refunded to the buyer.
2. One full line item is refunded, eg: line item #1 is refunded, ie $10 is refunded to the buyer.
3. Partial line item refunded, eg: for line item #1, from the quantity of 4 we refund 2, ie 2 x 2.5 = $5 is refunded to the buyer.
4. More full line items, ie multiple of scenario 2, eg: refund line items #1 and #2, ie 10 + 6 = $16 is refunded to the buyer.
5. More partial line items, ie multiple of scenario 3, eg: refund 2 tunas and 1 pasta, ie 2 x 2.5 + 1 x 3 = $8 is refunded to the buyer.
6. A combination of scenarios 4 and 5.
7. A specified amount, without any reference to a line item, eg: refund $7 to the buyer.
Omnivore should support all 7 scenarios above.
As general rules, Omnivore can pre-check before making the api call to the marketplace:
1. Sum of refunded amounts is not greater than the total order amount.
2. Refunded amounts for a line item is not greater than the total line item amount.
Potential for confusion scenarios:
1. A combination of line item based refunds and order level refunds.
What is supported by the marketplaces is to be discovered and documented here.
Ebay Fulfilment API has a call for Issue refund
https://developer.ebay.com/api-docs/sell/fulfillment/resources/order/methods/issueRefund
Ebay allows:
1. An order level amount
2. A line item refund where the amount is specified. Multiple of these can be in the same api call.
The refund scenarios can be modelled like so:
Sc. 1 -> Order level amount equals to the full order amount.
Sc. 2 -> Line item refund, the specified amount equals the full line item amount
Sc. 3 -> Line item refund, the specified amount equals refunded quantity x unit price
Sc. 4 -> Multiple of sc. 2
Sc. 5. -> Multiple of sc. 3
Sc. 6 -> A combination of sc 4 and sc 5.
Sc. 7 -> Order level amount with the specified amount.
Update Mar 2023
Scenario 1 is the only one tested successfully for ebay.
The other are work in progress.
In the context of refunds, these scenarios should be documented:
1. What means an order cancellation in Omnivore
- where the order has not yet been shipped
- on the order page the button 'Mark as Refunded' appears
2. What means an order refund in Omnivore
-where the order has been shipped
- on the order page the button 'Cancel' appears
3. Where is the above being initiated:
3.1. In the retailer ecommerce suite
3.2. In Omnivore, via the GUI
- where the order has failed to go to the eCommerce platform ONLY
-should be allowed select the refund reason and should have a pop up to confirm the action
3.3. In Omnivore, via the Order API (v2)
3.4. In the marketplace - cancellation only
Also, for all the scenarios above, these 2 cases:
1. The order exists in the retailer system, ie Omnivore successfully created the order in their system.
2. The order does not exist in the retailer system, ie the order is "RNF" in Omnivore.
Update April 2023
Refunds and cancellations scenarios
The following scenarios have been tested and found to be working as expected for the combination Shopify + eBay.
1. Order cannot be created in retailer Shopify (RNF) and should be cancelled in Omnivore
Steps:
1. Go to order page
2. Click on "cancel"
3. Observe message, observe new records in Order history
4. Optional, log into ebay and observe that the order reads cancelled.
5. Optional, check with the buyer that the full transaction amount is refunded.
2. Cancel an order in Shopify order not yet shipped
Steps:
1. Go to the order page in Omnivore, check that is shows as Pending shipped and it has a Shopify order number
2. Go to Shopify, use More actions -> Cancel order button
3. Use the refund amount option. Refund later has not been tested thus I don't know how that works.
4. Either wait for the automatic system processes or go to the order page in Omnivore and click "advance current order status" in the Admin only section.
5. Observe the new records in Order history ie the interactions with Shopify and ebay.
6. Optional, log into ebay and observe that the order reads cancelled.
7. Optional, check with the buyer that the full transaction amount is refunded.
3. Refund some line items in Shopify order not yet shipped
Prerequisites: an order with multiple line items or one line item with multiple quantities.
Steps:
1. Go to the order page in Omnivore, check that is shows as Pendig shipped and it has a Shopify order number
2. Go to Shopify, click Refund. Chose a quantity to refund for one or more line items. Refund shipping is not tested and not expected to work.
3. Observe that refund amount is the sum of quantities times unit price. (ie shipping is not added)
4. Remaining steps as above from step 4 onwards.
4. Refund some line items then cancel the order in Shopify order not shipped
A combination of 2 and 3 above.
5. Refund from the eCommerce platform but it is not supported in marketplace
NB - refunded failure status to alerts where the refund mechanism has not occurred or can not be actioned on the marketplace.
6. Refund a nominal amount order not shipped
Steps:
1. Go to order page in Omnivore and select the Shopify order number
2. Go to Shopify, click Refund. Under 'Unknown Gateway' section enter the nominated amount
3. Remaining steps as above from step 4 onwards.
4.Either wait for the automatic system processes or go to the order page in Omnivore and click "advance current order status" in the Admin only section.
5. Observe the new records in Order history ie the interactions with Shopify and ebay.
6. Optional, log into ebay and observe that the order reads cancelled.
7. Optional, check with the buyer that the full transaction amount is refunded.
7. Refund Shipping amount order not shipped
Steps:
1. Go to order page in Omnivore and select the Shopify order number
2. Go to Shopify, click Refund. Under 'Refund Shipping' section enter the full or partial shipping amount
3. Remaining steps as above from step 4 onwards.
4.Either wait for the automatic system processes or go to the order page in Omnivore and click "advance current order status" in the Admin only section.
5. Observe the new records in Order history ie the interactions with Shopify and ebay.
6. Optional, log into ebay and observe that the order reads cancelled.
7. Optional, check with the buyer that the full transaction amount is refunded.
8. Return and refund order is shipped
There are two primary scenarios Return and then Refund or follow the Refund scenarios 2,3,6 and 7
For a Return then Refund
Steps:
1. Go to the order page in Omnivore and select the Shopify order number
2. Go to Shopify
3. Click Return
4.. Enter the quantity of items in the order that are being returned.
In the Return shipping options section, select one of the following options:
- Select Create return label to create a return shipping label for your customer. This option is available only if your primary location and customer shipping address are both in the US.
- Select Upload return label to upload an existing return shipping label for your customer. On the Add return label page, upload the PDF or JPEG file for your shipping label. You can enter the Tracking number and Shipping carrier if you have this information.
- Select No return shipping to create a return without any return shipping information.
- Click Create return.
Once product is received in then trigger a refund.
Update May/June 2024
Overview of the order refund process based on eCommerce Platforms and Marketplaces.
Tables can't be imported directly. Please insert an image of your table which can be found here.
eCommerce Platform Automatic Manual MarketplacesUpdate January 2025 (Regarding Amazon)
Amazon cancellation and refunds is still in development to be fully completed and tested.
- Currently only cancellations work for Amazon.
- You cannot refund by line item or after a product has been shipped
Shopify language:
If the order is in Shopify but it is not shipped yet, you do a cancellation.
If the order was shipped, you do a return.
~~