In B2B, the unit price falls as quantity rises. Professional buyers expect this mechanism, and setting it up on PrestaShop raises three questions: how to build the tier table, how to display it, and what to do beyond the last tier.
Building the tier table
Three principles before entering anything.
Three to five tiers are enough. Beyond that the table becomes unreadable and the gaps between tiers get too small to motivate a move up.
Tiers follow your real packaging. If your product ships in cases of twelve, your tiers are 12, 36, 72, not 10, 50, 100. The buyer orders in cases.
The gap between tiers must be meaningful. A discount going from 5 to 7 percent does not change behaviour. Three to five points per tier is a working benchmark.
A point of method: build the table from your margin, not from an arbitrary percentage. The logistics cost of a hundred-unit order is not a hundred times that of a single unit, and it is that saving the discount shares out.
The mechanism inside PrestaShop
The feature exists natively, as specific prices with a minimum quantity attached.
You create one specific price per tier, each with its triggering quantity and its reduction. The system applies the one matching the quantity ordered.
Four parameters to master.
Quantity is counted per order line, not per cart. A customer ordering twelve units of two different references does not trigger the twenty-four tier.
The customer group lets you reserve the table for professionals, which is usually what you want.
The combination can be targeted, or left empty to cover every variant of the product.
The date range allows temporary tables, for a commercial campaign.
A point of caution: on a product with combinations, is quantity counted per combination or across all of them? Natively, per combination. A customer taking six units in blue and six in red does not trigger the twelve tier, which will surprise them.
Display, which makes the difference
An invisible table produces no effect. This is the point most often neglected.
Four elements to show on the product page.
The full table, as a grid: quantity, unit price, saving. The customer must see every tier, not only the one they reach.
The tier currently reached, highlighted once a quantity is entered.
The distance to the next tier, phrased as an action: “add 8 units to reach 4.20 per unit”. This is the message that grows the basket.
The total amount for the chosen quantity, calculated at the applicable tier price.
The third point is the one that produces the commercial effect. On well-calibrated tiers, a buyer close to the threshold very often tops up their order.
The cart and the summary
Three checks, often failing.
The unit price shown in the cart must be the tier price, not the base price with a separate line discount. The professional buyer thinks in unit prices.
Recalculation when the quantity changes must be immediate. A customer moving from ten to twenty units must see the unit price drop without a page reload.
The invoice must carry the applied unit price, which is both clearer and fairer than showing a list price with a discount attached.
DataFirefly B2B Quote RequestSell B2B: from quote to order, without leaving PrestaShop€79.00
What the table does not cover
Three situations where the native mechanism reaches its limits.
Quantity pooled across several references. A customer ordering a hundred units spread over five products in the same range often expects a volume discount. A per-product specific price cannot do that.
Quantity pooled over a period. Some commercial terms cover an annual volume rather than a single order. That is year-end rebate logic, handled outside the catalogue.
Individually negotiated terms. A major customer has their own table, matching none of your pricing categories. Multiplying customer groups for this quickly becomes unmanageable.
This last case is the most frequent in established B2B, and it calls for a different answer.
Beyond the last tier
The point that decides whether you can handle large orders.
What happens when a customer asks for a thousand units while your last tier stops at two hundred? Three options.
Apply the last tier. Simple, and you lose your negotiating room on a significant order.
Block the order above a threshold, which is frustrating for the customer.
Switch to a quote request. This is the right answer: beyond a certain volume the price is negotiated, lead times are discussed, and logistics need organising.
In practice this means a “request a quote for a larger quantity” button below the table, and a threshold above which it replaces the add to cart.
This switch has another benefit: it puts you in contact with a significant buyer, which is a chance to build a relationship rather than take an anonymous order.
Consistency with your terms of sale
Three points to check.
The advertised discounts must match the ones applied. A table shown on the product page and a different calculation in the cart produce a legitimate complaint.
Your terms of sale must mention the existence of quantity discounts and how they work.
The invoice must let the calculation be traced back, which is a formal requirement and a practical necessity for the customer’s own accounting.
Measuring
Four indicators.
The distribution of orders by tier. If nobody reaches the third one, it is badly calibrated or badly displayed.
The rate of moves to the next tier after the proximity message is shown. This is the direct effect of your display.
The average quantity per line, before and after the table goes live.
The margin per tier, which checks that your table stays profitable at high volumes. This is the control most often missing.
The B2B Quote Request module for PrestaShop handles the case of volumes outside the table on PrestaShop 8 and 9: a quote request button shown above a configurable quantity threshold, a form tied to the product and the quantity requested, and back office tracking of requests with a priced reply convertible into an order.