# Layaway > Full documentation content for Layaway --- # Layaway App Documentation for the Layaway app for Shopify POS ## Getting Started ### Introduction **URL:** https://layaway.mantledocs.com/introduction ## What Is the Layaway App? The Layaway app lets you set aside products for customers who want to pay later or over time. When a customer picks out items, you can create a layaway that: - **Reserves the inventory** so the items are held for the customer until a fixed deadline. - **Captures a deposit** right away if the customer wants to put money down to pay in multiple deposits until the layaway expiration. - **Tracks payments** as the customer pays over time — in-store at POS or in full via invoice - **Tracks the timeline** with an expiration date you choose - **Sends notifications** before a layaway expires so nothing slips through the cracks The Layaway app is primarily a **Shopify POS application**. Creating layaways, collecting payments, and managing day-to-day operations all happen on the POS device. The web admin dashboard complements POS by providing store-wide visibility, reporting, and settings — but the core workflow lives at the register. Think of it as a digital layaway system built right into your Shopify POS — customers can reserve items for later, or put a deposit down and pay over multiple visits. ## Key Concepts | Concept | What It Means | | --- | --- | | **Layaway** | A record that ties together a customer, a set of items, and a time window for them to pay | | **Reservation** | When you create a layaway, the app moves inventory from "available" to "reserved" at your location so those items cannot be accidentally sold | | **Deposit** | An optional upfront partial payment captured at the time of layaway creation. This creates a Shopify order immediately. | | **Expiration** | Every layaway has a deadline. If the customer does not fully pay by then, the layaway expires | | **Order Linking** | When a deposit is captured or the customer pays at POS, the resulting Shopify order is automatically connected to the layaway | | **Status** | Each layaway moves through a lifecycle -- from Reserved, to In Progress, to Completed (or Expired, Canceled, Restocked) | ## How It Fits Into Shopify POS The app adds tiles to your POS home screen. Your staff uses these to: 1. **Create** a new layaway from the current POS cart — with two options: - **Reserve Items** -- reserve items with no payment (customer pays later) - **Collect Deposit** -- create the layaway and proceed to checkout to collect a deposit 2. **Update** an existing layaway (change items, dates, or notes) 3. **Browse** a customer's existing layaways Everything else -- tracking payments, fulfillment, expiration, and notifications -- happens automatically in the background through Shopify's order and inventory systems. You can browse and manage layaways from two places: - **On POS**: The **Layaway Orders** tile on the POS home screen lets you browse layaways at your current location and load them into the cart (to edit or pay). - **On the web**: The **admin dashboard** (accessible from the Shopify admin) gives you a full view of all layaways across all locations, with stats, filtering, settings, and anything that needs attention. > **[Image placeholder]** POS home screen showing the Layaway tiles ## Before You Start 1. **Install the app** from the Shopify App Store. 2. **Configure your settings** -- at minimum, set your default expiration period and notification preferences. See [Settings](../getting-started/settings). 3. **Make sure the POS tile is visible** on your POS home screen. The app adds it automatically during installation. 4. **Train your staff** on the basic flows: create a layaway (with or without a deposit), customer makes payments over time at POS, and complete the sale when fully paid. --- ### Settings **URL:** https://layaway.mantledocs.com/settings Access the Settings page from the main navigation in the admin dashboard. Here you can configure how the app behaves, how notifications look, and who gets notified. > **[Image placeholder]** General settings section ## General | Setting | Description | Range | | --- | --- | --- | | **Default Expiration Days** | How many days from creation until a layaway expires, by default. Staff can override this per layaway. | 1 to 365 days | | **Name Prefix** | The prefix used when auto-generating layaway names (e.g., "LAY" produces names like LAY001, LAY002). | Any text | ## Email Branding > **[Image placeholder]** Email branding settings section These settings control how your notification emails look. Customize them to match your store's brand. | Setting | Description | | --- | --- | | **Shop Name** | Your store name as shown in email headers | | **Shop URL** | Link to your online store, included in emails | | **Email Address** | The "from" address on notification emails | | **Logo** | Upload your store logo to appear in email headers | | **Logo Width** | Control the display size of your logo in emails | | **Accent Color** | A color used for buttons and highlights in emails (use your brand color) | > **[Image placeholder]** Example notification email showing branding elements ## Notifications > **[Image placeholder]** Notification settings section Configure when notifications are sent, who receives them, and in what language. ### Default Language Choose the default language for notification emails: - **English (EN)** - **French (FR)** ### Lead Time How many hours before expiration the **Expiring Soon** notification is sent. | Setting | Range | Default | | --- | --- | --- | | **Lead Time** | 1 to 168 hours (up to 7 days) | 24 hours | For example, if set to 48 hours and a layaway expires on Friday at 3 PM, the "Expiring Soon" email goes out on Wednesday at 3 PM. ### Manager Emails Add one or more email addresses for staff members who should receive manager notifications. These are the people responsible for following up on expiring or expired layaways. ### Notification Toggles Each notification type has separate toggles for customer and manager recipients: | Notification Type | Customer Toggle | Manager Toggle | | --- | --- | --- | | **Expiring Soon** | On/Off | On/Off | | **Expired** | On/Off | On/Off | | **Expired with Open Order** | On/Off | On/Off | #### What each type does - **Expiring Soon**: Sent X hours before expiration (based on your lead time setting). Only for layaways still in [Reserved](../key-concepts/statuses) status. Sent once per layaway -- resets if you extend the expiration date. - **Expired**: Sent when a Reserved layaway reaches its expiration date. Lets the customer know their hold has ended. - **Expired with Open Order**: Sent when an In Progress layaway expires. Alerts your team that a linked order is still open and needs attention. ### Suggested Configuration | Store Type | Customer: Expiring Soon | Customer: Expired | Manager: All Types | | --- | --- | --- | --- | | Small retail | On | On | On | | High volume | Off (reduce noise) | On | On | | Premium/luxury | On | On | On | ## Tips - **Set up notifications first** -- this is the most important setting to configure after installation. - **Add at least one manager email** so someone on your team is always notified about expiring layaways. - **Match your branding** -- customers will trust emails more if they look like they come from your store. - **Adjust lead time** based on your customer base. If most customers need a reminder further in advance, increase it. --- ## Using Layaway ### Creating a Layaway **URL:** https://layaway.mantledocs.com/creating-a-layaway This guide walks you through creating a new layaway from Shopify POS. ## Before You Begin Make sure you have: - A customer selected (or ready to attach) in the POS cart - The items the customer wants added to the cart ## Step-by-Step ### 1. Build the Cart Add the products the customer wants to set aside to your POS cart, just like you would for a normal sale. > **[Image placeholder]** POS cart with items added ### 2. Attach a Customer If you have not already, attach a customer to the cart. The layaway needs to be linked to a customer record. > **[Image placeholder]** POS cart with customer attached ### 3. Tap the Layaway Tile On the POS home screen, tap the **Create Layaway** tile. > **[Image placeholder]** POS home screen with Create Layaway tile highlighted ### 4. Review the Confirmation Screen You will see a summary showing: - The attached customer - The items in the cart - A total summary Review everything to make sure it looks correct. > **[Image placeholder]** Layaway confirmation screen showing customer, items, and summary ### 5. Review the Summary On the summary screen, you can: - **Set an expiration date** -- this is the deadline for the customer to pay in full. The default is based on your app settings (see [Settings](../getting-started/settings)), but you can change it here. > **[Image placeholder]** Layaway summary screen with expiration date picker > **Tip:** If you want to add notes to the layaway, add them to the **Shopify cart notes** before creating the layaway. The layaway will preserve the cart note. ### 6. Choose How to Create You have two options: #### Option A: "Reserve Items" Tap **Reserve Items** to reserve the items without collecting any payment. - The layaway is created with a **Reserved** status - Inventory is reserved at your current POS location (items move from "available" to "reserved") - No Shopify order is created yet - The customer will come back later to start paying #### Option B: "Collect Deposit" Tap **Collect Deposit** to create the layaway and proceed to checkout to collect a deposit or payment. - The POS payment screen opens so you can collect a partial payment (deposit) - Use **split payment** to capture just the deposit amount, then tap **"Mark as partially paid"** - A Shopify order is created and linked to the layaway immediately - The layaway starts in **In Progress** status (since an order is already linked) - The customer can make follow-up payments later > **[Image placeholder]** Create options screen showing "Reserve Items" and "Collect Deposit" buttons ## What Happens Next? - The layaway appears in the **Layaway Orders** tile on POS (for your current location) and in the [admin dashboard](../app-interface/dashboard) on the web - If notifications are enabled, the customer and/or manager will be notified before the layaway expires (see [Expiration & Notifications](../key-concepts/expiration-and-notifications)) - When the customer returns to make payments, see [Completing a Layaway](../using-layaways/completing-a-layaway) ## Tips - **Double-check the customer** before creating -- you can change the customer later by loading the layaway via "Edit in Cart" and updating the cart customer, but it is easier to get it right the first time. - **Set a realistic expiration date** -- too short and customers may not have time to come back; too long and you are holding inventory unnecessarily. - **Use cart notes** in the Shopify POS cart to record anything the customer mentioned (e.g., "Will return on Friday" or "Wants gift wrapping"). The layaway will preserve the cart note and display it in the summary. --- ### Updating a Layaway **URL:** https://layaway.mantledocs.com/updating-a-layaway Sometimes a customer changes their mind about an item, or you need to extend the hold period. You can update an existing layaway directly from POS. ## Loading a Layaway on POS To work with an existing layaway, open the **Layaway Orders** tile on POS and select the layaway. You will see two options: ### Edit in Cart Choose this when you need to **change the items, quantities, expiration, customer, or notes** on the layaway. - Items are loaded into the POS cart - Inventory **stays reserved** by the layaway - You make your changes (including changing the customer on the cart if needed), then tap **"Update Layaway"** to save ### Checkout Choose this when the customer is ready to **make a payment** (deposit or installment). - Layaway inventory is **unreserved** (moved from reserved back to available) - Items are loaded into the POS cart for checkout - After payment, a Shopify order is created and linked to the layaway - The order's **committed inventory** takes over — Shopify now holds the items through the order instead of the layaway reservation See [Completing a Layaway](../using-layaways/completing-a-layaway) for the full payment flow. > **[Image placeholder]** Layaways modal showing "Edit in Cart" and "Checkout" options > **Tip:** If you accidentally chose "Edit in Cart" but the customer wants to pay, that is fine. If you complete an order while inventory is still reserved by the layaway, the order linking process will automatically unreserve the layaway inventory and let the order's committed inventory take over. ## Editing a Layaway (Edit in Cart) ### 1. Make Your Changes You can update the following: | What | How | | --- | --- | | **Add items** | Add new products to the POS cart before tapping Update Layaway | | **Remove items** | Remove products from the POS cart before tapping Update Layaway | | **Change quantities** | Adjust quantities in the cart | | **Change customer** | Change the customer on the POS cart before tapping Update Layaway | | **Expiration date** | Change the deadline on the summary screen | | **Notes** | Add or edit notes in the Shopify cart before updating (the layaway preserves cart notes) | > **[Image placeholder]** Update layaway summary screen ### 2. Confirm the Update Tap **"Update Layaway"** to save. The app will: - Update the layaway record with the new items and options - Automatically adjust inventory reservations (new items get reserved, removed items get unreserved) ## Inventory During Edits When you change items on a layaway, the app handles inventory automatically: - **Added items**: Reserved at your location (moved from available to reserved) - **Removed items**: Unreserved at your location (moved from reserved back to available) - **Quantity changes**: Inventory adjusted accordingly You do not need to manually manage inventory -- the app takes care of it. ## Once an Order Is Linked After a Shopify order is linked to the layaway (via "Checkout" or "Collect Deposit"), the **Shopify order becomes the source of truth**. At that point: - **"Edit in Cart" and "Checkout" are no longer available** on the layaway — the POS cart loading options disappear - All changes to items, discounts, refunds, and returns are done on the **Shopify order** directly (in Shopify Admin or Shopify POS) - The layaway **automatically syncs** payment amounts, fulfillment status, and price changes from the order - The layaway continues to track the **expiration date** (still editable) and provides an easy way to find and monitor the order To collect further payments, use the **"View Order"** button on the layaway (on POS or admin dashboard) to jump to the Shopify order, then tap **"Capture Payment"**. You can also find the linked order by searching the layaway name in Shopify's order search — the app tags orders with the layaway name. In short: before an order is linked, you manage the layaway. After an order is linked, you manage the Shopify order — the layaway keeps track of everything. ## Updating from the Admin Dashboard You can also update certain fields from the web admin: - **Expiration date**: Editable on the [detail page](../app-interface/layaway-details) for any layaway that is not archived (even after an order is linked) ## Tips - If you extend the expiration date, the "expiring soon" notification resets and will be sent again based on the new date. - Updating items does not change the layaway status -- it stays at whatever status it was in. - If a customer wants to pay, use **Checkout** instead of Edit in Cart — it properly transitions the inventory from layaway reservation to order commitment. --- ### Completing a Layaway **URL:** https://layaway.mantledocs.com/completing-a-layaway A layaway is completed when the linked Shopify order is **fully paid** and **fulfilled**. This guide covers how customers make payments and how the layaway reaches completion. ## The Payment Lifecycle Depending on how the layaway was created, the payment journey looks different: ### If Created Without a Deposit (Reserved) 1. Customer returns to the store 2. Staff opens the **Layaway Orders** tile on POS, selects the layaway, and taps **"Checkout"** 3. This unreserves the layaway inventory and loads items into the POS cart 4. Staff processes the payment (partial or full) through Shopify POS checkout 5. A Shopify order is created and linked to the layaway automatically — the order's committed inventory now holds the items 6. Status changes from **Reserved** to **In Progress** 7. Customer continues making payments until fully paid ### If Created With a Deposit (In Progress from Day 1) 1. A Shopify order was already created when the deposit was captured 2. Customer returns to make additional payments over time 3. The layaway tracks each payment automatically In both cases, the layaway stays **In Progress** until the order is fully paid and fulfilled. > **Important:** Once an order is linked, the **Shopify order is the source of truth**. All payment captures, refunds, and item changes happen on the order — the layaway syncs these changes automatically. See [Updating a Layaway](../using-layaways/updating-a-layaway) for details. ## Making Follow-Up Payments ### In-Store at POS (Partial or Full Payments) This is the main way customers make payments on a layaway. The customer must come to the store in person. 1. Customer provides their layaway number or order number 2. Staff finds the order: - **From the Layaways tile on POS**: Tap the tile, find the layaway at your location, and tap **"View Order"** to go to the Shopify order - **From Shopify POS orders screen**: Search for the order directly by order name or layaway name 3. On the Shopify order screen, tap **"Capture Payment"** 4. To collect a **partial payment**: use **split payment**, enter the amount the customer is paying, then tap **"Mark as partially paid"** 5. To collect the **full remaining balance**: simply process the full amount 6. The payment syncs to the layaway automatically -- you can see the updated amounts on the layaway detail page > **[Image placeholder]** Shopify POS order screen showing "Capture Payment" button > **[Image placeholder]** Split payment screen on POS > **Tip:** After each payment, the layaway detail page (in the admin dashboard or via the Layaways tile on POS) updates to show the new "Amount Paid" and "Amount Remaining." ### Via Invoice (Full Remaining Balance Only) If the customer cannot come to the store and an order already exists (a deposit was made previously), an admin can send them an invoice. 1. In **Shopify Admin > Orders**, open the linked order 2. Send an invoice to the customer 3. The customer receives the invoice by email and can pay the **full remaining balance** online **Important:** Invoices are only available when a Shopify order already exists (i.e., a deposit was made to create the order). Invoices only allow the customer to pay the full outstanding amount — partial payments are **not possible** via invoice, the customer must come to the store for that. > **[Image placeholder]** Shopify Admin "Send Invoice" option on an order ## When Does a Layaway Complete? A layaway moves to **Completed** when **both** conditions are met: | Condition | What It Means | | --- | --- | | **Fully paid** | The Shopify order has been paid in full (all installments collected) | | **Fulfilled** | The order has been marked as fulfilled (items handed to the customer) | If only one condition is met, the layaway stays at **In Progress**. | Paid? | Fulfilled? | Layaway Status | | --- | --- | --- | | No | No | In Progress | | Yes | No | In Progress | | No | Yes | In Progress | | Yes | Yes | **Completed** | ## Closing a Layaway Without Completing It If you need to cancel a layaway that has not yet been linked to an order (still in "Reserved" status), you can **Restock** it from the admin dashboard or POS. This releases the reserved inventory and closes the layaway. Once an order is linked, the only way to complete the layaway is through the Shopify order — fully paid and fulfilled. There is no manual "force complete" option. ## What Can Go Wrong? ### Customer makes partial payments but never finishes The layaway stays **In Progress** until the expiration date. If it expires, admins are notified to decide next steps. See [Expiration & Notifications](../key-concepts/expiration-and-notifications). ### Order is refunded or voided If the linked Shopify order is fully refunded or voided, the layaway automatically moves to **Canceled**. See [Statuses](../key-concepts/statuses) for details. ### Layaway expires before completion If the expiration date passes while the layaway is still In Progress (partially paid), it moves to **Expired**. The linked order remains open in Shopify -- you will see it flagged under "Needs Attention" on the [Dashboard](../app-interface/dashboard). The layaway will stay in "Needs Attention" (unarchived) **until the linked Shopify order is archived**. This means you need to take action on the order — cancel it, issue a refund, or otherwise resolve it. Once the order is archived in Shopify, the layaway will automatically archive as well and leave the "Needs Attention" list. > **Key concept:** Layaways with linked orders always mirror the order's archived status. A layaway in a terminal status (Expired, Canceled) that still has an active (unarchived) order is considered "Needs Attention" — the layaway is done, but the order still requires resolution. --- ## Key Concepts ### Statuses **URL:** https://layaway.mantledocs.com/statuses Every layaway has a status that tells you where it is in its lifecycle. There are 6 possible statuses. ## Status Overview | Status | What It Means | | --- | --- | | **Reserved** | Layaway created without a deposit, inventory is held at the location, no order yet | | **In Progress** | A Shopify order has been linked (either from a deposit at creation or when the customer returned to pay). Waiting for full payment and fulfillment. | | **Completed** | Order fully paid AND fulfilled | | **Expired** | The expiration date passed without the layaway being completed | | **Canceled** | The linked order was canceled, fully refunded, or voided | | **Restocked** | Staff manually returned items to inventory | ## Status Flow Here is how a layaway moves through its lifecycle: ``` POS order created Reserved ──────────────────────────────► In Progress │ │ │ │ Paid + Fulfilled │ ▼ │ Completed │ ├──► Expired In Progress ──► Expired │ (date passed) (date passed) │ ├──► Restocked In Progress ──► Canceled (staff action) (order refunded/voided) ``` ### The Happy Path (No Deposit) 1. **Reserved** -- You create the layaway, items are held. 2. **In Progress** -- Customer returns, pays at POS, order is linked. 3. Customer makes additional payments over time at POS. 4. **Completed** -- Order is fully paid and fulfilled. Done. ### The Happy Path (With Deposit) 1. **In Progress** -- You create the layaway with a deposit. Order is linked immediately. 2. Customer returns to make additional payments at POS over time. 3. **Completed** -- Order is fully paid and fulfilled. Done. ### Other Paths - **Reserved to Expired** -- The customer never came back before the deadline. - **Reserved to Restocked** -- Staff decided to put the items back on the shelf. - **In Progress to Expired** -- The order was created but never fully paid/fulfilled before the deadline. Admins are notified to decide next steps. - **In Progress to Canceled** -- The linked order was refunded or voided. ## Terminal Statuses These statuses are final -- the layaway cannot move to another status after reaching one of these: - Completed - Expired - Canceled - Restocked ## What You Can Do in Each Status | Status | Available Actions | | --- | --- | | **Reserved** | Update items (Edit in Cart), edit expiration, restock, checkout to collect payment | | **In Progress** | Edit expiration, view/manage linked order in Shopify (items, payments, refunds happen on the order side) | | **Completed** | View only (archived automatically) | | **Expired** | View only; check "Needs Attention" if an order is still open | | **Canceled** | View only; check "Needs Attention" if an order is still open | | **Restocked** | View only (archived automatically) | --- ### Inventory **URL:** https://layaway.mantledocs.com/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: 1. **Before order**: Items held by the layaway's **reserved** inventory 2. **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](../using-layaways/updating-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. --- ### Payments & Fulfillment **URL:** https://layaway.mantledocs.com/payments-and-fulfillment The Layaway app does not process payments itself. Instead, it tracks payment and fulfillment information from Shopify orders linked to your layaways. Payments are made through Shopify's standard POS payment flow or via invoice. ## How Customers Make Payments ### In-Store at POS (Partial or Full Payments) Customers must come to the store in person to make partial payments. This is the primary payment method for layaways. 1. Customer provides their layaway or order number 2. Staff finds the order in **Shopify POS** or via the layaway app's **"View Order"** button 3. Tap **"Capture Payment"** on the order screen 4. For a partial payment: use **split payment**, enter the amount, then tap **"Mark as partially paid"** 5. For the full remaining balance: process the full amount ### Via Invoice (Full Remaining Balance Only) If an order already exists (a deposit was made previously) and the customer cannot come in person, an admin can send an invoice from **Shopify Admin > Orders**. - The customer receives the invoice by email and can pay the **full remaining balance** online - **Partial payments are not possible via invoice** — for partial payments, the customer must come to the store - Invoices require an existing order — if no deposit has been made yet (layaway is still "Reserved"), there is no order to send an invoice for ### Finding the Order There are several ways for staff to find a layaway's linked order: - **From the layaway on POS**: Open the layaway in the Layaway Orders tile, tap **"View Order"** to jump directly to the Shopify order - **From the admin dashboard**: Open the layaway detail page, click the order link in the sidebar - **From Shopify's order search**: The app **tags linked orders with the layaway name**, so searching for the layaway name (e.g., "LAY0042") in Shopify POS or Shopify Admin will find the corresponding order > **Note:** Once an order is linked, the Shopify order is the source of truth. All payment, refund, and fulfillment actions happen on the order — the layaway syncs these changes automatically. ## Payment Tracking Once a Shopify order is linked to a layaway, the app syncs payment information automatically. You can see the current payment status on the [layaway detail page](../app-interface/layaway-details). ### Payment Statuses | Status | Meaning | | --- | --- | | **Pending** | No payment received yet | | **Authorized** | Payment authorized but not captured | | **Partially Paid** | Some payment received, balance remaining | | **Paid** | Full amount collected | | **Refunded** | Payment has been refunded | | **Voided** | Payment authorization was voided | ### What the App Tracks | Field | Description | | --- | --- | | **Amount Paid** | Total collected so far | | **Amount Remaining** | How much the customer still owes | | **Amount Refunded** | Total refunded back to the customer | > **[Image placeholder]** Layaway detail page payment breakdown section ### Price Changes If the price on the linked Shopify order changes (e.g., a discount is applied after the fact), the layaway syncs those changes automatically. The payment breakdown on the detail page will always reflect the current order totals. ## Fulfillment Fulfillment status is also synced from the linked Shopify order. The app checks whether the order has been fulfilled (items handed to the customer or shipped). ## Completion Rules A layaway moves to **Completed** only when **both** conditions are true: 1. The linked order is **fully paid** 2. The linked order is **fulfilled** If only one condition is met, the layaway stays at **In Progress**. | Paid? | Fulfilled? | Layaway Status | | --- | --- | --- | | No | No | In Progress | | Yes | No | In Progress | | No | Yes | In Progress | | Yes | Yes | **Completed** | ## Automatic Status Changes from Payments Certain payment events trigger automatic status changes: | Payment Event | Layaway Effect | | --- | --- | | Full payment + fulfillment | Layaway moves to **Completed** | | Full refund | Layaway moves to **Canceled** | | Order voided | Layaway moves to **Canceled** | | Partial refund | No status change (stays In Progress) | ## Tips - You do not need to do anything special to sync payments -- it all happens automatically. - If a payment seems out of date, check the linked Shopify order directly and refresh the layaway detail page. - **Partial payments** (deposits, installments) are only possible at the POS in-store. The layaway stays In Progress and tracks the remaining balance after each payment. - **Invoices** can only collect the full remaining balance -- use them when the customer is ready to pay everything they owe but cannot come to the store. --- ### Expiration & Notifications **URL:** https://layaway.mantledocs.com/expiration-and-notifications Every layaway has an expiration date. The app can notify customers and managers before and after a layaway expires. ## Expiration ### Setting the Expiration Date - **At creation**: When you create a layaway from POS, the expiration date defaults to the number of days set in your [Settings](../getting-started/settings) (e.g., 30 days from today). You can change it on the summary screen before confirming. - **After creation**: You can edit the expiration date from the [detail page](../app-interface/layaway-details) in the admin dashboard, or from POS when updating a layaway. ### What Happens When a Layaway Expires When the expiration date passes: | Current Status | What Happens | | --- | --- | | **Reserved** | Layaway moves to **Expired**. Reserved inventory is released back to available. | | **In Progress** | Layaway moves to **Expired**. The linked Shopify order stays open -- this shows up as "Needs Attention" on your dashboard. | Completed, Canceled, and Restocked layaways are not affected by expiration since they are already in a terminal status. ## Notifications The app sends 3 types of notifications by email. ### 1. Expiring Soon Sent **before** a layaway expires, giving the customer (and/or your team) a heads-up. - **When**: A configurable number of hours before expiration (default: 24 hours) - **For which layaways**: Those still in **Reserved** or **In Progress** status - **Sent once**: The notification is sent only once per layaway. If you extend the expiration date, the timer resets and the notification will be sent again based on the new date. ### 2. Expired Sent when a layaway in **Reserved** status reaches its expiration date. - **When**: At the moment the layaway expires - **Purpose**: Lets the customer know their hold has ended, and lets your team know inventory has been released ### 3. Expired with Open Order Sent when an **In Progress** layaway expires but still has a linked Shopify order that is open. This is common when a customer made a deposit or partial payments but did not finish paying before the deadline. - **When**: At the moment the layaway expires - **Purpose**: Alerts your team that manual action is needed -- the customer has an open order with partial payments, but the layaway deadline has passed. You will need to decide whether to cancel the order, issue a refund, or make other arrangements. > **[Image placeholder]** Example of an "Expiring Soon" notification email ## Who Gets Notified? Each notification type can be sent to different recipients. You control this in [Settings](../getting-started/settings). | Notification | Customer | Manager | Both | | --- | --- | --- | --- | | Expiring Soon | Toggle | Toggle | Toggle | | Expired | Toggle | Toggle | Toggle | | Expired with Open Order | Toggle | Toggle | Toggle | - **Customer**: The email on the customer's Shopify profile - **Manager**: The email address(es) you configure in Settings ## Timing The "Expiring Soon" lead time is configurable from **1 to 168 hours** (1 hour to 7 days). Choose a window that gives your customers enough time to act: | Store Type | Suggested Lead Time | | --- | --- | | Walk-in retail | 24 hours (1 day) | | High-value items | 72 hours (3 days) | | Short hold periods | 4-12 hours | ## Tips - **Extend, do not recreate**: If a customer needs more time, just edit the expiration date. The notification timer resets automatically. - **Monitor "Needs Attention"**: Expired layaways with open orders need your manual attention. Check the [Dashboard](../app-interface/dashboard) regularly. - **Manager emails**: Add multiple manager emails in [Settings](../getting-started/settings) if you want your whole team notified. --- ### Archiving **URL:** https://layaway.mantledocs.com/archiving Layaways are archived automatically once they are finished. There is no manual archive button -- the app handles it for you. ## When Does a Layaway Get Archived? It depends on whether the layaway has a linked Shopify order. ### Without a Linked Order The layaway is archived as soon as it reaches a **terminal status**: - Completed - Expired - Canceled - Restocked ### With a Linked Order The layaway **mirrors the archived status of the linked Shopify order**. The layaway is archived when the order is archived, and stays unarchived as long as the order is active. This means even if the layaway itself is in a terminal status (Expired, Canceled), it stays visible in your default list until the order is fully resolved and archived in Shopify. ## "Needs Attention" — Terminal Status + Active Order A layaway that has reached a terminal status (Expired, Canceled) but still has an **active (unarchived) order** is considered a layaway that **"Needs Attention"**. This is the key scenario: - The layaway is done (expired or canceled) - But the Shopify order is still open — it may have partial payments, unfulfilled items, or pending refunds - Someone needs to take action on the order: cancel it, issue a refund, or otherwise resolve it - Once the order is archived in Shopify, the layaway archives automatically and leaves the "Needs Attention" list These layaways appear in the **"Needs Attention"** section on the [Dashboard](../app-interface/dashboard) and stay in the default (non-archived) list view until the order is resolved. ## How Archiving Affects Your View Archived layaways are displayed differently depending on where you are looking: | Where | Default Behavior | | --- | --- | | **Admin dashboard (web)** | Archived layaways are **visible but shown with a gray background**, similar to how Shopify's orders page displays closed orders. You can use filters to show only active or only archived layaways. | | **POS (Layaway Orders tile)** | Archived layaways are **filtered out by default** and only layaways from the **current location** are shown. You can change the filter to include archived ones if needed. | > **[Image placeholder]** Admin list view showing archived layaways with gray background > **[Image placeholder]** POS layaway list with archive filter This keeps your day-to-day view focused on layaways that still need attention, while letting you look up old layaways whenever you need to. ## Finding Archived Layaways To view archived layaways: 1. Go to the [list view](../app-interface/managing-layaways) in the admin dashboard 2. Open the advanced filters 3. Toggle the **Archived** filter to include archived records 4. Use search or other filters to narrow down what you are looking for ## Tips - You do not need to worry about archiving -- it is fully automatic. - Archived layaways are never deleted. They are always available if you need to reference them. - If a layaway is not archiving when you expect, check whether it has a linked order that is still open in Shopify. --- ## App Interface ### Dashboard **URL:** https://layaway.mantledocs.com/dashboard The dashboard is your home page in the Layaway app. It gives you a quick overview of your layaway activity. > **[Image placeholder]** Full dashboard view ## Stats Cards At the top of the dashboard, you will see four count cards: | Card | What It Shows | | --- | --- | | **Active** | Total layaways currently in Reserved or In Progress status | | **Expiring Soon** | Layaways approaching their expiration date | | **Expired** | Layaways that have passed their expiration date | | **Completed** | Layaways that have been fully paid and fulfilled | > **[Image placeholder]** Dashboard stats cards row ## Monetary Summary Below the stats cards, you will find a financial overview: | Metric | What It Shows | | --- | --- | | **Total Value** | Combined dollar value of all layaways in the selected time range | | **Collected** | Total payments received | | **Outstanding** | Total still owed by customers | | **Refunded** | Total refunded back to customers | > **[Image placeholder]** Dashboard monetary summary section ## Time Range You can change the time range for the dashboard data: - **Current** -- Active layaways right now - **Last 7 days** -- Activity from the past week - **Last 30 days** -- Activity from the past month > **[Image placeholder]** Time range selector ## Needs Attention This section highlights layaways that require your manual intervention. A layaway appears here when it has reached a **terminal status** (Expired or Canceled) but its **linked Shopify order is still active** (not archived). Specifically: - **Expired layaways with open orders** -- The layaway deadline passed, but there is still an open Shopify order. The customer may have made partial payments that need to be refunded or the order needs to be canceled. - **Canceled layaways with open orders** -- The layaway was canceled (order refunded/voided), but the Shopify order may still need cleanup. These layaways will remain in "Needs Attention" **until you resolve the order and it gets archived in Shopify**. Once the order is archived, the layaway archives automatically and disappears from this list. Each item links directly to the [layaway detail page](../app-interface/layaway-details) so you can take action — use the **"View Order"** button to go to the Shopify order and resolve it. > **[Image placeholder]** Needs Attention section with example items > **Tip**: Check this section regularly. These are situations the app cannot resolve automatically -- they need a human decision. ## Recent Activity The bottom of the dashboard shows the **10 most recent** layaway events, giving you a quick log of what has been happening. This includes new layaways, status changes, payments, and other updates. > **[Image placeholder]** Recent Activity feed --- ### Managing Layaways **URL:** https://layaway.mantledocs.com/managing-layaways You can browse layaways from two places: - **On POS**: The **Layaway Orders** tile shows layaways at your current location. From there you can load a layaway into the cart to edit or pay. - **On the web**: The **admin dashboard list view** (described below) gives you a full view across all locations with advanced filtering, sorting, and search. > **[Image placeholder]** Full list view with layaways ## Admin Dashboard List View ## Columns The list displays the following information for each layaway: | Column | Description | | --- | --- | | **Name** | The layaway name (auto-generated with your configured prefix) | | **Order** | The linked Shopify order number, if any | | **Created** | When the layaway was created | | **Location** | The POS location where the layaway was made | | **Customer** | The customer's name | | **Items** | Number of items in the layaway | | **Total** | Total dollar value | | **Status** | Current layaway status (Reserved, In Progress, etc.) | | **Payment** | Payment status (Pending, Paid, Partially Paid, etc.) | | **Fulfillment** | Fulfillment status | ## Presets Quick-filter buttons let you jump to common views: | Preset | What It Shows | | --- | --- | | **All** | All non-archived layaways | | **Needs Attention** | Expired or canceled layaways with open orders | | **Reserved** | Layaways waiting for customers to return | | **Expiring Soon** | Layaways approaching their expiration date | | **In Progress** | Layaways with linked orders, awaiting completion | | **Expired** | Layaways past their deadline | | **Completed** | Successfully finished layaways | > **[Image placeholder]** Preset filter buttons ## Advanced Filters For more specific searches, use the advanced filter options: | Filter | Options | | --- | --- | | **Status** | Reserved, In Progress, Completed, Expired, Canceled, Restocked | | **Payment Status** | Pending, Authorized, Partially Paid, Paid, Refunded, Voided | | **Fulfillment Status** | Filter by fulfillment state | | **Archived** | Show or hide archived layaways | | **Date Range** | Filter by creation date or expiration date | > **[Image placeholder]** Advanced filter panel expanded ## Search Use the search bar to find layaways by name, customer name, or order number. ## Sorting Click column headers or use the sort control to order your list: | Sort Option | Description | | --- | --- | | **Created** | When the layaway was created (default) | | **Expires** | Expiration date | | **Name** | Alphabetical by layaway name | | **Updated** | Most recently modified | You can sort in ascending or descending order. ## Location Filter If you have multiple POS locations, use the location filter to see layaways from a specific store. ## Pagination The list shows **25 layaways per page**. Use the pagination controls at the bottom to move between pages. ## Tips - **Start with presets** for your daily workflow -- "Needs Attention" and "Expiring Soon" are especially useful to check each morning. - **Use the Archived filter** when you need to look up a past layaway. - **Combine filters** for specific searches (e.g., "Reserved" status + a specific location + expiring within the next 3 days). --- ### Layaway Details **URL:** https://layaway.mantledocs.com/layaway-details Click on any layaway in the list view (admin dashboard) to open its detail page. You can also view layaway details from the **Layaway Orders** tile on POS at your current location. This page shows everything about a single layaway and lets you take action on it. > **[Image placeholder]** Full layaway detail page ## Line Items The main section shows all items in the layaway: - Product image - Product name and variant - SKU - Unit price and quantity - Any discounts applied - Line total > **[Image placeholder]** Line items section with product images ## Payment Breakdown Below the line items, you will see a financial summary: | Field | Description | | --- | --- | | **Subtotal** | Sum of all line items before discounts and tax | | **Discounts** | Total discounts applied | | **Tax** | Tax amount | | **Total** | Final total | | **Paid** | Amount collected so far | | **Refunded** | Amount refunded to the customer | | **Outstanding** | Remaining balance the customer owes | > **[Image placeholder]** Payment breakdown section ## Sidebar The right sidebar contains key information and quick actions: ### Order Link If a Shopify order is linked, you will see the order number as a clickable link that takes you directly to the order in Shopify admin. ### Expiration Shows the current expiration date. If the layaway is not archived, you can click to **edit the expiration date** directly from here. > **[Image placeholder]** Expiration date with edit control ### Customer The customer's name, linked to their Shopify customer profile. ### Notes Any notes added during creation or updates. ## Actions The available actions depend on the layaway's current status: | Action | When Available | What It Does | | --- | --- | --- | | **Edit Expiration** | Any non-archived layaway | Opens a date picker to change the expiration date | | **Restock** | Reserved status, not archived | Releases reserved inventory back to available and moves the layaway to Restocked status | | **View Order** | When a Shopify order is linked | Opens the linked order in Shopify admin. Once an order is linked, this is the primary action — all payment, refund, and item changes happen on the order side. | > **[Image placeholder]** Action buttons on the detail page ### Edit Expiration 1. Click the expiration date in the sidebar 2. Pick a new date 3. Save If you extend the date, the "expiring soon" notification timer resets. ### Restock Use this when a customer is not coming back and you want to return the items to your shelf. 1. Click the **Restock** button 2. Confirm the action 3. The inventory is released, and the layaway moves to **Restocked** status > **Note**: Restock is only available for layaways in **Reserved** status. Once an order is linked, inventory is managed by Shopify's order system. ### View Order Opens the linked Shopify order in a new tab so you can manage it directly (refund, fulfill, etc.). ## Tips - Check the payment breakdown and status to understand the current state of a layaway if something looks off. - Use **Edit Expiration** to give customers extra time without needing to recreate the layaway. - The **payment breakdown** updates automatically as Shopify order payments are processed. --- ## FAQ ### FAQ **URL:** https://layaway.mantledocs.com/faq Common questions, tips, and edge cases. ## General ### What happens if the customer wants different items when they return? No problem. If the POS order contains different items than the original layaway (e.g., the customer swaps a size or changes their mind about a product), the layaway automatically updates to match the order. The old items are unreserved, and the new items follow normal Shopify order handling. ### Can I reassign a layaway to a different customer? Yes, as long as the layaway is still in "Reserved" status (no order linked yet). Load the layaway via "Edit in Cart" on POS, change the customer on the cart, and tap "Update Layaway". Once an order is linked, the customer cannot be changed through the layaway — any changes would need to happen on the Shopify order side. ### Can I create a layaway without a customer? No. A customer must be attached to the POS cart before creating a layaway. The app needs a customer record to send notifications and track the layaway. ## Payments ### Does the app process payments? No. The app tracks payments but does not process them. All payments go through Shopify's normal payment system. The app syncs payment information from Shopify orders via webhooks. ### Can customers make partial payments (deposits)? Yes, as long as your Shopify POS setup supports it. The layaway will show as "Partially Paid" and track the remaining balance. It stays In Progress until fully paid and fulfilled. ### What happens if I refund a linked order? - **Full refund or void**: The layaway automatically moves to **Canceled** status. - **Partial refund**: The layaway stays In Progress, and the refunded amount is reflected in the payment breakdown. ## Inventory ### What happens if I reserve more than what is available? The app will reserve the full quantity you requested, even if it exceeds the available stock. This means the available inventory can go **negative**. The app trusts that the cashier or admin knows what they are doing — for example, you may be expecting a restock soon. Just be aware that negative available inventory means those items are technically oversold at that location. ### How do I release inventory from a layaway? Use the **Restock** action on the detail page (or on POS). This releases reserved inventory back to available, but it also **closes the layaway** — the status moves to "Restocked" (terminal). There is no way to release inventory while keeping the layaway open. If you need to start over, you would need to create a new layaway. Restock is only available for layaways in **Reserved** status (before an order is linked). Once an order is linked, inventory is managed by the Shopify order — restocking/returns would be done through the Shopify order itself. ### Can I see what is reserved in Shopify? Yes. Reserved quantities appear in your Shopify admin under inventory management. The app uses Shopify's built-in reserved inventory bucket. ## Statuses & Lifecycle ### What does "Needs Attention" mean? It means a layaway has expired or been canceled, but it still has an open Shopify order attached. The app cannot automatically resolve this -- you need to manually decide what to do with the order (refund it, complete it, or cancel it). ### Can I manually complete a layaway? No. A layaway can only be completed when the linked Shopify order is fully paid and fulfilled. If you need to close a layaway that has no order yet (still "Reserved"), you can **Restock** it to release the inventory and close the layaway. ### Why is my layaway still showing in the list after it completed? It may not have been archived yet. Layaways with linked orders are only archived when the Shopify order is closed. Check the order status in Shopify -- once it is closed, the layaway will be archived and disappear from the default list view. ### Can a layaway go back to a previous status? No. Terminal statuses (Completed, Expired, Canceled, Restocked) are final. The layaway cannot return to Reserved or In Progress once it reaches a terminal status. ## Expiration & Notifications ### Can I turn off all notifications? Yes. Turn off all the toggles in [Settings](../getting-started/settings) under Notifications. However, we recommend keeping at least the manager notifications on so your team is aware of expiring layaways. ### I extended the expiration date. Will the customer get another "expiring soon" email? Yes. When you extend the expiration date, the "expiring soon" notification timer resets. The customer (and/or manager) will receive a new notification based on the updated date, according to your lead time setting. ### What language are notifications sent in? Notifications use the default language set in your [Settings](../getting-started/settings) -- currently English or French. ## App & Technical ### What happens if I uninstall the app? - Existing layaways will naturally expire, but **no expiration notifications will be sent** since the app is no longer running. - **Reserved inventory may remain in the "reserved" state** in Shopify. Inventory reserved by apps cannot be manually edited — to release it, you would need to reinstall the app and restock the layaways manually. - Layaway data is retained for a period in case you reinstall. ### Does the app work with multiple locations? Yes. Each layaway is tied to the POS location where it was created. Inventory is reserved at that specific location. On POS, the **Layaway Orders** tile shows layaways for your current location. On the web admin dashboard, you can filter the list view by location to see layaways from any store. ### Does the app work with Shopify's online store? The app is designed for **Shopify POS** (in-store) use. Layaways are created and managed from the POS device using the Create Layaway and Layaways tiles. The web admin dashboard provides additional features like stats, advanced filtering across all locations, and settings configuration. ### Why is my available inventory negative? This happens when a layaway reserved more units than were available. The app allows this intentionally — see "What happens if I reserve more than what is available?" above. The negative count will resolve when inventory is restocked or when the layaway is restocked/expired and the reserved inventory is released. ## Tips for Daily Use 1. **Check "Needs Attention" every morning.** These are the situations that need a human decision. 2. **Use "Expiring Soon" as your daily filter** to proactively follow up with customers. 3. **Keep manager emails up to date** in [Settings](../getting-started/settings) so the right people are notified. 4. **Use notes generously** -- future you (or your coworker) will thank you. 5. **Do not over-extend expiration dates.** Holding inventory too long reduces availability for other customers. ---