Covers all questions related to inventory management, order fulfillment, and shipping.
We use a dedicated BI app that connects via API to our stores. When we process returns and do NOT refund the customer and instead we send out an exchange, we face two issues that are described below.
Case 1 : Initial order with exchange and exchange with return
Problem: we create a new order from draft order with 100% discount and send this as exchange to the customer. Customer then returns the exchanged product. When we return the product from exchange order it should appear as returned but isn’t.
The JSON does not contain any information about the exchange that was returned or refunded.
Question : How can we use the API to get returns when there is actually no refund ?
We use "line_items" : to determine the ordered items by value and quantity
We use "fulfillments" : to determine the actual sales by value and quantity
We use "refunds" : to determine the returns and refunds by value and quantity
Case 2 : Initial order with exchange and exchange without return
Problem: when we create an exchange, we return the products from the initial order that was sent back, but we set refund to zero. Thus, no refund is performed because the client receives a new product with a new order.
The JSON does not differentiate between return and refund. So when a product is returned (but not refunded) it still appears as refund.
Question : How can we use the API to get returns without refunds.
Thanks for your help.
You should be able to use the Order API to fetch orders with your custom exchange metadata. Then use the refund query to check if these orders have any associated refunds. If there are no refunds, but the order is marked as returned in your system, it's an exchange return.
Liam | Developer Advocate @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
Hi Liam,
as far as I can see the exchange order created itself doesn't show any information about a refund - which makes sense as it was an order with 100% discount for the goods and therefore no need for a refund.
We see the original order with the refund and first without a refunded amount (cause of the exchange order with 100% discount). When the exchange order has been returned also then the original order shows second refund with the refunded amount but without returnedGoods inside this refund.
So the original order shows only a refund with the total amount refunded when the exchange order also finally has been returned - but no information about which item from which exchange order has been returned.
In case #1 we can only guess what and when has been returned from the exchange order by comparing prices of the goods with the total refund amount and this is hard if we have 3 pair of shoes with the same price in the order.
Any idea where we can get more information about the returned items of the exchange order?
Thanks for your support and best regards
sven
Hi Liam,
one issue might be that we are currently using the REST Admin API and you referred to the GraphQLAdmin API.
So we need to check whether we get more information regarding returned exchange orders from that API?
Best
sven
I would recommend using the GraphQL API if possible as you can specify exact fields and in many cases you can access more types of data.
Liam | Developer Advocate @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
Thanks Liam. Do you know if GraphQL offers those additional details that we do not get from the RestAPI, in particular :
- returns with 0 value refund; can you get the details about the product that was returned, but the revenue remains unchanged
- returns from 100% discounted orders; can you get the returned product, even if there is no revenue value attached
Cheers !
Hey there,
still on this same topic.
Can you confirm if GraphQL gives us more details with regards to returns / refunds than RestAPI ? So far, using RestAPI we have those issues :
a) when a product is returned, but refund set to 0 amount RestAPI does give us the refund amount of the product instead of 0. We would like to see that the product was returned, but not refunded.
b) when a product that was "sold" for 0 amount (as exchange for the another order) is returned, and if we return this product in Shopify, but can not do a refund (because the amount is zero), then the RestAPI does not tell us that the product was returned; We would like to see the product return, even if there is no refund done.
Hope GraphQL supports this !
Thx - Nicolas