Magento 2 ExtensionCategory Specific Prices

Category-level pricing for customers and customer groups with quantity tiers, priority rules, validity windows, and website scope control.

Category Specific Prices adds category-level pricing control to Magento 2. Instead of maintaining conditions product by product, you define rules once per category and apply them consistently to all assigned products.

Pricing per customer and per customer group: The module supports individual agreements for specific customers and group-based pricing for segments at the same time. This keeps personal conditions and standardized group logic in one setup.

Clear price decision in overlapping cases: When customer and group prices overlap, a defined selection rule determines which price is applied. This keeps pricing behavior transparent and consistent.

Combine quantity tiers and date windows: Tier pricing by quantity can be combined with start and end dates in the same price record. This supports recurring purchase patterns, campaign periods, and contract-based terms.

Global or website-specific control: Pricing rules can be maintained per website. This helps separate strategies for markets, channels, or countries within one Magento installation.

Operational maintenance without detours: Category prices can be maintained in central listings and directly in category, customer, and customer group context. Sales and back-office teams can execute changes faster with less coordination overhead.

Transparency in customer account: If enabled, valid category prices can be downloaded from the "My Prices" area. This reduces clarification loops and supports internal approval flows on the customer side.

Targeted cart logic: Information about whether a customer has valid category prices can be used inside cart rules. This enables segment-specific campaign and discount control.

Useful for B2B and B2C: The module is especially strong for negotiated pricing structures, without being limited to B2B-only use cases.

Category pricing for individual customers

Store negotiated customer-specific conditions at category level and apply them automatically to all relevant products in that category.

Category pricing for customer groups

Assign consistent category pricing rules to customer groups and manage partner, reseller, or special segments efficiently.

Priority rule for consistent price selection

Define whether overlap handling uses priority or prefers customer or group prices to keep decisions predictable.

Quantity tiers with validity windows

Combine quantity-based tiers with start and end dates to model volume agreements and time-limited pricing accurately.

Website scope, price application, and price base

Control category pricing per website and define per rule how prices are applied and which base price is used for multi-market and multi-channel strategies.

Price maintenance in the right admin context

Maintain pricing directly within category, customer, or customer group context to shorten operational workflows.

CSV download in customer account

Provide valid category prices in the "My Prices" area as a download to simplify procurement and approval workflows.

Segment control in cart rules

Use the condition whether a customer has valid category prices to target promotions and discounts precisely.

  • Current Version2.1.2
  • Compatible with Magento 2.4+
  • Compatible with PHP 8.2+

If your environment differs from the listed requirements, we can check compatibility in advance. Please contact us via our contact form.

pricesystem-categoryprice

Version 2.1.2 - 2026-02-19

Added
  • Added listing and modal inside customer edit to manage category prices per customer
Fixed
  • Customer group ID 0 (NOT LOGGED IN) is now treated as a valid group on the customer group edit form for category price assignments
  • Added missing mass action delete support for category customer prices in the category edit tab
  • Fixed category customer and category customer group action links to use working AJAX delete routes
  • Updated customer group selectors in category price forms to use core customer group source without the `ALL GROUPS` option

Version 2.1.1 - 2026-01-26

Changed
  • Now the download path redirects to login if not logged in for a smoother flow (before it was referer URL)

Version 2.1.0 - 2026-01-16

Added
  • Added PHP 8.4 compatibility
  • Added compatibility to pricesystem 2.3.0
Changed
  • Changed to nullable fields for date fields in the database
  • Updated admin UI elements to the newer Magento UI components (forms)

Version 2.0.10 - 2024-03-06

Changed
  • - php Docs

Version 2.0.9 - 2023-06-01

Fixed
  • Added Fallback for Filter Input (Magento 2.4.0)

Version 2.0.8 - 2023-05-28

Fixed
  • Fixed UI component listing

Version 2.0.7 - 2023-05-12

Fixed
  • Dynamic properties declarations are fixed

Version 2.0.6 - 2023-04-16

