Wholesale minimum orders in WooCommerce: rules for B2B buyers

Wholesale ordering breaks the default WooCommerce assumption that every customer can buy one of anything. A B2B buyer ordering under your minimum costs you money on picking, packing, and shipping - so the rule must be enforced before checkout, not corrected after.

What wholesale minimums look like

  • Order-level minimum - "wholesale orders start at €200"
  • Product-level minimum - "this SKU sells in packs of 12"
  • Category minimum - "at least 5 items from the wholesale line"
  • The combination - per-product minimums AND a cart total floor, which is where most solutions fall over.

Who the rule applies to: the role question

A wholesale minimum that applies to everyone is broken - retail customers should not be forced to buy 12 units. The rule needs a role condition:

  • Wholesale/B2B role gets minimums and maximums.
  • Retail customers get the normal catalog (or their own rules).
  • Guests see either nothing or the retail rules.

This is why "a code snippet" solutions stop working fast in wholesale - they cannot check current_user roles cleanly across guest/registered/role states.

How the enforcement should behave

  • Product page - quantity stepper starts at the minimum (if you sell by 12, the "1" option is a bug invitation).
  • Cart page - a notice explains the unmet rule BEFORE checkout, not after a declined order.
  • Checkout - the hard stop; everything before it is UX, this is the actual enforcement.
  • Per-role scope - the same cart passes for retail, fails for wholesale, or vice versa.
Checkout blocked until the cart meets the rule
The checkout stop: the order cannot proceed until the cart meets the rule.

Practical setup

  1. Decide whether minimums are per product, per category, or cart-wide - write the rule down in business language first.
  2. Map it to roles: which rule for wholesale, which for retail, which for guests.
  3. Enforce at cart + checkout, show the notice early.
  4. Edge cases to test: mixed carts (wholesale + retail items), after-discount totals, a customer with two roles.
The cart restriction rules list
The rules list: minimums and maximums per cart, product, or category.

Cart Restrictions supports cart-wide and per-product/category rules that checkout actually enforces - the building blocks for wholesale minimums without custom code.