Customer-Specific Prices

Assign unique product prices to individual customers with full support for quantity tiers, date ranges, and multi-website scoping.

Overview

Customer Prices allow you to:

  • Set specific prices per customer per product
  • Define quantity-based price breaks
  • Schedule prices with start/end dates
  • Scope prices to specific websites

Database Structure

Column Type Description
entity_id INT Product ID
customer_id INT Customer ID
qty DECIMAL Quantity threshold
value DECIMAL Price value
from_date DATE Valid from
to_date DATE Valid until
price_application_type TINYINT Price application mode (fixed/surcharge/discount/%).
price_attribute_id SMALLINT Optional base price attribute used for calculations.
website_id INT Website scope

Creating Customer Prices

Via Admin Panel

  1. Navigate to Pricesystem > Customerprice > All Customerprices
  2. Click Add New
  3. Fill in the form:
    • Select Product (searchable dropdown)
    • Select Customer (searchable dropdown)
    • Enter Quantity (minimum qty for this price)
    • Enter Price value
    • Select Price Application Type (Fixed / Surcharge / Surcharge % / Discount / Discount %)
    • Select Base Price (optional)
    • Set From Date and To Date (optional)
    • Select Website scope
  4. Click Save Customerprice

Quantity Tiers Example

To set up volume discounts for Customer ABC on Product XYZ:

Qty Price Notes
1 $100 Standard price
10 $95 5% discount
50 $90 10% discount
100 $80 20% discount

Create 4 entries with the same customer/product but different qty values.

Time-Based Pricing

For promotional periods, set date ranges:

  • Contract pricing: from_date = contract start, to_date = contract end
  • Seasonal pricing: from_date = season start, to_date = season end
  • No dates: Price always active

Customer "My Prices" Feature

If My Prices is enabled and the customer is logged in, they can view and download assigned prices:

  1. Customer logs into their account
  2. Navigates to My Prices section
  3. Selects a price type and views available prices for that selection
  4. Downloads prices as CSV (if enabled)

Enable at: Stores > Configuration > MageB2B > Pricesystem > Customerprice settings > Enable download link

Validation Rules

  • Frontend scope: Guest sessions do not resolve customer-specific prices; API/admin flows can resolve a customer explicitly by ID
  • Unique constraint: (entity_id, customer_id, qty, from_date, to_date, website_id)
  • Date validation: date format is validated; there is no enforced from_date <= to_date rule in the current save flow

Use Cases

Contract Pricing

Set negotiated prices for specific customers with contract validity dates.

Volume Discounts

Reward bulk purchases with quantity-based tier pricing.

Seasonal Promotions

Time-limited pricing for specific customers during promotional periods.

Regional Pricing

Different prices per website for multi-region operations.

Best Practices

  1. Use date ranges for contract pricing to auto-expire
  2. Set website scope for regional pricing
  3. Document qty tiers in customer contracts
  4. Regular audits to clean expired prices

Found an issue with this documentation? Let us know