Quantity-Based Pricing
All pricing modules support quantity-based tiers, enabling volume discounts across customer prices, category prices, pricelists, and matrix rules.
How It Works
Each price entry includes a qty field representing the minimum quantity threshold:
| Qty | Price | Applied When |
|---|---|---|
| 1 | $100 | Cart qty 1-9 |
| 10 | $95 | Cart qty 10-49 |
| 50 | $90 | Cart qty 50-99 |
| 100 | $80 | Cart qty 100+ |
The system selects the tier where cart quantity >= tier qty.
Module Support
Customer Prices
Create multiple entries for same customer/product with different qty values.
Category Prices
Apply qty tiers to entire categories for customers or groups.
Price Lists
Each product in a pricelist can have multiple qty entries.
Note: "Multi-Qty Price" is checked in the pricelist API save flow for qty-handling behavior.
Product-Customer Matrix
Qty field in main matrix applies to all matching products.
Configuration
Skip Greater Tier Prices
Stores >Config > Pricesystem > Price Calculation > Skip Greater Tier Prices
When enabled: If qty tier price is greater than or equal to the current final price, the tier is skipped.
Prevents accidental price increases on bulk orders.
Price List Merge
Stores >Config > Pricesystem > Pricelist Settings > Merge Pricelist Qtys
When disabled, lower-priority pricelists are ignored (same highest-priority lists can still combine qty tiers). When enabled, lower-priority pricelists can also join the qty-tier merge.
Creating Qty Tiers
Admin Example (Customer Prices)
For Widget-X and Customer ABC:
- Add price: Product = Widget-X, Customer = ABC, Qty = 1, Price = $100
- Add price: Product = Widget-X, Customer = ABC, Qty = 10, Price = $95
- Add price: Product = Widget-X, Customer = ABC, Qty = 50, Price = $90
CSV Import Example
product_sku,customer_email,qty,price,website_id WIDGET-X,abc@example.com,1,100.00,0 WIDGET-X,abc@example.com,10,95.00,0 WIDGET-X,abc@example.com,50,90.00,0Frontend Display
Tier prices display on product pages showing all available breaks:
Buy 1-9: $100 each Buy 10-49: $95 each (5% savings) Buy 50+: $90 each (10% savings)
Configuring Display
Stores >Configuration > MageB2B > Pricesystem > Display settings:
- Show tierprices: Yes/No
- Display discount text on product view pages: Yes/No
- Display discount text on listing pages: Yes/No
Best Practices
- Plan tiers strategically: Common breaks are 1, 10, 25, 50, 100, 500
- Ensure descending prices: Each tier should be lower than previous
- Document in contracts: Match tiers to customer agreements
- Test edge quantities: Verify behavior at tier boundaries
Troubleshooting
Tier Not Applying
- Check qty value matches or exceeds tier threshold
- Verify date validity if applicable
- Check website scope
- Review priority if multiple rules exist
Wrong Tier Selected
- System uses highest qty tier that cart qty meets
- E.g., Cart qty 25 with tiers at 1, 10, 50 uses qty 10 tier
