What happens when a cart mixes pre-order and in-stock items?
Updated · SMART Preorder & Back in stock (E-TRADE PARTNER)
The cart becomes one Shopify order; the app never splits orders. In-stock items are paid in full at checkout, pre-order items pay their deposit or full price, and any balance is charged later in one go. Per campaign you can Allow mixed carts (the default), Allow, but warn on the product page, or Block them so shoppers check out separately.
SMART Preorder & Back in stock is a free Shopify app for pre-orders, deposits, and back-in-stock alerts.
Try it freeOn this page
Choose what to allow
- Open the campaign and go to the Settings tab.
- In the Checkout card, find Mixed carts and pick Allow, Allow, but warn on the product page or Block.
- For Warn and Block, edit the Message (up to 300 characters). You can translate it on the Design tab under Translations (Mixed cart message).
- Click Save.
| Option | What the shopper sees | Default message |
|---|---|---|
| Allow (default) | Nothing extra. Pre-order and in-stock items check out together. | |
| Allow, but warn on the product page | The message on the product page when the cart already holds in-stock items. | Heads up: your cart mixes pre-order and in-stock items. Pre-order items may ship later. |
| Block | The same warning on the product page, and checkout refuses carts that mix this campaign's pre-order items with in-stock items, with your message as the cart and checkout error. | Pre-order items must be checked out separately from in-stock items. |
Two pre-order items from different campaigns in one cart aren't a mixed cart. Block relies on the app's checkout rule, Pre-order limit guard; if that rule is turned off or Shopify had no free slot for it, only the product page warning works. See Pre-order limits.
How a mixed order behaves
| Topic | What happens |
|---|---|
| Payment at checkout | In-stock items are paid in full. Each pre-order item pays its campaign's deposit; Shopify adds the deposits together. |
| Balance | One order has one balance due date. With different dates, Shopify uses the earliest; a balance due on fulfillment takes precedence over dates (Shopify developer docs). |
| Shipping | If both items share a delivery profile and location, Shopify calculates their shipping together. To price them separately, give the pre-order its own delivery profile (Shopify developer docs). |
| Fulfillment hold | On On hold campaigns only the fulfillment orders with a pre-order item are held. In-stock items in their own fulfillment order can ship now. |
| Balance on fulfillment | Charged only when the whole order is fulfilled. Shipping the in-stock items first charges nothing. |
| Cancelling | Shopify cancels whole orders, not single items, so cancelling the pre-order also cancels and refunds the in-stock items. The order page, the bulk cancel dialog and the customer's cancel dialog all say so first. |
| Tags | The order gets the deposit campaign's tags, else the first campaign's. |
| Order page | Lists the other items under Also in this order (not pre-ordered) and shows the deposit for the pre-order items only, excluding tax and shipping. |
Separate checkouts
- Block is the way to make shoppers check out pre-orders separately. The app can't split one checkout into two orders.
- Don't use a payment rule that hides every payment method to block mixed carts: it leaves the shopper no way to pay. To hide only some methods when the cart holds a pre-order, see Payment rule recipes.
Decide how mixed carts check out
Allow, warn or block mixed pre-order carts per campaign, with your own translated message. Free on the Shopify App Store.
Install free on ShopifyFrequently asked questions
›Can the app split a mixed cart into two orders?
No. One Shopify checkout is one order. Choose Block on the campaign if pre-orders must be checked out on their own.
›If a customer cancels the pre-order, do they keep the in-stock items?
No. Shopify cancels the whole order, so the in-stock items are cancelled and refunded too. Every cancel dialog in the app and in the customer account says this before it happens.
›Why was the customer charged shipping at checkout on a mixed order?
Shipping depends on your delivery profiles. When the pre-order and in-stock items share a profile and location, Shopify calculates their shipping together at checkout.