At present, Shopify POS has a limitation on the amount of exchanges allowable. It only allows one exchange on a transaction.
If a customer purchases a pair of shoes, comes and swaps them for another size, and then decides that they want another shoe altogether. This isn't an odd purchase pattern, and occurs for one particular client at least twice a week.
The first exchange occurs as per normal, generating a new receipt etc. If you try to exchange the second order, it will not give the option of exchange and will only allow a refund on the Shopify admin. As the first exchange runs on 'exchange credit' however, if you do a refund it will not match up with the actual refund type (cash / credit / etc.). To me this seems like the exchange method is flawed and inflexible for real life retailer scenarios.
Shopify Support recommended using draft orders. This doesn't really fix my issue on POS, nor does it make sense to do - we can't anticipate which clients will want to do multiple exchanges. My only conclusion is that my client should refund every exchange and resell as a new product (which from memory is basically what they expected a merchant to do prior to the exchange function existing?). Has anyone else encountered this, and found a good workaround - this is going to be a dealbreaker for my client, who is already unimpressed with Shopify as a POS solution.