Magento 2 Extension Pricesystem
Unify customer prices, category prices, pricelists, and product-customer matrix rules with priorities, quantity tiers, and validity windows.
Pricing System extends Magento 2 with one connected pricing logic for individual agreements, segment pricing, and contract conditions. Instead of maintaining isolated rule sets, you manage all relevant price types in one coordinated setup.
Four pricing modules in one package: The suite combines Customer Specific Prices, Category Specific Prices, Pricelists, and Product-Customer Matrix in one shared rule framework. This supports both simple and advanced pricing strategies without system breaks.
Customer-specific prices for direct agreements: Store fixed prices per customer and product, add quantity tiers, and control validity periods for time-bound conditions.
Category prices for scalable segment logic: Define pricing rules on category level for customers and customer groups. This applies conditions to full assortments instead of single products.
Pricelists for structured contract models: Work with named pricelists, customer assignments, customer-group assignments, and website-level base pricelists to keep agreements organized.
Product-customer matrix for precise rule combinations: Link product attributes and customer attributes in one rule, use AND/OR logic, and set priorities for overlapping matches.
Clear priority and fallback decisions: When multiple price types match, the configured order determines the effective price transparently. This keeps behavior consistent even in large rule setups.
Quantity tiers, date control, and website scope: Combine volume pricing with start and end dates, and maintain strategies globally or per website.
Customer-account transparency: Assigned customers can see valid prices in "My Prices." CSV downloads depend on active pricing modules, while the core module provides the shared price view.
Efficient for sales and e-commerce teams: Pricing rules are maintained in the right admin contexts and can be adjusted faster as agreements grow.
Especially strong for B2B, without excluding B2C: The suite supports negotiated commercial relationships and segment-based B2C pricing models alike.
Optional extension: With Advanced settings (Add-On), you can fine-tune price priority logic, define individual selection rules, and apply formula-based pricing for specific calculation needs.
Four pricing modules in one suite
Combine Customer Specific Prices, Category Specific Prices, Pricelists, and Product-Customer Matrix in one coordinated pricing system.
Customer-specific prices per customer and product
Execute negotiated price agreements directly per customer with quantity tiers and validity windows.
Category pricing for customers and groups
Apply pricing logic to full categories and control customer and group conditions without per-product maintenance.
Named pricelists with assignments and base fallback
Organize contract pricing with named pricelists, direct assignments, and base pricelists per website.
Product-customer matrix with AND/OR logic
Combine product and customer attributes in precise rules to control complex pricing agreements.
Priority logic for overlapping rules
Define which price type wins when multiple rules match and keep final price decisions consistent.
Quantity tiers and validity windows
Combine volume pricing with start and end dates for campaign periods and contract phases.
Website scope with clear fallback behavior
Separate pricing strategies per website and keep consistent price output through defined fallback logic.
Transparent customer account price view
Show customers the relevant valid prices in "My Prices" and support internal purchasing workflows.
Maintenance in the right admin context
Edit pricing rules in central listings and directly in customer, category, pricelist, or matrix context.
Precise cart-rule targeting by price type
Use available pricing conditions to target promotions and discounts to the right customer segments.
Advanced priority logic and formulas (Add-On)
Add fine-grained selection logic, custom rule orders, and formula-based pricing for advanced scenarios.
- Current Version2.3.5
- Compatible with Magento 2.4.7 - 2.4.8
- Compatible with PHP 8.1 - 8.5
If your environment differs from the listed requirements, we can check compatibility in advance. Please contact us via our contact form.
Version 2.3.5 - 2026-03-19
- Added function for Adobe Commerce product check
Version 2.3.4 - 2026-03-17
- 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 My Prices provider selection handling so the page when opened without a selected price type
Version 2.3.3 - 2026-02-20
- Fixed sort order from system configuration
Version 2.3.2 - 2026-02-19
- Removed obsolete zero date checks
- 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
- Redirect unauthenticated visitors to login on the My Prices page to align with account-only access
Version 2.3.0 - 2026-01-16
- Added price adjustment feature: mass select prices and update them using a queue job
- 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 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 display of basePrice when tax display (net/gross amount) on detail page is enabled
Version 2.2.5 - 2025-04-23
- Changed template path definition of pricesystemcore/index.phtml from Block Class to xml
Version 2.2.4 - 2025-02-28
- Fixed Reflection Error when class of original price type could not be found or loaded
- Improved Date Range Validation checks
Version 2.2.3 - 2024-12-12
- Fixed issue when using decimal values for qtys
Version 2.2.2 - 2024-10-27
- 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 issue with duplicate AJAX requests when using special trigger contentUpdated
Version 2.2.1 - 2024-09-21
- Changed Version class for displaying extension information
- Fixed some issues for Magento_CSP Compatibility
Version 2.2.0 - 2024-08-31
- 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 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
- Show last update date from this file inside the system configuration of the extension
Version 2.1.11 - 2024-07-22
- Updated README.md
Version 2.1.10 - 2024-07-19
- 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 cache key of getProductPrices to include customerId and groupId
- 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 hard coded groupId 0 to GroupManagement::NOT_LOGGED_IN_ID
Version 2.1.5 - 2023-11-29
- 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 discount text for configurables with tier prices
Version 2.1.3 - 2023-11-06
- Fixed tier price display for configurable products
Version 2.1.2 - 2023-09-16
- Fixed double currency conversion in cart
Version 2.1.1 - 2023-08-14
- Fixed double currency conversion in cart
Version 2.1.0 - 2023-06-04
- Virtual products support
Version 2.0.26 - 2023-06-03
- New configuration to add routes, for which ajax price request should not be done
Version 2.0.25 - 2023-05-16
- Added rounding for price discount calculations
Version 2.0.23 - 2023-05-14
- "product" object is passed to Customized Price
Version 2.0.22 - 2023-05-13
- Added new config to check for customer discount / customer group discount for price codes
Version 2.0.24 - 2023-05-12
- Pricesystem discount amount reload after cart qty update
Version 2.0.21 - 2023-05-12
- Dynamic properties declarations are fixed
Version 2.0.20 - 2023-05-06
- Incorrect tier price on PDP for configurable product on qty change
Version 2.0.19 - 2023-04-16
- 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
- Fallback solution for DefaultConfigProvider on Original price, if e.g. configured_original_price is set
Version 2.0.17 - 2023-03-21
- Added cart condition rules for customer discount and customer group discount
- 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 an issue that disabled products were shown under my prices section in frontend
Version 2.0.15 - 2023-02-21
- Fixed a JS issue undefined priceSystem when module is not enabled on a specific website
Version 2.0.14 - 2023-02-15
- 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 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 phpDoc for swagger for recent get-multi-price API feature
Version 2.0.11 - 2023-02-07
- 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 /V1/pricesystem/get-final-price API call
- Removed redundant ACL node MageB2B_PricesystemCore::pricesystem (use MageB2B_PricesystemCore::main instead)
Version 2.0.9 - 2023-01-25
- 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
- Optional websiteId parameter is added to the PriceRequest to return website specific prices
- Added trait PriceSelectByPriorityTrait
- Changed categoryprice pricetype: It's now merged into one pricetype
Version 2.0.7 - 2022-11-28
- 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 new method convertInputDate which will be used for all localizated date conversions into DB date for non post data processors
- Fixed issue occuring when access swagger page of Magento 2
Version 2.0.5 - 2022-11-24
- 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 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
- Fallback to the regular price is done, when custom price cannot be calculated
Version 2.0.2 - 2022-11-12
- Changed function getWebsitesForForm to add default parameter $addAllWebsites, value false
Version 2.0.1 - 2022-11-11
- Fixed issue with infinite scroll price update
Version 2.0.0 - 2022-11-01
- 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
- 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 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 issue with new customer group on admin save of pricesystem attributes
Version 1.1.9 - 2022-07-28
- Fixed Pricesystem API URL Checkout for getActual... methods
Version 1.1.8 - 2022-07-27
- 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
- Whitelist additional routes
Version 1.1.6 - 2022-07-24
- 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 ID issue on price warming
Version 1.1.4 - 2022-07-21
- 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
- Added Sm_ShopBy for event ajax trigger on footer
Version 1.1.2 - 2022-07-20
- Added new bind return for getCustomerprice()
Version 1.1.1 - 2022-07-20
- Fixed tierprice issue on custom sort order
Version 1.1.10 - 2020-08-05
- Fixed isset issues of pricesystem attributes during save in admin
Version 2.1.5 - 2026-03-11
- Fixed ambiguous `entity_id` SQL conditions in repository-backed customer price listings after joined table loads
Version 2.1.4 - 2026-02-20
- Fixed admin ACL resource for custom permission
Version 2.1.3 - 2026-02-19
- Increased required pricesystem module version to `>=2.3.2`
- Updated customer edit listing actions to use context-specific routes for customer-scoped operations
- Fixed customer edit delete and mass delete to target only records of the current customer
- Fixed customer edit delete and mass delete responses to support AJAX grid reload flows
- Fixed customer edit form data loading for modal edit requests
- Fixed custom price handling in customer edit listing to prevent invalid sort/filter behavior
- Fixed logged-in check behavior to avoid blocking admin-context evaluation
Version 2.1.2 - 2026-02-16
- Fixed admin customerprice listing issue
Version 2.1.1 - 2026-01-26
- 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 compatibility to pricesystem 2.3.0
- Changed to nullable fields for date fields in the database
- Updated admin UI elements to the newer Magento UI components (forms)
Version 2.0.14 - 2025-05-20
- Fixed recent disable price check observer for API request routes (e.g checkout)
Version 2.0.13 - 2025-05-08
- Added observer to disable price check query when customer is not logged in (customerprice is always related to a logged in customer)
Version 2.0.12 - 2025-02-28
- More Improvements for Date Range Validation Checks
Version 2.0.11 - 2025-02-25
- Improved Performance on date validation checks
Version 2.0.10 - 2024-07-22
- Fixed SKU filter on customerprice grid
- Changed README.md
Version 2.0.9 - 2024-06-20
- Changed CustomerpriceRepository::deleteByCustomerId($customerId) to use the custom customer attribute if available
Version 2.0.8 - 2024-03-06
- php Docs
Version 2.0.7 - 2023-06-01
- Added Fallback for Filter Input (Magento 2.4.0)
Version 2.0.6 - 2023-05-28
- Fixed UI component listing
Version 2.0.5 - 2023-05-12
- Dynamic properties declarations are fixed
Version 2.0.4 - 2023-04-16
- Added cart condition rule for customerprice
- 2.4.6 compatibility fixes
Version 2.0.3 - 2023-01-25
- New configuration to show "My Prices" my account link only when custom prices are set to the customer
- Added website_id column to customerprice. When customer scope is enabled to global, you can define customerprices per website.
- Fixed dependency issue occuring during setup upgrade (Unable to apply data patch MageB2B\PricesystemCustomerprice\Setup\Patch\Data\AddCustomerpriceAttributes)
Version 2.0.2 - 2022-11-28
- Added PriceProvider for My prices block
Version 2.0.1 - 2022-11-25
- Fixed issues around localized date input format when saved into DB
Version 2.1.2 - 2026-02-19
- Added listing and modal inside customer edit to manage category prices per customer
- 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
- 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 PHP 8.4 compatibility
- Added compatibility to pricesystem 2.3.0
- 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
- - php Docs
Version 2.0.9 - 2023-06-01
- Added Fallback for Filter Input (Magento 2.4.0)
Version 2.0.8 - 2023-05-28
- Fixed UI component listing
Version 2.0.7 - 2023-05-12
- Dynamic properties declarations are fixed
Version 2.0.6 - 2023-04-16
- Added cart condition rule for categoryprice
- 2.4.6 compatibility fixes
Version 2.0.5 - 2023-01-25
- 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 syntax error
Version 2.0.3 - 2023-01-12
- Category customer and group prices are merged into one price type
- 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 PriceProvider for My prices block
Version 2.0.1 - 2022-11-25
- Fixed issues around localized date input format when saved into DB
Version 2.2.6 - 2026-03-19
- Added compatibility to pricesystem 2.3.5
Version 2.2.5 - 2026-02-27
- Added consistent validation errors for unresolved or non-existing API product identifiers to avoid database-level error responses
- Enforced strict API product identifier resolution based on the configured API product attribute
- Prevented implicit fallback to product entity ID when custom API fields are enabled with non-entity product attributes
- Fixed automatic customer-to-pricelist assignment on registration for website-specific pricelists (website filter now includes current website and global website)
- Fixed auto-assign config lookup to use the active admin configuration path for customer assignment
Version 2.2.4 - 2026-02-19
- Added inline row edit for assigned pricelist products in admin
- Customer group NOT LOGGED IN is now treated as a valid group on the customer group edit form for pricelist assignments
- Customer attribute option loading now supports boolean attributes and keeps the "No" option in the attribute value selector
- Auto-assign evaluation now supports address-only conditions (without mandatory customer attribute pre-filtering)
Version 2.2.3 - 2026-02-01
- Support table name prefixes
Version 2.2.2 - 2026-01-26
- Now the download path redirects to login if not logged in for a smoother flow (before it was referer URL)
Version 2.2.1 - 2026-01-23
- Fixed config flag lookup for my prices download enablement (use ScopeConfigInterface instead of old helper get() method)
Version 2.2.0 - 2026-01-16
- Added PHP 8.4 compatibility
- Added compatibility to pricesystem 2.3.0
- Switched table name from pricesystem_pricelist_user to pricesystem_pricelist_customer (automatic migration will be executed)
- Changed to nullable fields for date fields in the database
- Updated admin UI elements to the newer Magento UI components (forms)
- Clarified "Merge pricelist qtys" configuration description and translations to better explain behavior when multiple pricelists share the same priority
- Removed Helper\Data as it is not used anymore
- Renamed pricesystempricelist/index/downloadcsv to pricesystempricelist/index/downloadPrices
- Removed config setting pricesystem/pricelist/show_pricelist_product_id_column - now onwards, product ID is always displayed in the pricelist products grid
Version 2.1.3 - 2025-10-23
- Admin Pricelist: "Submit to pricelist" now correctly detects products selected via keyboard (Tab/Space/Enter). Prevents false "Please select at-least 1 catalog product!" alert when items are selected without mouse
Version 2.1.2 - 2025-05-08
- Fixed an issue on saving NOT_LOGGED_IN customer group for a pricelist as single entry in admin
Version 2.1.1 - 2024-08-14
- Fixed adminhtml.xml for new config added recently
Version 2.1.0 - 2024-08-14
- Display ID for assign/deassign pricelist window in admin customer edit section
- Display is_basepricelist inside the customer edit section grids (customer-related pricelists, customer-group related pricelists)
- Added a configuration "match_exact_type" to use exact comparison (===) when auto-assign pricelists during customer registration
- Added note inside the pricelist popup when no pricelists are available in the system
Version 2.0.23 - 2024-03-19
- Fixed issue with isValidUserId() function
Version 2.0.22 - 2024-03-06
- php Docs
Version 2.0.21 - 2024-01-31
- Changed function of isValidUserId() to include the website check of the customer with pricelist website
- Fixed an issue with pricelist export on admin area (column ID was ambigious)
Version 2.0.20 - 2023-11-08
- Changed the copy behavior of a pricelist - now on a copied base pricelist will be unset as a base pricelist to avoid issues during the save process of the new created pricelist
Version 2.0.19 - 2023-10-26
- Fixed an issue which ocurred on customer group edit form
Version 2.0.18 - 2023-09-19
- Fixed an issue which could result in wrong group-related pricelist assignments on customer edit (pricesystem tab)
Version 2.0.17 - 2023-07-18
- Added grid under admin section of customer edit (pricesystem tab) to display customer group related pricelists
Version 2.0.16 - 2023-06-07
- Fixed Pricelist save when product id column is enabled
Version 2.0.15 - 2023-05-31
- Added Fallback for Filter Input (Magento 2.4.0)
Version 2.0.14 - 2023-05-28
- Fixed UI component listing
Version 2.0.13 - 2023-05-24
- Changed automatic customer assignment behavior, it will not apply anymore when either customer attribute or customer attribute value is null
Version 2.0.12 - 2023-05-12
- Dynamic properties declarations are fixed
Version 2.0.11 - 2023-05-08
- Added new config field: "Show pricelist product id column in pricelist products grid"
Version 2.0.10 - 2023-04-16
- Added cart condition rule for pricelist
- 2.4.6 compatibility fixes
Version 2.0.9 - 2023-01-25
- 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
- Used new core trait to compare prices by priority
Version 2.0.7 - 2022-12-28
- Refactored pricelist before/after save (relational data for customers/groups/products) to avoid direct MySQL queries
Version 2.0.6 - 2022-12-12
- Fixed dependency issue occuring during setup upgrade (Unable to apply data patch MageB2B\PricesystemPricelist\Setup\Patch\Data\AddPricelistAttributes)
- Fixed the issue that the productsContainer was not showing all products when the website of the pricelist was selected to "All Websites"
Version 2.0.5 - 2022-11-28
- Added PriceProvider for My prices block
Version 2.0.4 - 2022-11-24
- Fixed issues around localized date input format when saved into DB
Version 2.0.3 - 2022-11-23
- Fixed behavior of pricelist grid under customer pricesystem tab as well as on assign/deassign grid to flush inconsist behavior for the recent 'all Websites' feature
- DB column pricelist.website_id should not be null
Version 2.0.2 - 2022-11-12
- Added feature to select "All Websites" for pricelists (internal flag for website_id should be 0 in this case)
Version 2.0.1 - 2022-11-08
- Fixed issue to take the lowest/highest price for pricelist price with the same qty
Version 2.1.3 - 2026-02-19
- Switched customer edit assigned-matrix listing to dedicated customer actions
Version 2.1.2 - 2026-02-01
- Support table name prefixes
Version 2.1.1 - 2026-01-26
- Added admin configuration to choose single CSV download or per-matrix downloads for Product Customer Matrix
- Added frontend route and My Prices layout block for Product Customer Matrix downloads
Version 2.1.0 - 2026-01-16
- Added PHP 8.4 compatibility
- Added compatibility to pricesystem 2.3.0
- Changed config path from pcmatrix to productcustomermatrix
- Updated admin UI elements to the newer Magento UI components (forms)
- Changed customer_group column to customer_attribute_value (automatic migration)
- Changed to nullable fields for date fields in the database
Version 2.0.11 - 2025-01-15
- Fixed issue with custom customer attribute setting
Version 2.0.10 - 2025-01-09
- Fixed dependency issue from Pricelist extension
Version 2.0.9 - 2024-03-06
- php Docs
Version 2.0.8 - 2023-08-17
- Fixed MovieMatrixData Patch on a fresh installation
Version 2.0.7 - 2023-06-01
- Fixed UI component listing
Version 2.0.6 - 2023-05-28
- Fixed UI component listing
Version 2.0.5 - 2023-05-12
- Dynamic properties declarations are fixed
Version 2.0.4 - 2023-04-16
- Added cart condition rule for product customer matrix
- 2.4.6 compatibility fixes
Version 2.0.3 - 2023-01-25
- New configuration to show "My Prices" my account link only when custom prices are set to the customer
- Fixed swagger issue "Message: The "\DateTime" parameter type is invalid" after new API definitions
Version 2.0.2 - 2022-11-29
- Added PriceProvider for My prices block
Version 2.0.1 - 2022-11-25
- Fixed issues around localized date input format when saved into DB
Version 1.0.2 - 2025-07-07
- Added CHANGELOG.md
Version 1.0.1 - 2024-07-25
- Added new API definitions for customer + attribute relations
- Update phpDocs
Version 1.0.0 - 2022-05-11
- Initial version
Version 1.0.2 - 2025-07-06
- Added CHANGELOG.md
Version 1.0.1 - 2024-07-25
- added new API method to delete all pricelists
- Update composer.json
Version 1.0.0 - 2022-05-11
- Initial version
Version 1.0.2 - 2025-07-07
- Added CHANGELOG.md
Version 1.0.1 - 2024-07-25
- Updated PHPdocs
Version 1.0.0 - 2022-05-11
- Initial version
Version 1.0.3 - 2025-07-07
- Added CHANGELOG.md
Version 1.0.2 - 2024-07-25
- phpDocs
Version 1.0.1 - 2022-06-02
- Added delete bulk method
- Renamed /V1/pricesystem/customerpricebulk to /V1/pricesystem/customerprice/savebulk
Version 1.0.0 - 2022-05-11
- Initial version
Version 2.1.6 - 2026-03-16
- Relaxed the ExpressionLanguage composer dependency to stable compatible release
Version 2.1.5 - 2026-02-27
- Normalized discountable product attribute defaults to `is_required=0` and `default_value=0`
Version 2.1.4 - 2026-02-20
- Added verified customer attribute to pricesystem tab in customer edit form
Version 2.1.3 - 2026-02-19
- Compatibility fixes to latest pricesystem package
Version 2.1.2 - 2026-02-17
- Removed obsolete plugin target
- Fixed an issue with saving group price settings on NOT LOGGED IN customer group
- Fixed saving customer-specific price formulas in the admin customer edit form
- Fixed customer save validation when using "Special custom sort order"
- Improved customer attribute form assignment for `price_formula` in admin
Version 2.1.1 - 2026-01-23
- Added es_ES translation
- Renamed customer/group price select option to "Price select from system config"
- "Price select from system config" now keeps the configured system price strategy (instead of sort order from config)
- Default discountable config value (config.xml) is now 0
Version 2.1.0 - 2026-01-16
- Added feature to define custom formula (per config, customer group & customer)
- Added mageb2b/pricesystem compatibility 2.3.0
- Updated admin UI elements to the newer Magento UI components (forms)
- Fixed PHP 8.4 deprecation warning by explicitly marking the `$resource` and `$resourceCollection` constructor parameters in `Model\Config\Backend\Formula` as nullable
Version 2.0.6 - 2024-10-25
- Fixed PHP 8.3 compatibility issue
Version 2.0.5 - 2023-11-11
- Added a warning when the configuration will be saved with a match between the pricetypes for disabled product attribute and the custom original price
Version 2.0.4 - 2023-05-24
- Fixed syntax error on CustomerAndGroupDiscountCustomizerPlugin class
Version 2.0.3 - 2023-05-14
- Discountable check was updated to support tier prices
Version 2.0.2 - 2023-05-13
- New configuration "Discountable check for additional Customer/Group Discount" was added.
Version 2.0.1 - 2022-12-16
- Added uninstall routine
Version 2.0.0 - 2022-11-01
- Refactoring, to be compatible to PricesystemCore 2.x
Version 1.0.5 - 2022-10-14
- Fixed UpdateIsUserDefined syntax error
Version 1.0.4 - 2022-09-20
- Removed user_defined flag for customer attributes
Version 1.0.3 - 2022-08-17
- Fixed product and customer attributes updates to avoid full model load and save
Version 1.1.0 - 2026-01-16
- Added compatibility to pricesystem 2.3.0
Version 1.0.7 - 2025-10-28
- Return a proper download response for the sample file so the browser saves the file instead of rendering it inline
Version 1.0.6 - 2025-07-07
- Added README.md and CHANGELOG.md
- Removed dependency of MageB2B\PricesystemCore\Helper\Data
Version 1.0.5 - 2025-07-07
- Added README.md and CHANGELOG.md
- Removed dependency of MageB2B\PricesystemCore\Helper\Data
Version 1.0.4 - 2025-04-23
- phpDocs
Version 1.0.3 - 2022-12-27
- Fixed undefined constant on sample file download
Version 1.0.2 - 2022-11-30
- Fixed setup:upgrade
- Fixed composer.json version constraint
Version 1.0.1 - 2022-07-18
- Fixed composer.json,
- Fixed constant in registration.php
Version 1.0.0 - 2022-05-28
Version 1.1.2 - 2026-03-08
- Added compatibility to pricesystem/pricelist 2.2.5
- Fixed pricelist import date range handling
Version 1.1.1 - 2026-01-16
- Added compatibility to pricesystem 2.3.0
Version 1.1.0 - 2025-11-03
- Import now respects system configuration `can_product_have_multi_qty_price` and rejects multiple quantity tiers per product when disabled
- Added helpful error message guiding users to enable the config when multi-qty import is attempted but disabled
- Removed ConfigHelper wrapper class dependency from Import and Export classes, using ScopeConfigInterface instead
- Import validation now uses lowercase pricelist names consistently for duplicate detection across pricelists
- Fixed website_id validation to allow value 0 (indicating "all websites")
- Fixed DateService static method calls by injecting DateService via dependency injection
- Fixed same SKU import validation to properly allow same product across multiple pricelists in single CSV
- Fixed duplicate product detection to use consistent lowercase pricelist names
Version 1.0.6.2 - 2025-11-03
- Fixed import validation to allow website_id 0 (all websites)
- Fixed duplicate detection to allow same SKU across multiple pricelists in single CSV
- Added validation for multiple quantity tiers per product based on config setting
Version 1.0.9 - 2025-10-28
- Return a proper download response for the sample file so the browser saves the file instead of rendering it inline
- Import: assign injected `Product\CollectionFactory` to `$this->productCollectionFactory` (prevents fatal in `_initProductSkus`).
Version 1.0.6.1 - 2025-10-24
- Fixed constructor argument for Pricelist import class
- Fixed download sample csv file is now downloaded instead of just opened
Version 1.0.8 - 2025-08-08
- Fixed issue on calling Data::checkDateFormat instead of DateService::checkDateFormat
Version 1.0.7 - 2025-07-05
- Added README.md and CHANGELOG.md
- Removed dependency of MageB2B\PricesystemCore\Helper\Data
Version 1.0.6 - 2025-04-23
- Fixed deprecated usage of collections directly, instead use Factories
Version 1.0.5 - 2022-12-04
- Refactored pricelist before/after save to avoid direct mysql queries
Version 1.0.4 - 2022-11-30
- Fixed composer.json version constraint
Version 1.0.3 - 2022-07-18
- Fixed constant in registration.php
Version 1.0.2 - 2022-05-28
- Fixed composer json
Version 1.0.1 - 2022-05-14
- Added checkDateFormat feature on import
- Added config enable_date_range_validation
- Added date validation
- Changed priority of arguments of save() function to avoid deprecated issue on PHP8
- Pricelist import speed improvements and some fixes
- Speed optimization of import
- MageBTB_PricesystemPricelistImportExport -> MageB2B_PricesystemPricelistImportExport
- Removed function checkDateFormat and use it from Helper Core
- Added validColumnNames to avoid Problems in Magento 2.3.1
- Fixed is_base_pricelist import wasn't working
- Fixed function "validateUniqueDateRangeInCsv" which was broken once we did this multi row feature on import/export pricelists
- Validate pricelist product duplication during import
- Fixed issue with price attribute id
Version 1.1.0 - 2026-01-16
- Added compatibility to pricesystem 2.3.0
Version 1.0.9 - 2025-10-28
- 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 issue on calling Data::checkDateFormat instead of DateService::checkDateFormat
Version 1.0.7 - 2025-07-05
- Added README.md and CHANGELOG.md
- Removed dependency of MageB2B\PricesystemCore\Helper\Data
Version 1.0.6 - 2025-02-25
- Fixed listing of categoryprice grid
Version 1.0.5 - 2022-12-27
- Fixed undefined constant on sample file download
Version 1.0.4 - 2022-11-30
- Fixed composer.json version constraint
- Fixed setup:upgrade
Version 1.0.3 - 2022-07-18
- Fixed constant in registration.php
Version 1.0.2 - 2022-05-28
- Fixed composer.json
Version 1.0.1 - 2022-05-17
- Update composer.json
Version 1.0.0 - 2022-04-26
- Added initial version
Version 1.1.1 - 2026-03-08
- Fixed customerprice admin export value mapping for renamed `product_id` and `price` columns
Version 1.1.0 - 2026-01-16
- Added compatibility to pricesystem 2.3.0
Version 1.0.11 - 2025-10-28
- Return a proper download response for the sample file so the browser saves the file instead of rendering it inline
Version 1.0.10 - 2025-08-08
Version 1.0.9 - 2025-07-05
- Added README.md and CHANGELOG.md
- Removed dependency of MageB2B\PricesystemCore\Helper\Data
Version 1.0.8 - 2025-02-25
- Fixed listing of customerprice grid (wrong listing.xml definitions) and fixed copyright
Version 1.0.7 - 2023-01-27
- Added website_id to import / export
Version 1.0.6 - 2022-12-27
- Fixed undefined constant on sample file download
Version 1.0.5 - 2022-11-30
- Fixed composer.json PHP version constraint
- Fixed setup:upgrade
Version 1.0.4 - 2022-07-30
- Fixed translation
Version 1.0.3 - 2022-07-18
- Fixed constant in registration.php
- Fixed composer.json
Version 1.0.2 - 2022-07-03
- Added event pricesystem_customerprice_import_before_save
Version 1.0.1 - 2022-05-28
- Fixed composer json
Version 1.0.0 - 2022-05-17
- Added initial version
Pricing is managed in one coordinated system instead of separate isolated rules. This reduces errors and accelerates rollout of new agreements.
Configured priority logic determines the effective price clearly. This keeps final pricing behavior predictable in overlapping scenarios.
Customer-specific prices handle direct agreements, while category prices, pricelists, and matrix rules cover scalable segment logic in parallel.
Quantity-based levels and validity windows are built into the pricing modules, so campaign and contract timing can be managed consistently.
Base pricelist logic and fallback behavior keep price output stable when no specific special condition applies.
The "My Prices" area provides a clear view of relevant price types. CSV downloads are available when the corresponding pricing modules are active.
Each price model has dedicated maintenance contexts, so teams can update conditions faster with less coordination overhead.
Website-scoped pricing separates market logic cleanly while keeping central control in one Magento instance.
A phased rollout works best by introducing one pricing model first, then adding pricelists or matrix logic as requirements grow.
Negotiated pricing models benefit strongly, while B2C stores with segmented pricing strategies gain the same structural control.
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.
Installation and configuration are not included in the price. On request, we can support you with a smooth integration into your system.
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.
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.
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.
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.
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.
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.
You can reach us anytime via eMail.
Pricesystem
×Ideal for these industries & use cases
Contract pricing per customer
Individual customer agreements are applied with clear validity windows and transparent pricing logic in the storefront.
Segment pricing by channel and customer group
Pricing rules by customer group, category, and website separate markets cleanly across sales channels.
Time-controlled campaign pricing
Date-based pricing rules are activated in a planned way without overriding active contract conditions.
Bring negotiated quotes into the shop
Negotiated sales conditions move directly into the right pricing logic and reduce manual follow-up work.
Volume pricing for repeat purchasing
Tier prices reward larger quantities automatically and shorten alignment cycles for recurring orders.
Regional pricing strategies per website
Different markets can run dedicated website-level pricing logic within one Magento installation.
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