Category-Based Pricing

Set prices at the category level to affect hundreds of products with a single rule. Supports both individual customer and customer group pricing.

Overview

Category Prices provide:

  • Bulk efficiency: One rule affects all products in a category
  • Dual support: Customer-specific AND group-based pricing
  • Priority system: Conflict resolution with numeric priorities
  • Selection strategies: Three ways to resolve customer vs group conflicts

Two Pricing Tables

Customer Category Prices

Table: pricesystem_categoryprice

Assign category prices to individual customers.

Group Category Prices

Table: pricesystem_categoryprice_customergroup

Assign category prices to customer groups (Wholesale, Retail, VIP, etc.)

Creating Category Prices

For Individual Customers

  1. Navigate to Pricesystem >Category Prices > Customer
  2. Click Add New
  3. Select:
    • Category from searchable selector
    • Customer (searchable)
    • Quantity threshold
    • Price value
    • Price Application Type
    • Base Price (optional)
    • Website scope
    • Date range (optional)
  4. Save

For Customer Groups

  1. Navigate to Pricesystem >Category Prices > Customer Groups
  2. Click Add New
  3. Select:
    • Category from searchable selector
    • Customer Group (Wholesale, Retail, etc.)
    • Quantity threshold
    • Price value
    • Price Application Type
    • Base Price (optional)
    • Website scope
    • Date range (optional)
  4. Save

Priority Notes

Priority exists in the data model, but in this module version the standard admin forms do not expose a priority input field.

When both customer and group category prices are present for the same context, selection follows the configured category-price select rule.

Equal-result tie-break behavior can still depend on global Pricesystem selection strategy settings.

Selection Strategies

Configure at Pricesystem >Categoryprice Settings > Price Select Rule:

1. Select price by priority (Default)

Compare priority fields; higher wins.

2. GROUP_PRICE_FIRST

Always use group price, ignore customer price.

3. CUSTOMER_PRICE_FIRST

Always use customer price, ignore group price.

Use Case Examples

Wholesale Category Discount

All products in "Bulk Materials" category get 40% off for wholesale group:

  • Category: Bulk Materials
  • Group: Wholesale
  • Price Application: Percentage (40%)
  • Priority: 10 (for integration/import-driven setups where priority is managed outside the standard form)

VIP Override

Customer ABC gets special pricing on electronics:

  • Category: Electronics
  • Customer: ABC Corp
  • Price: Fixed ($500 per product in matching category)
  • Priority: 30 (for integration/import-driven setups where priority is managed outside the standard form)

Best Practices

  1. Use groups for bulk - Easier maintenance
  2. Reserve high priority for special customers if you manage priority through integration/import
  3. Document priority scheme in internal wiki
  4. Test with staging before production changes

Found an issue with this documentation? Let us know