Oversell protection: stop bundles and singles selling the same stock twice

The problem this solves

Say you have 2 units of a t-shirt on the shelf. You sell it as a single, and you also sell a "Pack of 2".

A shopper puts the Pack of 2 in their cart, then adds 2 singles as well. Shopify checks each cart line on its own: the pack line looks fine, the singles line looks fine. Nobody checks the total. The cart now asks for 4 units of a product you have 2 of, and the order goes through.

You find out when you go to pack it. Multipacks knows which of your products draw from the same physical stock — that is exactly what your bundle setup describes — so it can add the lines up

and catch this. Oversell protection is that check.


Four levels of protection

Pick how firm you want to be. Each level includes the ones above it.

Level What happens Where you set it
1. Warn A notice appears in the cart: "Only 2 left of Blue Tee across your cart — needs 4." The shopper can ignore it. Multipacks app
2. Shopper removes Same notice, plus a Remove out-of-stock item button. Theme editor
3. Remove automatically The offending item is taken out of the cart and the shopper is told. No button, nothing to dismiss. Theme editor
4. Block checkout The order cannot be completed while the cart is oversold, however the shopper got there. Shopify checkout settings

Levels 1–3 all happen in the cart, in the shopper's browser. They are the friendly version: the shopper sees the problem while they can still do something about it. A shopper who never opens the cart page, or who has JavaScript disabled, will not see them.

Level 4 is the one that actually enforces. It runs on Shopify's servers at checkout, so nothing gets past it. Most stores want level 3 and level 4: level 3 is the good experience, level 4 is the guarantee.


Before you start

  • An Online Store 2.0 theme. Most themes released since mid-2021 qualify

    (Dawn, Refresh, Horizon, Sense, Craft and similar).

  • Your bundles configured in Multipacks — that is how the app knows which

    products share stock.

  • No plan requirement. Oversell protection is available on every plan.

Step 1 — Turn on the check (required for every level)

Grant the theme permission, if asked

Multipacks app → Preferences. If a yellow banner reads "Additional permission needed", click Re-authorize and approve. Until then the switch below stays greyed out.

Switch it on

Multipacks app → Preferences → Oversell warning → Enable.

This is the store-wide default and the master switch: nothing else in this guide works until it is on, including checkout blocking.

Optional: override one bundle

Open any bundle in Multipacks → Oversell warning:

  • Inherit store default — follow the switch above (the normal choice).
  • On / Off — force it for this bundle only.

Use Off for a bundle you are deliberately happy to oversell.


Step 2 — Choose what the shopper sees in the cart

These live in your theme, because they are part of your storefront.

  1. Shopify admin → Online Store → Themes → Customize on your live

    theme.

  2. Left sidebar → App embeds → switch Cart bundle manager on.
  3. Expand it and set:
Setting Effect
Oversell warning text The notice itself. Placeholders: {title}  product name, {available}  units in stock, {needed}  units the cart is asking for.
Let shoppers remove out-of-stock items Adds a remove button to the notice. → Level 2
Remove button text Wording on that button. Default: Remove out-of-stock item.
Automatically remove out-of-stock items Removes the item with no button and no dismiss. Overrides the setting above. → Level 3
Auto-removed notice text What the shopper is told after an automatic removal. Same placeholders.
  1. Click Save.

Leave both checkboxes unticked for level 1, warning only.


Step 3 — Block checkout (the enforcing level)

This is a Shopify checkout rule you add yourself. Multipacks provides the rule; switching it on stays your decision, and you can remove it at any time.

  1. Shopify admin → Settings → Checkout.
  2. Scroll to Checkout rules → Add rule.
  3. Choose oversell-validation from the list. It is provided by the Multipacks app.
  4. Give the rule a name your team will recognise. We suggest:

    Multipacks — oversell protection. Shoppers never see this name; it is for your own checkout settings page.

  5. Leave "Block checkout if the app experiences a problem" unchecked. If Multipacks ever cannot answer, you want carts to go through rather than your whole checkout stopping. An outage should cost you an occasional oversell, not every order.
  6. Save.

A shopper with an oversold cart now cannot complete the order. They see a message naming the product, what is in stock, and what their cart is asking for.

Word the checkout message yourself

Multipacks app → Preferences → Checkout block message.

Default:

We can't complete this order — only {available} {title} left in stock, but

your cart needs {needed}.

Placeholders: {title}  product name, {available}  units in stock, {needed}

units the cart is asking for. Leave it blank to use the default.


Check it works

Do this on your live storefront, with a product you can safely take out of stock

for a few minutes.

  1. Pick a bundle and note one of its components.
  2. In Shopify, set that component's stock below what the bundle needs — for a 2-pack, set it to 1.
  3. Add the bundle to your cart on the storefront. You should see the warning, or the item removed, depending on the level you chose.
  4. If you set up level 4, try to check out. Checkout should refuse, with your

    message.

  5. Now put the stock back and try again. The same cart should sail through.

    This second test matters: without it, a blocked checkout could just as easily

    have been blocked by something else entirely.


Products this deliberately skips

Anything set to "Continue selling when out of stock" in Shopify. That

setting is you telling Shopify you are happy to oversell that product, so

Multipacks leaves it alone at every level.

Untracked products. No stock figure, nothing to compare against.

Products where stock cannot be read at that moment. Multipacks treats

unknown as "no problem" rather than guessing at zero — it will never remove an

item or block an order on a number it does not actually have.


Troubleshooting

The Oversell warning switch is greyed out.

Either the theme permission is missing — look for Additional permission needed

and click Re-authorize — or your theme is not Online Store 2.0. The app says

which in a banner above the switch.

No warning in the cart.

  1. Is Oversell warning on in Preferences?
  2. Is the Cart bundle manager app embed on and saved in your live theme?
  3. Is that bundle's own override set to Off?
  4. Is the product set to Continue selling when out of stock?
  5. Is the cart genuinely oversold? The check compares the whole cart against real stock — plenty of stock means no warning, which is correct.

The warning shows but checkout still goes through.

Expected, unless you completed Step 3. Levels 1–3 inform; only the checkout rule enforces. Check Settings → Checkout → Checkout rules and confirm the rule is listed and active.

Checkout is blocked and I don't think it should be.

Read the message — it names the product, the stock figure, and what the cart is

asking for. Compare against that product's stock in Shopify. Remember that bundles count towards it: a 2-pack in the cart is asking for 2 units of the component, not 1. To let it through, either restock, set the product to continue selling when out of stock, or set that bundle's Oversell warning override to Off.

I want to turn blocking off in a hurry.

Shopify admin → Settings → Checkout → Checkout rules → remove or disable the rule. It takes effect immediately and does not touch anything else

in Multipacks.

Still stuck? Contact Multipacks support with your shop name, the product

involved, and what the cart contained.

Still need help? Contact Us Contact Us