How Pre-Orders Work
What actually happens behind the scenes when you run a pre-order: how it is powered, when it shows, how customers are charged, when it ships, and how stock is handled. This is the concept behind the settings in the Pre-order article, written so you understand the mechanics without needing to be technical. The pre-order Functionality settings are reusable building blocks, this article gives the overview and links to a dedicated article for each.
How a pre-order is powered
Every Timesact pre-order runs on Shopify's own built-in way of selling a product on different terms than a normal sale, here it means buy now and receive later.
You do not set up or manage any of this yourself. When you turn on Pre-order in a customer experience template, Timesact creates it automatically and attaches it to the products you assign. The terms you choose, how the customer is charged, when the item ships, and any discount, are written into it. When the pre-order actually shows on the storefront is decided separately by Timesact (see When Pre-order shows below).
On the storefront, when a shopper adds a pre-order item to the cart, Timesact attaches the pre-order terms to that cart line. That attachment is what tells Shopify to treat the order as a pre-order at checkout, to defer fulfillment and apply your payment terms. If it is not attached, the item is sold as a normal product, charged in full and shipped immediately.
The building blocks
The pre-order Functionality settings are made of reusable blocks. Each one has its own article with the full options and scenarios:
- When Pre-order shows decides when the pre-order shows, per variant, based on the variant's Shopify stock (out of stock, regardless of levels, or only when inventory is available), and drives the Active vs On standby status. See When Pre-order shows.
- Shipping date sets when the customer is told the item ships (as soon as possible, an exact date, a period, or an interval). See Shipping dates.
- Billing decides how and when the customer is charged: full amount at checkout, or a split payment with 0, a percentage, or a fixed amount upfront and the balance collected later. This is also where the optional pre-order discount lives. See Billing and Split payments.
- Inventory and fulfillment covers when your available quantity is reduced (on sale vs on fulfillment), the Continue selling toggle that keeps out-of-stock items buyable, and deferred fulfillment. See Inventory and Fulfillment.
- Pre-order limit caps how many pre-orders you accept before the button reverts to normal. See Pre-order Limit.
The full lifecycle, end to end
- You turn on Pre-order in a customer experience template and assign products. Timesact sets up the pre-order and applies your settings (stock mode, shipping date, billing, discount, inventory policy).
- A shopper visits a variant whose stock condition is met, so its status is Active and the storefront shows the Pre-order button, along with the shipping date and any payment option.
- They add it to cart, and Timesact attaches the pre-order terms to the line.
- At checkout Shopify charges the full amount, or the deposit, or nothing, depending on your billing setting, and stores the payment method when a balance remains.
- The order is created with deferred fulfillment, the shipping date, and (for partial) payment terms for the balance.
- If partial, the remaining balance is collected later per the order's payment terms, automatically where your payment provider supports it, otherwise by invoice.
- When your stock arrives, you fulfill the order like any normal order.
Known limitations
- B2B and wholesale: Shopify does not support this kind of pre-order (the same applies to subscriptions and Try Before You Buy) on B2B orders, so pre-orders cannot run on a B2B or wholesale checkout, even though they work for your regular customers. If you need B2B customers to place pre-orders, contact support: we can move your store to our Legacy pre-order flow, which runs pre-orders without the purchase option so B2B checkouts go through, with the trade-off that the pre-order is charged in full at checkout and orders arrive as Unfulfilled rather than Scheduled.
- Automatic balance collection depends on your payment provider supporting deferred capture, in practice Shopify Payments. Where it does not, you collect the balance by invoice.
- Pre-orders are not available through Shopify POS, on draft orders, or with certain local payment methods, these are Shopify platform constraints.
- If the pre-order terms are not attached at add-to-cart (for example when another app or widget intercepts the add-to-cart, or when a shopper checks out with a native dynamic checkout button such as Buy it Now or Shop Pay), the item is sold as a normal product. See Testing and Troubleshooting. If you have replaced Shopify's checkout with a third-party one, see Using a checkout other than Shopify's own below.
- Shop App and other sales channels: pre-orders run only on your Online Store. On the Shop App, Facebook and Instagram Shop, and other feed-based channels, the pre-order button, the shipping and payment terms, and the pre-order messaging do not appear, so a shopper there can buy the item on normal terms with the channel's normal delivery expectations, and the order will not carry your pre-order terms. Timesact cannot add or remove a product from a sales channel for you, and cannot switch a channel on or off based on stock, channel availability is controlled in Shopify. If you would rather a pre-order item not sell on the Shop App, open Shopify admin → Products, open the product, and remove the Shop channel from its availability (leave Online Store on), then re-add it when the item is back in stock.
Pre-ordering a bundle
If you sell bundles, several products grouped and sold as one, the pre-order goes on the bundle itself, not on the products inside it. Timesact reads a bundle as a single product and cannot see the stock of the items packed into it, so adding those inner products does nothing for the bundle.
- In the Timesact app go to Products, click Add products and add the bundle product itself.
- Attach the customer experience template that carries the Pre-order functionality.
- In that template open Functionality settings, When Pre-order shows, and choose "Always, whatever the stock level". A bundle usually reports its own stock in Shopify, so on the out-of-stock mode it stays On standby and keeps showing Add to Cart or Sold Out.
- Save, then open the bundle's product page in an incognito window and confirm the Pre-order button, shipping date and payment terms show.
To cap how many bundles you take, add a Pre-order limit. Bundle pre-orders carry the Pre-order tag like any other pre-order.
Using a checkout other than Shopify's own
Timesact's pre-order runs on Shopify's built-in purchase option, and that option travels with the item from your product page, through the cart, into the Shopify order. If you use Shopify's own checkout, all of this happens for you. If you replace it with a third-party checkout (for example Bestfy, Yampi or CartPanda), whether pre-orders keep working comes down entirely to what that checkout does, not to Timesact. Three things have to hold true:
- The order is still created in Shopify. Timesact only ever sees and tags orders that exist in your Shopify admin. If the external checkout creates the order somewhere other than Shopify, there is nothing for the app to recognise, tag, or apply pre-order terms to.
- The checkout carries the cart line properties into the order. When a shopper adds a pre-order item, Timesact attaches the pre-order details to that cart line. The external checkout has to pass those line properties through to the Shopify order it creates, or the order will not be recognised as a pre-order.
- The Shopify purchase option stays attached to the line. This is the one that controls stock. Inventory is not reduced until you fulfill the order through the purchase option on the line item, so if the checkout drops it, your "when to reduce stock" setting in the Timesact app has nothing to act on and the item sells like a normal product, with stock coming down as usual.
What to do: ask your checkout provider whether their checkout creates the Shopify order through Shopify's Admin API, whether it preserves the cart line item properties, and whether it keeps the purchase option on the line. If all three are yes, your pre-orders, and the stock behaviour you set in the Timesact app, carry through. If you are not sure, send us your store link and the checkout you are using, and we will check what carries through for your setup.
Learn more
- For the step-by-step setup of all of the above, see the Pre-order article.
- For the agreement message Shopify shows at checkout on deferred or partial pre-orders, see Billing and Split payments.
- For the delivery estimate and rates shown at checkout, see Shipping Profiles and Locations.
- For collecting and managing the deferred balance on the Shopify side, see Shopify's guide: Managing orders with deferred payments.
- For which payment methods work with pre-orders, see Billing and Split payments.
Updated on: 09/07/2026
Thank you!