How to exclude retail products from a Shopify wholesale minimum order
Short answer: For customers tagged wholesale, require at least 100 in products tagged bulk; unrelated retail items do not count toward the wholesale minimum. In Checkpost, choose “Wholesale minimum excludes other products” from Templates, adjust the values, test it, then save and enable the rule.
The problem
A cart-wide minimum can be met with retail items even when the wholesale stock portion is too small to fulfil economically. This rule checks eligible wholesale line totals for tagged wholesale customers.
Related merchant discussion on Shopify Community
How to set it up
- Install Checkpost from the Shopify App Store.
- Open Templates and choose Wholesale minimum excludes other products.
- Set your wholesale customer tag, eligible product tag and minimum in store currency.
- Use Try this rule to test a sample cart, then click Save rule.
The rule
Checkout is blocked when all of these conditions are true:
- Customer has any of tags wholesale
- Combined subtotal of products (products tagged bulk) is less than 100
Shoppers see: “Wholesale orders need at least 100 of eligible wholesale products. Other items do not count.” at the top of checkout, in the cart and at checkout.
Rule definition (JSON)
{
"name": "Wholesale: 100 of eligible stock",
"match": "all",
"conditions": [
{
"kind": "customer_tag",
"op": "has_any",
"tags": [
"wholesale"
]
},
{
"kind": "line_number",
"field": "matching_subtotal",
"op": "lt",
"value": 100,
"filter": {
"productTags": [
"bulk"
]
}
}
],
"message": "Wholesale orders need at least 100 of eligible wholesale products. Other items do not count.",
"target": "cart",
"runOn": "always"
}Examples with the default settings
These outcomes apply to this rule alone. Other enabled rules may also affect checkout.
| Test cart | Expected outcome |
|---|---|
| Wholesale customer: 100 eligible stock | Allowed by this rule |
| Wholesale customer: 90 stock + 200 retail | Checkout blocked |
Where this rule works
These are cart and checkout validations, including supported accelerated checkouts. They are current-cart policies; they do not track previous purchases of a SKU. Shopify excludes POS, recurring subscription orders and native pre-order/Try Before You Buy flows from this API. See Shopify's validation compatibility.
Tips
- Customers must be recognised with the wholesale tag; guest carts have no customer tags.
- Tag eligible products bulk and keep the minimum in the store's base currency. It is converted for presentment currencies.
- An order with no eligible items is not blocked by this rule. Add an access or eligibility rule separately if wholesale customers must buy eligible stock.
- The amount is the selected lines' Shopify total before shipping and taxes; it does not use the entire order total.
FAQ
Can a 200 retail item satisfy a 100 wholesale minimum?
No. Only bulk-tagged line totals count. A cart with 90 of eligible stock and 200 of retail stock fails.
Does this read a company-location-specific minimum metafield?
No. This preset uses a fixed amount and a customer tag. Different tiers can use distinct tagged rules; dynamic company-location metafields are a separate feature.
Related rules
Wholesale-only products
Prevent retail customers from buying wholesale SKUs by requiring a wholesale customer tag or a B2B company account.
B2B minimum order value
Apply a minimum order amount only to B2B company buyers (or wholesale-tagged customers), leaving retail checkout untouched.
Variant minimum plus quantity increments
For bulk-tagged products, require each variant to total at least 20 units and a multiple of 10, even when the same variant appears on separate cart lines.