Added
  • Added cart condition rule for categoryprice
Fixed
  • 2.4.6 compatibility fixes

Version 2.0.5 - 2023-01-25

Added
  • New configuration to show "My Prices" my account link only when custom prices are set to the customer

Version 2.0.4 - 2023-01-16

Fixed
  • Fixed syntax error

Version 2.0.3 - 2023-01-12

Changed
  • Category customer and group prices are merged into one price type
Fixed
  • Fixed dependency issue occuring during setup upgrade (Unable to apply data patch MageB2B\PricesystemCategoryprice\Setup\Patch\Data\AddCategorypriceAttributes)

Version 2.0.2 - 2022-11-28

Added
  • Added PriceProvider for My prices block

Version 2.0.1 - 2022-11-25

Fixed
  • Fixed issues around localized date input format when saved into DB
pricesystem

Version 2.3.5 - 2026-03-19

Added
  • Added function for Adobe Commerce product check

Version 2.3.4 - 2026-03-17

Changed
  • Consolidated frontend price reload into one flow and removed category/search price pipeline parts
  • Reduced duplicate AJAX price reloads and simplified the price AJAX response payload
Fixed
  • Fixed My Prices provider selection handling so the page when opened without a selected price type

Version 2.3.3 - 2026-02-20

Fixed
  • Fixed sort order from system configuration

Version 2.3.2 - 2026-02-19

Changed
  • Removed obsolete zero date checks
Fixed
  • Fixed error in Sales OrderItem API plugin when extension attributes are null
  • Fixed price adjustment matrix preview/apply condition evaluation
  • Fixed pricing context leakage between consecutive `PriceFacade` calls by resetting customer/group/date context after calculation
  • Fixed cache payload serialization for table prices by storing scalar JSON payload instead of native PHP serialization
  • Fixed an issue with displaying custom price column in admin

Version 2.3.1 - 2026-01-26

Fixed
  • Redirect unauthenticated visitors to login on the My Prices page to align with account-only access

Version 2.3.0 - 2026-01-16

Added
  • Added price adjustment feature: mass select prices and update them using a queue job
