A B2B buyer filling a large cart is not looking for a coupon. They are looking for a price that makes sense at the quantity they actually buy, and a store that clearly cannot do that math loses the order to one that can.
Bulk discounts reward large orders with lower per-unit pricing. For B2B buyers, that is not a promotion, it is the expected shape of the relationship. The trouble is that most Shopify stores price for a retail shopper buying one and then improvise when a wholesale buyer wants fifty. This post is about removing the improvisation: how to structure case quantities, order minimums, and the choice between line-level and cart-level breaks so a big cart prices itself.
The direct answer up front: decide two things and the rest follows. First, do you price by the single unit or by the case? Second, does the discount count quantity per product line or across the whole cart? Get those two right and your bulk pricing stops being guesswork.
Bulk discounts versus retail volume discounts
A retail volume discount and a B2B bulk discount use the same mechanic, per-unit price falling with quantity, but the numbers live in different worlds. A retail tier might reward buying 3 instead of 1. A B2B bulk tier rewards buying 50, 200, or 500. The depth is greater, the margin per unit is thinner, and the buyer is doing deliberate math, not responding to a nudge.
That difference changes how you design tiers. Retail volume tiers are a persuasion tool; you want the middle tier to look like the obvious choice. B2B bulk tiers are a negotiation encoded in software; you want each tier to reflect a real cost-to-serve reality at that volume. A buyer taking 500 units genuinely costs you less per unit to sell and ship than one taking 50, and the price should say so honestly.
Decision one: singles or cases
Case-quantity pricing sells in fixed pack sizes rather than singles. Instead of "buy 48 units", the buyer orders "4 cases of 12". This matches how B2B purchasing actually works and it removes a whole class of problems.
Why case quantities help:
- They mirror real buying. Wholesale buyers think in cases, pallets, and packs, not loose units.
- They stabilize fulfillment. Whole cases pick and pack cleanly; odd lots create labor and error.
- They keep margin predictable. When every order is a case multiple, your per-order economics do not swing on a stray single unit.
If your product genuinely ships as a case, price it as a case and set your tiers on case multiples. If singles are legitimate, keep them, but consider a minimum order quantity so a bulk price never unlocks on a two-unit order.
Decision two: line-level or cart-level breaks
This is the decision merchants get wrong most often, because the right answer depends entirely on how your buyers order.
| Line-level break | Cart-level break | |
|---|---|---|
| Counts quantity | Per product line | Across the whole cart |
| Unlocks tier when | One product hits the threshold | Total units or spend hits it |
| Best for | Deep buying of single SKUs | Broad orders across many SKUs |
| Example buyer | Restocks 200 of one item | Orders 20 each of 15 items |
| Margin risk | Low, tier matches real volume of that item | Mixed cart can hit a tier without real per-item volume |
Line-level suits a buyer who goes deep on individual products: a shop restocking 200 units of one bestseller. The tier attaches to that line, and the discount reflects genuine volume of that specific item.
Cart-level suits a buyer who spreads a large order across many products: a business ordering 20 units each of fifteen items. No single line is deep, but the total order is large, and a cart-level break rewards the whole basket.
Many B2B stores need both, applied to different products, and the guesswork disappears once you have consciously matched each product to the pattern its buyers actually use.
Decision three: order minimums that protect margin
An order minimum is the guardrail that keeps bulk pricing from leaking to small orders. Set it by quantity, by cart value, or both. The rule of thumb: the minimum should sit just above the point where the lower per-unit price is still profitable after fulfillment and payment costs.
Without a minimum, a buyer can sometimes claim a bulk unit price on a near-retail order, which is exactly the margin leak bulk pricing is supposed to prevent.
A worked example
You sell a product at $20 retail with a fully loaded cost of $12, so retail margin is $8 per unit, 40 percent. You want a three-tier B2B bulk structure, priced by the case of 12, with a 2-case minimum to unlock trade pricing.
| Tier | Cases | Units | Per-unit price | Margin per unit | Margin % |
|---|---|---|---|---|---|
| Trade entry | 2 to 4 | 24 to 48 | $17 | $5 | 29% |
| Volume | 5 to 9 | 60 to 108 | $15.50 | $3.50 | 23% |
| Wholesale | 10+ | 120+ | $14 | $2 | 14% |
Two things to read from this table. First, every tier stays above zero margin, which is the non-negotiable, know your fully loaded cost before you set the deepest tier. Second, the minimum (2 cases) means a buyer taking a single case still pays a price that protects you. The wholesale tier at 14 percent margin is deliberately thin, but it only applies at 120-plus units, where near-zero acquisition cost and clean case fulfillment make thin margin at volume a good trade.
The mistakes that cost margin on big carts
No margin floor on the deepest tier. The most common and most expensive error. If you do not know your loaded cost, your best customers become your least profitable orders.
Bulk pricing that stacks with codes. A buyer who unlocks a bulk tier and then applies a general discount code can push the effective price below your floor. Decide explicitly whether bulk pricing combines with anything else.
Cart-level breaks on mixed carts you did not model. A cart-level tier can trigger on a basket that has no real per-item volume. Model the worst-case cheap-heavy cart before you ship a cart-level break.
Ignoring per-variant cost. If variants have different costs, check the deepest tier against the cheapest variant, not the average, or that variant quietly runs underwater.
Setting this up with Discount Prime
Discount Prime runs bulk discounts natively through Shopify Functions, with case-quantity logic, order minimums, and a choice of line-level or cart-level breaks, so a large B2B cart prices itself at checkout. Pair it with B2B and customer-specific pricing to scope those bulk tiers to your trade accounts, and use volume discounts for the retail side of the same catalog. For the segmentation layer underneath it, see customer tags and segment-based pricing and wholesale pricing on Shopify without Shopify Plus.




