Prime MOQ
Back to blog

Order limits

Selling in case packs on Shopify without breaking the carton

If stock arrives boxed in twelves, an order for seven costs you a broken carton and five orphaned units. Increment rules are the fix — here is where Shopify has them and where it does not.

Prime MOQ Team

Prime MOQ Team

· 6 min read

Key takeaways

To sell in case packs you need an increment rule, not a minimum: a minimum of 12 still permits an order for 19, which breaks a carton. Shopify supports increment quantity rules natively inside B2B catalogs, per product or per variant and importable by CSV, with a documented example of boxes of ten forcing purchases of 10, 20 or 30. Outside B2B plans the native path is unavailable. Display the increment on the product page using the quantity_rule Liquid object, and enforce it with a server-side validation function so Buy Now cannot skip it.

Case-pack maths is one of those problems that looks like a rounding error and behaves like a margin leak. Stock lands in cartons of 12. A customer orders 7. Someone opens the box, picks 7, and you now hold 5 units that are harder to sell, in packaging that is no longer sealed.

The rule you want is an increment, not a minimum

Merchants often reach for a minimum here, and it only half works. A minimum of 12 stops an order for 7 — and permits an order for 19, which breaks a carton just as thoroughly.

What you actually want is an increment: quantities must be multiples of the pack size. Shopify's quantity rules documentation describes exactly this, using boxes of ten as the example — set the increment to 10 and customers must buy 10, 20 or 30. It also notes that "the default increment that a product can be purchased in is 1", and that "increment rules apply to product variants", so a product whose variants ship in different pack sizes can carry different increments.

Increments and minimums compose: an increment of 12 with a minimum of 24 means the smallest order is two cartons, and every order after that moves in whole cartons.

Where Shopify has this natively

Increment rules are part of B2B catalogs. You set them in the Catalogs section of the admin, per product or per individual variant, and Shopify supports setting them by CSV import — which is the only sane route if you carry thousands of SKUs with different pack sizes.

The limitation is the same one that applies to every native quantity rule: it belongs to a B2B catalog, and the Help Centre notes that "Shopify B2B features are included on plans that support B2B capabilities." If you sell case packs to retail customers, or to wholesale buyers you identify with a customer tag rather than formal company accounts, the native path is closed.

Per-variant is usually the real requirement

Pack size rarely stays constant across a product. The same tea might ship 12 to a carton in 100g and 6 in 250g. Shopify's native rules handle this — the documentation states that "increment rules apply to product variants", and rules can be set for all variants of a product or for a specific one — and any replacement needs to as well. A rule applied at product level to a product whose variants disagree will be wrong for most of the catalogue.

Tell the customer before the cart

Increment rules are the least intuitive limit type. "Minimum 12" is instantly legible; "must be a multiple of 12" is not, and a customer who types 20 and gets refused at checkout has learned your rule the expensive way.

Shopify exposes a quantity_rule Liquid object so a theme can display the increment, minimum and maximum on the product page. Use it, or whatever equivalent your app provides. Displaying the rule is not enforcement — theme code runs in the browser — but it converts a rejection into an expectation, and that is most of the conversion damage avoided.

Then enforce it somewhere the browser can't reach

The enforcement layer is a validation function, which Shopify describes as running "on Shopify's servers" and providing enforcement that "can't be bypassed by customers" in its cart and checkout validation documentation. Since January 2024, merchants on any plan can use one supplied by a public App Store app.

For case packs specifically, that server-side layer earns its keep in one place: Buy Now. It skips the cart entirely, so a limit that lives on your cart page never runs — and a single Buy Now order for 7 units is all it takes to open a carton.

case packincrementsell in multipleswholesalepack size
Prime MOQ Team

About the author

Prime MOQ Team

Written by the team who build Prime MOQ for Shopify merchants. We write about order limits, wholesale rules and the economics of the orders that lose you money.

Frequently asked questions

What is the difference between a minimum quantity and an increment?

A minimum sets the floor and nothing more, so a minimum of 12 still allows an order for 19. An increment requires quantities to be multiples of the pack size, so an increment of 12 permits 12, 24 or 36 but not 19. For case packs, the increment is the rule that protects the carton.

Can Shopify enforce pack sizes natively?

Yes, through increment quantity rules in B2B catalogs, which can be set per product or per variant and imported by CSV. The Shopify Help Centre notes that B2B features are included on plans that support B2B capabilities, so stores outside those plans cannot use them.

Why does Buy Now matter for case-pack rules?

Buy Now sends the customer straight to checkout without going through the cart, so any limit implemented on your cart page never runs. A validation function running on Shopify's servers still applies, which is why server-side enforcement matters for pack sizes.

Set the rules of your store

Prime MOQ enforces minimum and maximum order quantity, order value and weight at Shopify checkout. Unlimited rules, free forever.