Changed
  • Magento 2.4.7+ required
  • Improved "My Prices" page: configurable dropdown price types (provider-based) and optional "All prices" view (default: select first)
  • Removed ZERO_DATE_VALUE (0000-00-00) usage, use null instead
  • Changed config path of pricesystem/api_settings/* to pricesystem/api/* (automatic migration)
  • Removed PricesystemCore\Helper\ProductAttribute (in favor of PricesystemCore\Service\ProductService)
  • Removed PricesystemCore\Helper\Data (in favor of PricesystemCore\Service\ Classes)
  • Changed fixed sort_order config fields to config array field (price_sort_order) with automatic migration
  • Updated admin UI elements to the newer Magento UI components (forms)
Fixed
  • Fixed cache invalidation for customer groups after admin save (clear GroupRegistry, invalidate `full_page`, `block_html` and `pricesystem_cache`).
  • Fixed FPC degradation on category/search pages by using HttpContext for `customer_group` detection instead of CustomerSession (no session start, FPC stays group‑varying).
  • Fixed PHP 8.4 deprecation warning by explicitly marking the `$resource` and `$resourceCollection` constructor parameters in `Model\PriceAdjustment` as nullable

Version 2.2.6 - 2025-06-24

Fixed
  • Fixed display of basePrice when tax display (net/gross amount) on detail page is enabled

Version 2.2.5 - 2025-04-23

Changed
  • Changed template path definition of pricesystemcore/index.phtml from Block Class to xml

Version 2.2.4 - 2025-02-28

Fixed
  • Fixed Reflection Error when class of original price type could not be found or loaded
Changed
  • Improved Date Range Validation checks

Version 2.2.3 - 2024-12-12

Fixed
  • Fixed issue when using decimal values for qtys

Version 2.2.2 - 2024-10-27

Added
  • Added another API route to get context-based API prices (automatically from customer session or, when not logged in, from not logged in customer group, see webapi.xml for reference)
Fixed
  • Fixed issue with duplicate AJAX requests when using special trigger contentUpdated

Version 2.2.1 - 2024-09-21

Changed
  • Changed Version class for displaying extension information
Fixed
  • Fixed some issues for Magento_CSP Compatibility

Version 2.2.0 - 2024-08-31

Added
  • Added new API routes /V1/pricesystem/me/get-final-price & /V1/pricesystem/me/get-multi-price to fetch prices for the logged in customer (session) inside Magento 2

Version 2.1.13 - 2024-08-18

Fixed
  • Fixed tier price display for sort order prices with customer discount
  • Show "Skip customer and group discounts application on next available price" config only when Sort Order is set as Price Select Rule

Version 2.1.12 - 2024-08-08

Changed
  • Show last update date from this file inside the system configuration of the extension

Version 2.1.11 - 2024-07-22

Changed
  • Updated README.md

Version 2.1.10 - 2024-07-19

Fixed
  • Fixed CHANGELOG.md

Version 2.1.9 - 2024-03-24

Version 2.1.8 - 2024-03-06

Version 2.1.7 - 2024-03-05

Changed
  • Changed cache key of getProductPrices to include customerId and groupId
Fixed
  • Fixed an issue on display pricesystem discount for configurable products at the My Orders page in frontend
  • Fixed an issue with displaying up- and cross sell prices on special conditions

Version 2.1.6 - 2023-12-28

Changed
  • Changed hard coded groupId 0 to GroupManagement::NOT_LOGGED_IN_ID

Version 2.1.5 - 2023-11-29

Fixed
  • Fixed issue with shipment tab on frontend my orders section if display of custom view template was enabled

Version 2.1.4 - 2023-11-08

Fixed
  • Fixed discount text for configurables with tier prices

Version 2.1.3 - 2023-11-06

Fixed
  • Fixed tier price display for configurable products

Version 2.1.2 - 2023-09-16

Fixed
  • Fixed double currency conversion in cart

Version 2.1.1 - 2023-08-14

Fixed
  • Fixed double currency conversion in cart

Version 2.1.0 - 2023-06-04

Added
  • Virtual products support

Version 2.0.26 - 2023-06-03

Added
  • New configuration to add routes, for which ajax price request should not be done

Version 2.0.25 - 2023-05-16

Fixed
  • Added rounding for price discount calculations

Version 2.0.23 - 2023-05-14

Added
  • "product" object is passed to Customized Price

Version 2.0.22 - 2023-05-13

Added
  • Added new config to check for customer discount / customer group discount for price codes

Version 2.0.24 - 2023-05-12

Fixed
  • Pricesystem discount amount reload after cart qty update

Version 2.0.21 - 2023-05-12

Fixed
  • Dynamic properties declarations are fixed

Version 2.0.20 - 2023-05-06

Fixed
  • Incorrect tier price on PDP for configurable product on qty change

Version 2.0.19 - 2023-04-16

Added
  • Added new system configuration "Show From Price for Configurables" to show the lowest price from all simple tiers as the configurable price

Version 2.0.18 - 2023-03-22

Fixed
  • Fallback solution for DefaultConfigProvider on Original price, if e.g. configured_original_price is set

Version 2.0.17 - 2023-03-21

Added
  • Added cart condition rules for customer discount and customer group discount
Fixed
  • Added an additional check to prevent JS error for the discount text when oldPrice is not available from the template
  • Fallback solution for "configured_original_price" price type, previously resulted in an offset issue on admin order display

Version 2.0.16 - 2023-03-01

Fixed
  • Fixed an issue that disabled products were shown under my prices section in frontend

Version 2.0.15 - 2023-02-21

Fixed
  • Fixed a JS issue undefined priceSystem when module is not enabled on a specific website

Version 2.0.14 - 2023-02-15

Fixed
  • Fixed an issue when a custom price record was inserted with a qty of 0, it was falsely considered as tierprice within getTierPriceList function

Version 2.0.13 - 2023-02-14

Fixed
  • Fixed an issue which could lead to wrong prices when the config "Store View Code in URL" is active

Version 2.0.12 - 2023-02-09

Fixed
  • Fixed phpDoc for swagger for recent get-multi-price API feature

Version 2.0.11 - 2023-02-07

Added
  • New /V1/pricesystem/get-multi-price API call to retrieve final and tier prices for multiple skus

Version 2.0.10 - 2023-01-28

Fixed
  • Fixed /V1/pricesystem/get-final-price API call
Changed
  • Removed redundant ACL node MageB2B_PricesystemCore::pricesystem (use MageB2B_PricesystemCore::main instead)

Version 2.0.9 - 2023-01-25

Added
  • New configuration to show "My Prices" my account link only when custom prices are set to the customer

Version 2.0.8 - 2023-01-12

Added
  • Optional websiteId parameter is added to the PriceRequest to return website specific prices
  • Added trait PriceSelectByPriorityTrait
Changed
  • Changed categoryprice pricetype: It's now merged into one pricetype

Version 2.0.7 - 2022-11-28

Changed
  • Changed the CLI command to be pricesystem:get-final-price (previously mageb2b:product:get-customer-price), added a more descriptive text around the options of this CLI
  • Changed My Prices page to display all available tier qtys of a price type

Version 2.0.6 - 2022-11-25

Added
  • Added new method convertInputDate which will be used for all localizated date conversions into DB date for non post data processors
Fixed
  • Fixed issue occuring when access swagger page of Magento 2

Version 2.0.5 - 2022-11-24

Fixed
  • Fixed issue when fallback to regular price was taking into account: TypeError: MageB2B\PricesystemCore\Model\Catalog\Pricing\FinalPriceProvider::saveUsedPriceData(): Argument #1 ($usedPriceInfo) must be of type MageB2B\PricesystemCore\Model\Catalog\Pricing\Price\CustomizedPriceDecorator

Version 2.0.4 - 2022-11-24

Fixed
  • Fixed issue on pricelist product grid when neither customer nor a group was selected, the custom price renderer throwed an exception
  • Fixed issue with the pricesystem discount amount on admin order view grid, previously it was not displaying the amount in the ordered currency

Version 2.0.3 - 2022-11-17

Fixed
  • Fallback to the regular price is done, when custom price cannot be calculated

Version 2.0.2 - 2022-11-12

Changed
  • Changed function getWebsitesForForm to add default parameter $addAllWebsites, value false

Version 2.0.1 - 2022-11-11

Fixed
  • Fixed issue with infinite scroll price update

Version 2.0.0 - 2022-11-01

Added
  • Added new config "Hide price filter from layered navigation for customers"
  • Added new config "Reload prices with ajax for guests"
  • Added new config "Price Cache Lifetime"
  • Added new config "Skip greater tier prices"
  • Added new config "Show custom price column in backend grids (customer price grid, pricelist products grid)"
  • Added CLI to fetch final price based on pricesystem calculation (see: bin/magento mageb2b:product:get-customer-price)
  • Added API method to fetch final price based on pricesystem calculation
Changed
  • Magento 2 Compatibility only 2.4.x
  • Refactored the methods of calculating the prices using M2-core approach, it will improve the speed and compatibility of customizations
  • Refactored the logging to be more accurate and increase readability
  • Remove usage of own pricesystem index table
  • Changed the way pricesystem cache works: You can now define an own cache lifetime, considering that datasets can have dates in future its not recommend to increase it to more than 24 hours
  • Changed the price rendering to be ajax-based on detail page as well to prevent FPC-issues
  • Changed the way the custom price column in admin is rendered, its now done via AJAX to always get the correct amount
  • Removed some obsolete configuration settings
Fixed
  • Fixed issue with strike price now being applied correctly from the original price set from pricesystem
  • Fixed issue with display of the correct pricesystem discount and pricesystem price type

Version 1.1.11 - 2022-08-08

Fixed
  • Fixed issue with new customer group on admin save of pricesystem attributes

Version 1.1.9 - 2022-07-28

Fixed
  • Fixed Pricesystem API URL Checkout for getActual... methods

Version 1.1.8 - 2022-07-27

Changed
  • Change price box from display: none to visilbity:hidden to prevent custom theme issues/jumping of product blocks

Version 1.1.7 - 2022-07-25

Fixed
  • Whitelist additional routes

Version 1.1.6 - 2022-07-24

Fixed
  • Fixed issue on getTierPrice function
  • Fixed logger message issue when message is null
  • Ensure quote plugin is applied on checkout API calls (e.g. order placement)

Version 1.1.5 - 2022-07-21

Fixed
  • Fixed ID issue on price warming

Version 1.1.4 - 2022-07-21

Changed
  • Add prices reload for SM_SHOBY extension ajax pagination
  • Add price warming on category price ajax reqeust to ensure price index table

Version 1.1.3 - 2022-07-21

Changed
  • Added Sm_ShopBy for event ajax trigger on footer

Version 1.1.2 - 2022-07-20

Changed
  • Added new bind return for getCustomerprice()

Version 1.1.1 - 2022-07-20

Changed
  • Fixed tierprice issue on custom sort order

Version 1.1.10 - 2020-08-05

Fixed
  • Fixed isset issues of pricesystem attributes during save in admin
pricesystem-categoryprice-importexport

Version 1.1.0 - 2026-01-16

Added
  • Added compatibility to pricesystem 2.3.0

Version 1.0.9 - 2025-10-28

Fixed
  • Return a proper download response for the sample file so the browser saves the file instead of rendering it inline

Version 1.0.8 - 2025-08-08

Fixed
  • Fixed issue on calling Data::checkDateFormat instead of DateService::checkDateFormat

Version 1.0.7 - 2025-07-05

Added
  • Added README.md and CHANGELOG.md
Changed
  • Removed dependency of MageB2B\PricesystemCore\Helper\Data

Version 1.0.6 - 2025-02-25

Fixed
  • Fixed listing of categoryprice grid

Version 1.0.5 - 2022-12-27

Fixed
  • Fixed undefined constant on sample file download

Version 1.0.4 - 2022-11-30

Fixed
  • Fixed composer.json version constraint
  • Fixed setup:upgrade

Version 1.0.3 - 2022-07-18

Fixed
  • Fixed constant in registration.php

Version 1.0.2 - 2022-05-28

Fixed
  • Fixed composer.json

Version 1.0.1 - 2022-05-17

Changed
  • Update composer.json

Version 1.0.0 - 2022-04-26

Added
  • Added initial version
pricesystem-categoryprice-api

Version 1.0.2 - 2025-07-07

Added
  • Added CHANGELOG.md

Version 1.0.1 - 2024-07-25

Changed
  • Updated PHPdocs

Version 1.0.0 - 2022-05-11

Added
  • Initial version
pricesystem-categoryprice-graph-ql

Version 2.0.0 - 2026-02-02

Added
  • Initial module version
pricesystem-hyva

Version 1.0.0 - 2025-07-27

Added
  • Initial version
Module-Specific Questions
What is the biggest day-to-day advantage of category-specific pricing?

Rules are maintained once per category and immediately affect all assigned products, which reduces effort and accelerates rollout of agreed conditions.

How can customer pricing and customer group pricing be used together?

Both pricing models can run in parallel, and a defined selection rule ensures a reliable and consistent result when records overlap.

How does the module handle volume agreements and time-limited terms?

Quantity tiers and date windows are stored directly in price records, so volume discounts and temporary agreements apply automatically at the right time.

How can pricing logic be separated across multiple websites?

Website-scoped pricing supports different rules per market or channel without requiring separate external processes.

Where can teams maintain category prices most efficiently?

Maintenance works in central price lists and directly in category, customer, and customer group context, which shortens operational handling.

How do customers access their valid category prices?

The "My Prices" area provides a transparent view of active conditions and can offer CSV download for internal purchasing workflows.

How does this support targeted cart promotions?

Cart rules can evaluate whether valid category prices exist, enabling cleaner segmentation for campaigns and discount logic.

Is this module only relevant for B2B stores?

Category pricing is highly effective for negotiated B2B terms and also valuable in B2C scenarios with segment-based pricing strategies.

General Questions
How many Magento installations is the license valid for?

The license is valid for one Magento installation, including multi-website operation. In addition, the module may be installed on any number of development or staging servers. You can find further details in our license terms.

Is installation included in the price?

Installation and configuration are not included in the price. On request, we can support you with a smooth integration into your system.

What payment methods are available?

You can pay by credit card (Stripe) or bank transfer (prepayment). For credit card payments, the order is processed immediately and the access credentials are provided directly in a separate follow-up email.

What does the order process look like?

After credit card payment, you immediately receive access credentials to obtain the module via Composer. For bank transfer, access is granted once the invoice is paid.

I need a custom modification of the module. Is that possible?

Custom requests are no problem. We tailor our Magento 2 modules to your project and maintain a dedicated internal version so we always know exactly what runs on your system for support.

Can I install a demo version locally?

On each module detail page, you can request your own demo instance and test the module intensively for 7 days. However, we do not provide a local demo version.

Is the source code encrypted?

No, the source code of our modules is not encrypted. If you need a customization, feel free to send us a request. We will get back to you promptly with a non-binding quote.

What is the update policy and support?

You can add a support package to your order. It includes assistance as well as updates and upgrades related to the module. No continuous subscription is required.

I already have a license. How can I perform an update?

You can complete the license update here. If you have an active support package, you receive updates automatically via Composer. If your support package has expired, you can renew your license here or in your account.

I have another question — how can I contact you?

You can reach us anytime via eMail.

Category Specific Prices

×

Ideal for these industries & use cases

Wholesale Category Pricing

Set discounted pricing for entire product categories for wholesale customer groups. Instead of setting individual product prices, define one category price that applies to all 200+ products in your wholesale category. Wholesale customers automatically see discounted prices on all items when they log in, while retail customers see standard pricing.

VIP Category Discounts

Reward VIP customers with exclusive pricing on premium product categories. Set category-level prices with high priority values that override standard group pricing. VIP members automatically receive 15% off on luxury items, 20% off on seasonal collections, and 25% off on bulk orders, all managed through simple category price rules.

Seasonal Category Campaigns

Schedule promotional pricing for entire product categories during peak seasons. Set winter category pricing from December-February with automatic activation and deactivation. Configure summer clearance pricing for specific customer groups with precise date ranges, eliminating manual price changes and ensuring campaigns run exactly as planned.

Multi-Brand Category Management

Manage pricing for different brands as separate categories with brand-specific customer groups. Brand A distributors see wholesale pricing on Brand A category, Brand B distributors see pricing only for Brand B. Use priority system to handle customers who distribute multiple brands, with customer-specific overrides for key accounts.

Regional Category Pricing

Set different category prices for different regions using multi-website support. US wholesale customers see USD pricing on electronics category, EU customers see EUR pricing, APAC customers see different rates. Combined with customer groups, this enables sophisticated regional pricing strategies without complex product-level management.

Contract-Based Category Pricing

Implement annual contracts with category-level pricing agreements. Set 12-month pricing for industrial supplies category for key accounts, scheduled to auto-renew. Use quantity tiers within categories to reward volume commitments: tier 1 for monthly minimums, tier 2 for quarterly targets, tier 3 for annual commitments, all managed at the category level.

Try it without risk

Request a personal demo instance and evaluate the module directly in backend and frontend under real conditions — without local installation.

For developers

Practical Magento 2 guides, technical developer documentation, and API references (REST, SOAP, GraphQL) for installation, configuration, and troubleshooting.

Go to Knowledge Base