Shopify Exchange Instead of Refund: 5 Checks and 5 Replies
When a Shopify customer wants an exchange instead of a refund, you can say yes if the order passes five checks. It is inside your return window, the item qualifies, the replacement is in stock, the price difference is settled, and no refund has gone out yet. If one check fails, offer the next best option in the same reply, so the ticket closes in one message.
An exchange request is good news. The customer still wants to buy from you. Your job is to confirm it fast, from the order data, without paying out twice.
Why "exchange instead of refund" tickets go wrong
Customers rarely ask for an exchange cleanly. The request often lands in the middle of another process:
- "Can I swap this for a medium instead of getting my money back?"
- "I already started a return but I'd rather have the blue one."
- "The refund hasn't come through yet, can I just get a different size?"
The last two are the risky ones. The customer already asked for their money back and now wants a product instead. If someone replies "sure!" without opening the order, the store can ship a new item and also refund the old one. That is a free product, sent by mistake.
The rule: never confirm an exchange from the message. Confirm it from the order.
The 5 checks before you reply
- 1. Inside the return window. Where to look in Shopify: order date and fulfillment date on the order page. If it fails: explain the window in one line, link to a new order.
- 2. Item qualifies. Where to look in Shopify: product tags or collection (final sale, hygiene, custom). If it fails: decline the exchange, give the reason in one line.
- 3. Replacement in stock. Where to look in Shopify: variant inventory on the product page. If it fails: offer another variant or a refund.
- 4. Price difference. Where to look in Shopify: compare the two variant prices. If the new price is lower: refund the gap or give store credit. If it's higher: collect the balance.
- 5. No refund issued yet. Where to look in Shopify: order timeline and refund history. If the refund is issued: new order or team decision. If the refund is pending: cancel it, then continue.
Run them in this order. If an early check fails (outside the window, final sale), the later ones don't matter.
Check 5 matters most on this ticket, because the customer started from a refund, so look at it first if the customer mentions a refund.
Should you offer an exchange when the customer asks for a refund?
Yes, once, and only for the right reasons. A shirt that runs small is a size problem, not a product problem. If you refund without asking, the sale is gone.
Offer the swap next to the refund, in one sentence. Never instead of it.
- "Happy to refund this. If it was just the fit, we can also send you a size M at no extra cost. Which do you prefer?"
- "We can refund you, or swap it for the navy version, which is in stock. Just reply with refund or swap."
Offer it when:
- The reason is size, fit or color, not a defect or a late delivery.
- The replacement is in stock right now.
- The item passes checks 1 and 2.
Don't offer it when:
- The customer is upset or writes "I just want my money back."
- The product arrived damaged or wrong. Fix that first, with our damaged item reply or wrong item received email, both listed at the end of this article.
- The customer already said no once.
How to process an exchange instead of a refund in Shopify admin
Shopify has a native exchange flow inside returns. According to the Shopify Help Center, the steps are:
- 1. Go to Orders and open the order.
- 2. Click Return.
- 3. Enter the quantity to return and pick a return reason.
- 4. In the Exchange items section, click Add products, choose the replacement and click Done.
- 5. Pick the return shipping option, then click Create return.
Shopify then works out the money for you:
- Even exchange: the value of the returned item covers the new one.
- Customer owes a balance: the new item costs more. You can collect it by sending an invoice when you process the return.
- You owe a refund: the new item costs less. You refund the gap when you process the return.
Four limits worth knowing, all from Shopify's own documentation:
- You can't create a return for an item that is already refunded. This is why you check the refund history before creating the return.
- Exchange item inventory isn't reserved until you process the return. If stock is low, the size you promised can sell out in the meantime.
- You can't add custom items as exchange items, or add exchange items to orders with duties.
- Order level discounts can't be applied to exchange items, only product discounts.
If the order hasn't shipped yet, it isn't a return at all. Change the variant on the order before it goes out.
How to reply: 5 ready emails
Each reply is complete. Change the name, order number and items to match the ticket. For more general templates, see our exchange request email template, listed at the end of this article.
Case 1: All checks pass, same price
Hi Emma, no problem, we can swap your Linen Shirt for a size M. It's in stock and the price is the same, so you won't pay anything extra.
Please send the size S back using the return label attached to this email. We'll ship your size M as soon as the carrier scans your return, and you'll get a tracking link by email. Thanks, Jordan, Customer Support
Case 2: The new item costs more
Hi Emma, happy to swap your Linen Shirt for the Long Sleeve version. It costs a little more than your original item, so we've sent you a secure invoice for the difference in a separate email.
Once it's paid and your original item is on its way back, we'll ship the new one and send you tracking. Thanks, Jordan, Customer Support
If the new item costs less, say it plainly: "The new item costs less, so we'll refund the difference to your original payment method once we receive your return." Or offer store credit if your policy allows it.
Case 3: The size they want is out of stock
Hi Emma, sorry, the Linen Shirt in size M is out of stock right now. Here's what we can do:
- 1. Swap it for size M in white, which is in stock.
- 2. Keep your return open and refund you in full once we receive the item.
Just reply with 1 or 2 and we'll take care of the rest. Thanks, Jordan, Customer Support
Always give two options. A customer with a choice replies once. A customer told only "out of stock" writes back to ask what happens next. Our out of stock email to customer, listed at the end of this article, covers the wording in more detail.
Case 4: Outside the window or a final sale item
Hi Emma, thanks for reaching out. Your order was delivered outside our 30-day exchange window, so we can't swap this item.
If you'd still like a size M, you can order it here and we'll get it out to you right away. Thanks, Jordan, Customer Support
Use your real window. Keep the refusal to one sentence and end with something the customer can do.
Case 5: A refund is already in progress
This is the trap. Open the order timeline before you write a word.
- Refund not issued yet: cancel the pending refund, then handle the ticket as Case 1. Add a note on the order saying the customer chose an exchange, so nobody refunds it later.
- Refund already issued: the customer has their money back. The exchange becomes a new order they pay for. Say so clearly, or let your team decide on a goodwill discount code.
Hi Emma, your refund for order #1042 was already sent to your card on Monday, so we can't turn it into an exchange. If you'd like the size M, you can order it here and it will ship right away. Thanks, Jordan, Customer Support
Two more signs the ticket needs a person: a second exchange on the same order, or a high value item. If the customer asks for someone directly, use our reply when a customer asks for a human agent, listed at the end of this article.
Who ships first, and who pays return shipping
Decide two things once and write them into your policy:
- Ship timing: the new item goes out when the return is scanned, or right away. Shipping right away is faster for the customer, but you carry the risk if the return never comes back.
- Return postage: some stores cover return shipping on exchanges only, to make the swap more attractive than a refund. See who pays return shipping on Shopify, listed at the end of this article, for the options.
Whatever you choose, state it in every reply so the customer knows when to expect the new item.
Where Relay fits
This ticket depends on live data: order date, stock, price and refund status. A canned reply can't see any of it, so someone has to open the order every time.
Relay is an AI support agent that understands your product, answers customer questions, takes action, and knows when to bring in your team. It finds the order, applies your store's rules, and acts within the permissions you give it. When a ticket needs a person, for example when a refund has already been issued, Relay hands it to your team. For the plain return side of the same flow, see our return request reply email, listed at the end of this article.
FAQ
Can a customer switch from a refund to an exchange on Shopify? Yes, as long as the refund hasn't been issued. Check the order timeline, cancel the pending refund, add a note on the order, then create the return with an exchange item and confirm it in one reply.
Should I exchange an item if the customer already got a refund? Not as an exchange. Shopify won't let you create a return for a refunded item, and the customer already has their money. The new item is a new order. Explain that and link to the product.
Is it pushy to offer an exchange when someone asks for a refund? Not if you offer it once, next to the refund, and only when the reason is size, fit or color. If the customer says they want their money back, refund them without asking again.
What if the customer wants a different product, not a different size? Treat it as an exchange with a price difference. In the Exchange items section you can add any product, not just another variant. Check that it is eligible and in stock, then refund the gap, give store credit, or send an invoice, depending on which way the price goes.
Ready to answer exchange requests from live Shopify data?

