Skip to main content

Understanding equal exchanges (Returns V2)

Equal exchanges let customers swap an item for another variant at the price they originally paid. This article covers how the price is worked out and how the exchange appears in Shopify.

Written by Guido Kaspers

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.

Did this answer your question?