Using the POS app is a great solution (even if you don't have a physical location, this app is free and syncs with your website).
Note that from the POS app, website orders do not show up when you scroll through orders. You do have to search for the order by number.
You can even issue the "refund" as a gift card. Yay!
You have to create an order in Drafts and then under discount enter the amount you are refunding if they owe you money you have to send an invoice if you owe them money you can just credit them. You have to mark as paid to close it off if they owe you money. You also have to go to the original order and restock the item. Its a bit tricky when there are multiple exchanges.
The issue we are running into after a busy holiday are even exchanges where the customer just wants to exchange for a different size, but the item has since gone on sale or had a price change (i.e. a promotional discount is no longer active). In this scenario, there is no way to override the pricing, so it appears the customer is due a refund by using the Exchange option. We do not have a "price adjustment" policy for our store, so we do not want to issue a refund for the price difference - we just want to issue an even exchange, add the returned item back to inventory, and remove the exchange item from inventory with a $0 net transaction. Seems like an "Even Exchange" button would be an easy addition to the POS. As of now, in an exchange transaction on the POS, you cannot override pricing.
The only way we can currently do this is using the Shopify back end platform and do the Duplicate Order --> Discount 100% for new item scenario that was previously described. That approach skews our metrics and we then have to manually adjust the inventory to add the returned item back into stock. This is a headache and has caused inventory and customer service issues when the inventory is not manually adjusted (i.e. online customer buys an item that is really out of stock).
Shopify - please spend some time with your retailers in 2020 and get to the heart of what we need. While I love the dashboards and metrics you are developing, they are going to be useless with incorrect data. We need pragmatic solutions to our everyday brick and mortar and online store needs.
To have to add another app just to exchange seamlessly is ridiculous. I've been using the POS exchange for my online exchanges. What I've found is that if you are exchanging for a different size and same price, it is negatively impacted for your revenue for the day. Why? it's an even exchange.
Glad you've found a solution to your exchange dilemma. Just be careful where apps use "discounts" to create exchanges. It can negatively impact your sales figures and bring tears to your accountant's eyes.
"AltoQ Exchange" uses Shopify gift cards to create store credit and facilitate a huge amount of exchange scenarios - eg. uneven exchanges and return for store credit (gift card). All plans now have Shopify gift cards functionality enabled so this should be of help to a lot of merchants. We offer a 30 day free trial so that you have adequate time to assess the app's suitability. Let me know if I can be of any help - email@example.com