{"title":"Backorders","slug":"backorders","url":"https://support.storeconnect.com/articles/backorders","url_markdown":"https://support.storeconnect.com/articles/backorders.md","subtitle":null,"summary":"Allow customers to keep buying a product after its stock reaches zero by enabling backorders on a stock level, and control how backordered items appear and are fulfilled. Use this when you can restock reliably and do not want to lose the sale.","type":"Help_Documentation","video_url":"","keywords":"backorder, backorderable, backorderable default, sell if out of stock, out of stock level, oversell, on backorder, restock, lead time, delivery windows, special order, stock level, availability, keep selling when stock runs out, let customers order out of stock items, product shows out of stock, waiting for stock, back in stock, preorder, pre-order, sell what I do not have yet","last_modified":"2026-09-15T02:32:04+0000","body_markdown":"By default a product cannot be bought once its **Available to Sell** reaches zero. A backorder overrides that, letting customers keep ordering while you wait on stock from your supplier.\n\nUse backorders where you restock reliably and would rather take the order than show the product as unavailable. Where the wait is long or uncertain, a POS special order or a quote is usually the better fit.\n\n## Before you start\n\n-   Enable **Track Inventory** (`s_c__Track_Inventory__c`) on the product. Backorders have no effect on products that do not track inventory.\n-   Create the stock levels you want to sell from. See [Manage stock levels](managing-stock-levels).\n\n## Enable backorders on a stock level\n\nBackorders are set per stock level, so one location can accept backorders while another does not.\n\n1.  Open the **Stock Level** record for the product and location.\n2.  Select **Backorderable (sell if out of stock)?** (`s_c__Backorderable__c`).\n3.  Click **Save**.\n\nCustomers can now order the product from that location after **Available to Sell** reaches zero.\n\n### Set the default for new stock levels\n\nSetting the checkbox on every new stock level by hand does not scale. Each **Stock Location** carries a default that new stock levels inherit.\n\n1.  Open the **Stock Location** record.\n2.  Select **Backorderable Default** (`s_c__Backorderable_Default__c`).\n3.  Click **Save**.\n\nThis applies to stock levels created after the change. Existing stock levels keep their current setting, so update those separately if you need them changed.\n\n:::warning\n**The default is only copied when StoreConnect auto-creates the stock level.** It is applied by the job that creates missing stock levels, and only for locations with **Create Stock Levels for New Products** selected. A stock level you create by hand, or load with Data Loader, gets `false` regardless of the location's default.\n\nSo if you bulk-load stock levels, set **Backorderable** in the load file. Setting it on the location afterwards changes nothing for rows that already exist.\n:::\n\n## How backorders interact with the out of stock threshold\n\n**Out of Stock Level** (`s_c__Out_Of_Stock_Level__c`) sets the **Available to Sell** figure at which a stock level stops counting as having stock. When **Backorderable** is also selected, the product stays purchasable past that threshold.\n\n:::warning\n**A backorderable product does not display as out of stock.** `product.out_of_stock?` is false whenever any backorderable stock level exists for the product, so the storefront shows it as in stock however low **Available to Sell** has fallen. Setting **Out of Stock Level** does not change that.\n\n`product.on_backorder?` is the only signal that a purchase will be a backorder, and the base theme does not use it. If you want customers told before they commit, you have to add it to your theme. See [Show backorder status on your storefront](#show-backorder-status-on-your-storefront).\n:::\n\n## Which stock level an order uses\n\nA stock level is eligible when its **Available to Sell** covers **the quantity ordered**, or when **Backorderable** is selected on it. The threshold is the quantity on the order, not zero, so a level holding two units is not eligible for an order of three unless it is backorderable.\n\nSelection then runs in this order:\n\n1.  The location the customer chose for pickup, if the order is a collection, whatever its stock.\n2.  Otherwise the first eligible level in priority order.\n3.  Otherwise the level with the most stock, which can take **Available to Sell** negative.\n\n:::note\nA backorderable level is a **peer in that ordering, not a store-wide fallback**. It is considered in its normal priority position, so a backorderable location with a high priority will take orders ahead of locations that hold stock. Set **Priority** on the **Store Stock Location** with that in mind.\n:::\n\nA backorderable level also only counts for the web store if **Fulfill Online Orders** is selected on that stock level. Without it the level is ignored when the store works out availability, backorderable or not.\n\nFor the full selection order, see [Manage stock levels](managing-stock-levels).\n\n## Show backorder status on your storefront\n\nThe product drop exposes whether a purchase will be a backorder, so a theme can tell the customer before they commit.\n\n| Liquid | Type | Notes |\n|--------|------|-------|\n| `product.on_backorder?` | Boolean | Indicates whether the product will be on backorder when purchased. Only applies when `product.track_inventory?` is true. |\n\n\n```liquid\n\n{%- if product.on_backorder? %}\n  \u003cp class=\"SC-Notice\"\u003eThis item is on backorder. We will ship it as soon as it arrives.\u003c/p\u003e\n{%- endif %}\n```\n\n\nPair the message with the lead time you actually expect. Customers accept a wait they were told about, and charge back one they were not. See the [Product Liquid object reference](product-liquid-object-reference).\n\n## Backorders and delivery windows\n\nWhere your store offers delivery windows, decide whether a backordered item may claim one. The store variable `delivery_windows.allow_on_backorder` controls this.\n\nSet it to `true` to let customers pick a delivery window for backordered items, or `false` to stop them booking a slot you cannot meet. See [Delivery windows](delivery-windows) and [Store variables](store-variables).\n\n## When to use a special order instead\n\nA backorder keeps a product on sale online. A special order is a POS transaction for one customer, for an item you do not normally stock, that they collect when it arrives.\n\nUse a special order where the customer is standing in front of you, the item is a one-off, or you want to take a deposit rather than full payment up front. See [Process special orders at POS](processing-a-special-order) and [Special order holds and pickups](special-order-holds-pickups).\n\nWith backorders enabled, the product continues to accept orders after **Available to Sell** reaches zero, and those orders wait for the receipt that brings stock back in. See [Receive stock from a supplier](receive-stock-from-a-supplier)."}