For the complete documentation index, see llms.txt. This page is also available as Markdown.

Progressive case multiples & loose unit pricing

Let buyers order full cases plus a few loose units, and charge a different price for each β€” globally or per volume tier.

A plain case multiple is strict: multiples of 50 only, and 55 is rejected. That is correct for some products and infuriating for others.

Loose unit pricing relaxes it. Buyers still get case pricing on full cases, but they can add leftover units on top, at a price you set separately.

What the buyer experiences

With a case multiple of 50, a case price of $7.00 and a loose price of $7.20:

Ordered
Charged

50

50 Γ— $7.00

55

50 Γ— $7.00, then 5 Γ— $7.20

100

100 Γ— $7.00

110

100 Γ— $7.00, then 10 Γ— $7.20

At checkout the line splits into two discount lines β€” one for the case quantity, one for the loose units. That is expected, and it is why tags have a separate Loose discount title: so the second line reads sensibly to the buyer. See Customer tags & columns.

The three loose pricing modes

Set the mode in the cell's settings panel.

No loose pricing

The strict behaviour. Only exact multiples of the case size are allowed, and anything else is rejected at checkout. The single-unit price field disappears, because there is no such thing.

Choose this when the product genuinely cannot ship broken β€” sealed pallets, regulated goods.

Global (same for all tiers)

One loose price applies to every leftover unit, no matter how large the order.

Case multiple 50, tiers at 50/100/150, loose price $7.20. Order 155 β†’ 150 at the 150-tier price, 5 at $7.20.

Choose this when breaking a case has a fixed handling cost that does not change with order size. It is the simplest option to maintain.

Per-tier (different per tier)

Each volume tier carries its own loose price, so loose units get cheaper as the order grows.

  • 50+ β†’ $7.00 per case unit, loose at $7.20

  • 100+ β†’ $6.50 per case unit, loose at $7.00

  • 150+ β†’ $6.00 per case unit, loose at $6.80

Choose this when your loose-unit premium should shrink for larger accounts. It is the most faithful to how most distributors actually price, and the most work to maintain.

Setting it up

  1. Open the price list editor and find the variant.

  2. Open the cell settings for the tag.

  3. Set the Case multiple.

  4. Choose the discount mode β€” Specific price, Percentage or Fixed amount. See discount types.

  5. Choose the loose pricing mode β€” No loose pricing, Global (same for all tiers) or Per-tier (different per tier).

  6. Add your volume tiers, and a loose price for each tier if you chose per-tier.

  7. Save.

Tiers above the base tier should be multiples of the case size. A tier at 130 with a case multiple of 50 is unreachable through case quantities alone and will behave confusingly.

In CSV

Loose pricing is encoded in the same cell:

  • 1:10 β€” $10 each below the first case break

  • 50:7 and 100:6.5 β€” the case tiers

  • c:50 β€” case multiple of 50

  • l:7.2 β€” a global loose price of $7.20

For per-tier loose prices, use l:<tier qty>:<price> once per tier:

Full grammar in CSV import & export.

On the storefront

The Volume Tiers block shows loose pricing in its own column, labelled by the Single unit column label setting (default Single Unit). Buyers can then see both prices side by side before they choose a quantity.

The Validation Message block still explains the case rule, but with loose pricing enabled it no longer signals an error for off-multiple quantities β€” those are now legal.

Why the checkout shows two discounts

Because two different prices apply to two parts of the same line, and Shopify represents that as two discount lines against a split line item. It is normal. Name them clearly with Discount title and Loose discount title so buyers and your support team can tell them apart.

Last updated