Recipe: B2B Case Packs and Wholesale Minimums
B2B Case Packs and Wholesale Minimums
This recipe makes buyers order in full cases, with an optional monthly cap per customer and an order value minimum. You can set the case rule in two places. OrderRules applies it to every shopper. Shopify's B2B catalog quantity rules apply it to B2B company buyers only. Minimum and step quantity in OrderRules work on every plan, for up to 3 products on Starter. Unlimited products and per-customer caps need Pro ($9.99/month).
Requirement spec
The numbers below are examples. Use your own.
- Product X sells in cases of 6. Buyers order at least 12 (two cases), then 18, 24 and so on.
- Product Y sells in cases of 12, with no extra minimum.
- Optional: each customer can buy at most 240 units a calendar month, or spend at most $5,000 a month.
- Every order is at least $250.
OrderRules or native B2B rules?
| You need | Use |
|---|---|
| Cases for B2B company buyers only; retail shoppers still buy singles | Shopify B2B catalog quantity rules |
| Cases for every shopper, including guests and retail | OrderRules minimum and step |
| A monthly cap per customer | OrderRules Customer Limits |
| A minimum order value | Shopify Checkout Blocks |
Shopify's B2B quantity rules (minimum, maximum, increment per variant) are on all plans since April 2, 2026. They apply to B2B company buyers only, with up to 3 catalogs on non-Plus plans. OrderRules can't target a customer tag or group, so its rules hit every shopper. If you use both for B2B buyers, both must pass, so keep the numbers the same.
Configuration
| Where | Screen β field | Value |
|---|---|---|
| OrderRules | Product Limits β + Add Product Limits β Product X β Minimum Order Quantity β Min per order | 12 |
| OrderRules | Product X β Step / Increment Quantity β Step (case pack) | 6 |
| OrderRules | Product Limits β + Add Product Limits β Product Y β Step (case pack) | 12 |
| OrderRules | Variant overrides β Step / Increment | Only where a variant has a different case size |
| Or Shopify | B2B catalog β quantity rules β Minimum / Increment | 12 / 6 for X; 12 / 12 for Y |
| OrderRules (optional, Pro) | Customer Limits β Settings β Enable per-customer limits | On |
| OrderRules (optional, Pro) | Customer Limits β + Add Rule β Limit Type | Total Quantity (units), or Total Spend ($) |
| OrderRules (optional, Pro) | + Add Rule β Period | Per Month, or Rolling 30 days |
| OrderRules (optional, Pro) | + Add Rule β Max Count / Max Amount ($) | 240 / 5000 |
| OrderRules (optional, Pro) | + Add Rule β Scope | Storewide (all products), or Specific Product or Collection |
| Shopify | Checkout Blocks β order value limits | Minimum $250 |
| OrderRules | Settings β Storefront Messages | Your case-pack and limit wording |
The product modal shows the Smallest legal quantity as you type, so you can check the minimum and step agree.
Test cases
Rows 1 to 7 assume the OrderRules rules for Product X.
| # | Input | Expected result |
|---|---|---|
| 1 | Shopper types 5 on the product page | The input adjusts to a valid multiple, with a notice. |
| 2 | Cart has 6 of Product X at checkout | Blocked: below the minimum of 12. |
| 3 | Cart has 12, then 18 | Both go through. |
| 4 | Two variants of X, 6 each | Goes through: each line is a multiple of 6, and the product total is 12. |
| 5 | Two variants of X, 7 and 5 | Blocked: each line must be a multiple of 6. |
| 6 | Shop Pay with 9 from the product page | Blocked at checkout. |
| 7 | Guest checkout with 12 | Goes through if customer limits are off. Blocked if they're on. |
| 8 | Signed-in customer at 230 units this month orders 12 more | Blocked: over the 240-unit monthly cap. |
| 9 | Customer at $4,800 this month places a $600 order | Goes through. The next order that month is blocked. |
| 10 | You fully cancel an order, then the customer reorders | Usage is released; allowed if under the cap. |
| 11 | You refund an order without cancelling | Usage is not released. |
| 12 | Cart below $250 | Blocked by Checkout Blocks, with Shopify's message. |
Edge cases and limits
- Native B2B rules cover B2B buyers only. Retail shoppers and guests aren't affected. OrderRules minimum and step apply to everyone, with no customer-tag or group targeting.
- Step is per line; minimum is per product. A product-level minimum counts all variants together. The step checks each variant line.
- Guest blocking is storewide. Turning on customer limits blocks every guest checkout, retail included. Decide that before you add a monthly cap.
- Caps count per customer account. Each signed-in customer has their own usage.
- Calendar or rolling. Per Month resets on the 1st in your store's timezone. Rolling 30 days counts each order for 30 days after it's placed. Counting starts when you set up the rule; a new rolling rule starts empty.
- Spend caps are soft. The order that crosses the cap goes through.
- POS isn't blocked. POS orders skip validation but still count toward a customer's usage.
- Refunds don't release usage. Neither do partial cancels. A full cancel does.
- Near-simultaneous checkouts. Validation reads a snapshot. Two checkouts by the same customer in the same second can both pass a monthly cap.
- Draft orders are validated. Orders you create from a B2B draft must meet the same rules.