Stock reservation lets Swap temporarily hold exchange items in Shopify when a return is submitted. The requested stock stays available until the RMA is processed or the reservation expires — if the exchange does not go ahead, the hold is released automatically. You may also see this called reserve inventory.
ℹ️ This feature is available in Returns V2 only.
Enabling stock reservation
Go to Returns → Settings → Exchanges in your Swap dashboard.
Switch on Enable stock reservation for newly ordered items.
Enter the number of days of inventory to reserve for each exchange request.
Click Save.
Key details
Default reservation period: 1 day
Allowed range: 1–100 days
Whole numbers only (no decimals or special characters)
Reservations expire at 23:59 on the final day
How reservations work
Swap checks stock availability in real-time when an exchange request is submitted. Safety stock settings may restrict item availability even when stock appears sufficient — if safety stock is set to 1, items with only one unit remaining will appear unavailable to prevent overselling.
When an exchange request (RMA) is submitted:
A draft order is created in Shopify for the reservation period you configured.
The reserved inventory is held until the exchange is processed or the reservation expires — whichever comes first. Shopify removes the hold automatically on expiry.
If the reservation is successful, two notes are written:
A note on the RMA showing the draft ID and the reservation expiry date.
A note on the order's timeline in Shopify, recording that Swap has reserved the item for that RMA. This is the one a colleague looking at the order in Shopify will see first.
If the reservation fails:
An error message is displayed in the portal.
The return submission does not complete if a draft order cannot be created.
If the draft order is created but the reservation itself fails, the return still does not complete, and the customer sees an error rather than a submitted return.
Where the return involves an additional payment, a failed reservation is treated as critical: the customer is charged in the portal, so Swap fails the submission rather than letting a return through that cannot be processed.
Processing RMAs with reserved stock
When the RMA is processed, the draft order is approved and the reservation is cancelled automatically.
If no reservation was created — whether because the setting is off or because the reservation failed — Swap checks stock at the point of processing instead:
If the item is in stock, processing continues as normal.
If the item is out of stock, no exchange order is created, an error is shown on the RMA naming the item, and the RMA moves to Needs review.
So without a reservation, inventory that moves between submission and processing can leave an exchange unfulfillable by the time you action it. That is the problem this feature exists to solve.
Stock reservation with the Exchange API
Stock reservation is also available when the Shopify Exchange API is enabled. When both are active, Swap creates a draft order to hold the exchange item's stock at the point of return submission.
The draft order is used for reservation purposes only. A note is added to the draft: "Draft created for reservation for order [order number] and will be deleted once RMA is processed. Exchange item will be added directly in the original order."
The exchange item is added directly to the original order when the RMA is processed — the draft order is then deleted.
RMA closed: the reservation is removed and a note is added to the RMA. The draft order itself is kept.
RMA deleted: the draft order is deleted and a note is added to the RMA.
The confirmation dialog shown when you close an RMA states that closing cancels reservations and pending transactions, so this is flagged at the point of action rather than only afterwards.
Creating exchange orders on return submission
For merchants whose stock is managed by a third-party warehouse management system (WMS) rather than Shopify natively, Swap can create the exchange order immediately when a return is submitted — without waiting for the RMA to be processed.
Shopify draft orders (used by standard stock reservation) are not typically recognised by external WMS systems. Only a placed, unfulfilled order reserves stock in most WMS integrations. This setting ensures the exchange order appears in Shopify as unfulfilled at the point of return submission, so the WMS can pick it up.
Go to Returns → Settings → Exchanges in your Swap dashboard.
Switch on Create exchange order on return submission.
Click Save.
When enabled:
The draft order is completed immediately on return submission, creating a confirmed exchange order.
A log entry is added to the RMA confirming the exchange order was created.
Exchange items cannot be edited after the order has been created.
If an error occurs during order creation, the return submission is not blocked — a log note is added to the RMA instead.
If the RMA is closed, deleted, or exchange items are removed after an exchange order has been created, a warning is displayed. The completed exchange order must be handled manually.
For Exchange API merchants, the exchange item is added to the original order at the point of return submission.
Instant Exchanges are unaffected by this setting, because the exchange order is completed at submission in either case.
Choosing between stock reservation, exchange orders on submission, and Instant Exchanges
These three settings all bring the exchange forward in some way, and they are easy to confuse. The difference is what exists in Shopify at the moment the return is submitted, and whether the customer's card is held.
| Stock reservation | Create exchange order on return submission | Instant Exchanges |
What exists in Shopify at submission | A draft order holding the stock | A confirmed, unfulfilled exchange order | A confirmed exchange order |
Recognised by an external WMS | Usually not — draft orders are not picked up | Yes | Yes |
Customer's card held | No | No | Yes — an authorisation secures the return |
The practical consequence is what happens when a customer never sends the item back. With stock reservation the hold expires and the stock is released. With an exchange order created at submission, the order stands and has to be handled by hand. On an Instant Exchange the card hold can be charged, according to the trigger you have chosen — see Understanding Instant Exchanges.
For how exchanges are represented in Shopify when the Exchange API is in use, see Understanding Swap's integration with Shopify's Returns and Exchange API.

