quantity_price_break
Each item in variant.quantity_price_breaks is a quantity_price_break.
Breaks are ordered by minimum_quantity; price is in the store currency’s
minor unit and should be formatted with the money filter.
Price-break list
{% if variant.quantity_price_breaks_configured? %} <ul> {% for price_break in variant.quantity_price_breaks %} <li> Buy {{ price_break.minimum_quantity }}+: {{ price_break.price | money }} each </li> {% endfor %} </ul>{% endif %}Example output:
<ul> <li>Buy 5+: ₹1,350.00 each</li> <li>Buy 10+: ₹1,200.00 each</li></ul>The price is the per-unit price once that break’s minimum is met; it is not
the price of the entire quantity. The applicable break is the one with the
largest minimum_quantity that does not exceed the requested quantity.
Product-card guard
{% assign variant = product.selected_or_first_available_variant %}{% if product.quantity_price_breaks_configured? and variant %} <p>Volume pricing available</p> {% render 'quantity-breaks', variant: variant %}{% endif %}The product flag is true when any product variant has a break. Always render
the prices from the chosen variant. When no breaks apply,
variant.quantity_price_breaks is an empty array and
variant.quantity_price_breaks_configured? is false.
Sellerlane derives this portable view from its bulk-pricing tiers. Prices are catalog-wide; B2B customer/catalog-specific price-break contexts and selling plans are intentionally unavailable.
Properties
| Property | Description |
|---|---|
quantity_price_break.minimum_quantity | Quantity at which this per-unit price begins to apply. |
quantity_price_break.price | Per-unit price that applies from minimum_quantity, in the smallest currency unit. |
Property list is generated from the storefront engine (QuantityPriceBreakDrop), so it always matches what your theme can use. Use {{ price_break | json }} only as a curated debug snapshot; it can omit lazy or otherwise public properties.