An equal exchange lets a customer swap an item for a different variant of the same product — a different size or colour — at no extra cost, even if the original item was bought with a discount. This article explains how the price is worked out, what happens when the variant's price has changed since the purchase, and how the exchange appears in Shopify.
💡 Equal exchanges go by several names: Exchange for Another Variant (EFOV), like-for-like, and variant exchange. They all describe the same thing.
🌍 Global orders work differently. Because a Global order involves two products, Swap treats variant exchanges as equal without validating the price difference — a deliberate compromise. The behaviour described in this article applies to standard orders. See Global Exchanges.
ℹ️ Equal exchanges apply to variant exchanges only — swapping for a different variant of the same product. If a customer exchanges for a different product altogether, that is Shop Now, and discounts behave differently. See Exchange Discounts: Carrying Over Original Discount.
How an equal exchange is priced
The principle is that the customer pays what they originally paid, and keeps whatever discount they had.
If a discount was applied to the original item, that value carries over to the exchange. The discount is shown on the final screen of the return.
If the variant's price has changed since the purchase, the exchange is still treated as equal and no refund is issued. The exchange item is displayed at the price originally paid. For example, if the variant now costs £600 in Shopify but the customer paid £500, the exchange item is shown as £500 so the swap stays equal.
An additional payment may still be requested where the replacement variant is more expensive, unless the setting to waive additional payments is enabled. The table below shows how each case resolves.
What the customer sees
The original item price and its discount
The adjusted price of the new item
A total of £0 for an equal exchange, unless an additional payment is required
If a customer returns two items
If both returned items carry a product discount and the customer exchanges them for a single item that qualifies for both, only one discount is applied to the exchange item.
Enabling equal exchanges
Go to Returns → Settings → Exchanges. In the Exchange options panel, tick Allow exchanges for a different variant under Domestic exchanges, International exchanges, or both.
This is a separate setting from Allow exchanges for a different product (Shop Now), so you can offer variant exchanges without offering Shop Now, or the other way round.
How each case resolves
Original item price | Discount applied | New variant price | With equal exchanges on | With equal exchanges off | With additional payment waived |
£50 | 10% (£5) | £50 | £0 | £5 additional | N/A — only applies when equal exchanges are on |
£50 | No discount | £45 | £0 | £0 | N/A |
£50 | 10% (£5) | £90 | £36 additional | £45 additional | £0 |
£50 | No discount | £90 | £40 additional | £40 additional | £0 |
£50, variant price increased to £60 after purchase | No discount | £50 | £0 | £10 additional | £0 |
£50, variant price decreased to £40 after purchase | No discount | £50 | £0 | £0 | N/A |
£50, variant price increased to £60 after purchase | No discount | £45 | £0 | £0 | £0 |
How the exchange appears in Shopify
This depends on which accounting method your store uses.
Same value and zero value accounting
Swap applies a price adjustment to the exchange item, so the price recorded in Shopify reflects what the customer actually paid after their discount.
Shopify's native Exchange API
The item price cannot be adjusted — it is pulled directly from your Shopify product catalogue.
Where a discount was applied, Swap adds a product discount to reflect the difference.
Where the exchange item is now cheaper than the original, no discount adjustment is made and the remainder is marked as paid. For example, if the price dropped from £600 to £500 after purchase, the customer does not receive a refund, and both the portal and the RMA show an equal exchange.
The Shopify exchange item is pulled at its current price.
Once the RMA is processed, Shopify shows that a refund is expected. This can be ignored — no refund is due, because the exchange was equal.
Do Not Charge Additional Payment
An additional setting allows exchanges to remain equal even when the replacement variant has a higher catalogue price.
When this setting is enabled:
Exchanges can remain equal even if the new variant is more expensive
A price adjustment may be applied so that no additional payment is required
To have this setting enabled, contact Swap support.





