Inventory
When you create a layaway, the app reserves inventory so those items cannot be accidentally sold to someone else. This guide explains how that works.
How Reservation Works
When a layaway is created, the app moves each item's inventory from available to reserved at the POS location where the layaway was made.
For example, if you create a layaway for 2 units of a blue t-shirt at your Main Street store:
| Before | After | |
|---|---|---|
| Available | 10 | 8 |
| Reserved | 0 | 2 |
| Total | 10 | 10 |
[Image placeholder] Shopify inventory screen showing reserved quantities
The total inventory does not change -- items are simply moved from the "available" bucket to the "reserved" bucket within Shopify's inventory system.
When Is Inventory Released?
Reserved inventory is returned to "available" in these situations:
| Event | What Happens |
|---|---|
| Layaway expires | Items move back to available automatically |
| Layaway is restocked | Staff manually triggers release, items go back to available |
| Checkout (POS) | When you choose "Checkout" on POS, inventory is unreserved so the checkout can proceed. After payment, Shopify's order takes over with committed inventory. |
| Order is linked | If an order is linked while inventory is still reserved (e.g., via "Edit in Cart" then checkout), the reservation is released and Shopify's order committed inventory takes over |
| Items removed during update | If you remove items from a layaway via POS, those items are unreserved |
Inventory Handoff: Reserved to Committed
When a layaway transitions from Reserved to In Progress (order linked), the inventory protection changes:
- Before order: Items held by the layaway's reserved inventory
- After order: Items held by the Shopify order's committed inventory
This handoff is automatic. The key thing to know is that items remain protected either way -- they just move from one holding mechanism to another.
- "Checkout" unreserves first, then the order commits
- "Edit in Cart" + checkout keeps reserved until the order link unreserves and commits
Reserving More Than Available
The app allows you to reserve inventory even if the available quantity is less than what you are reserving. In this case, the available inventory will go negative. The app assumes the cashier or admin knows what they are doing — for example, you may be expecting a restock soon.
Keep in mind that negative available inventory means those items are technically oversold at that location.
Updating Items and Inventory
When you update a layaway from POS:
- New items added to the cart are reserved
- Items removed from the cart are unreserved
- Quantity changes adjust reservations accordingly
All of this happens automatically -- you do not need to manually manage inventory levels.
What If the Checkout Items Don't Match the Layaway?
If a staff member loads a layaway into the cart (via "Edit in Cart" or "Checkout"), modifies the items (e.g., swaps a size, removes a product, changes quantities) without tapping "Update Layaway", and then completes the checkout directly — the resulting Shopify order will have different items than the original layaway.
When this happens, the app automatically updates the layaway to match the order:
- Items that were in the layaway but not in the order are unreserved (inventory released)
- The layaway's line items are replaced with whatever was in the order
- The Shopify order handles inventory for the new items through its own committed inventory
This ensures the layaway always stays in sync with the actual order, even if items were changed at the last minute.
Important Notes
- Reservations are location-specific. Items are reserved at the location where the layaway was created.
- The app uses Shopify's built-in inventory system. You can see reserved quantities in your Shopify admin under inventory.
- If the app is uninstalled, existing layaways will expire naturally, but reserved inventory may remain in the "reserved" state. Inventory reserved by apps cannot be manually edited in Shopify — to release it, you would need to reinstall the app and restock the layaways manually.