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:

QtyPriceApplied When
1$100Cart qty 1-9
10$95Cart qty 10-49
50$90Cart qty 50-99
100$80Cart 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:

  1. Add price: Product = Widget-X, Customer = ABC, Qty = 1, Price = $100
  2. Add price: Product = Widget-X, Customer = ABC, Qty = 10, Price = $95
  3. 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,0

Frontend 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

  1. Plan tiers strategically: Common breaks are 1, 10, 25, 50, 100, 500
  2. Ensure descending prices: Each tier should be lower than previous
  3. Document in contracts: Match tiers to customer agreements
  4. 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

Found an issue with this documentation? Let us know