Extensión Magento 2 Listas de precios / Listas B2B

Extensión Magento 2 de listas de precios para contratos, asignación a clientes y grupos, tramos por cantidad, vigencia, prioridades y opciones CSV, API, GraphQL y Hyvä.

SoftwareSilo Listas de precios convierte los precios negociados de Magento 2 en registros comerciales manejables. Cada lista reúne productos, destinatarios, vigencia, prioridad y sitio web. Ventas y comercio electrónico pueden mantener un acuerdo sin buscar excepciones en muchos productos.

Pensado para acuerdos B2B recurrentes: Utilice una lista para distribuidores, contratos anuales, niveles de socios, acuerdos marco, centrales de compra o campañas temporales. El nombre identifica claramente el acuerdo dentro de Magento.

Asignación a clientes individuales o grupos: La asignación directa encaja con cuentas negociadas. Los grupos sirven para distribuidores, mayoristas o socios. Un cliente puede coincidir con varias listas, por lo que el sistema incluye reglas explícitas para resolver solapamientos.

Asignación automática mediante datos del cliente: Una lista puede coincidir con un atributo del cliente, uno de dirección o ambos. Así puede utilizar tipo de cuenta, región, país o una clasificación propia. La comparación exacta o flexible del valor es configurable.

Periodos contractuales en dos niveles: La lista completa tiene fecha inicial y final. Cada producto puede tener además su propia vigencia. Esto permite mantener un contrato anual y cambiar solo ciertos artículos en otra fecha.

Precios fijos, recargos o descuentos: Las filas admiten importe fijo, recargo nominal o porcentual y descuento nominal o porcentual. El paquete base Price System incluido aporta el cálculo y la estrategia configurable que elige el resultado aplicable.

Tramos por cantidad dentro del mismo acuerdo: Un producto puede tener varios umbrales de cantidad. El comprador recibe el precio correspondiente al volumen pedido y todas las condiciones permanecen reunidas en una lista reconocible.

Las prioridades resuelven listas superpuestas: Si coinciden varias listas activas, la prioridad determina qué tramos se consideran. Las listas con la misma prioridad máxima pueden aportar tramos y, opcionalmente, también pueden combinarse tramos de prioridades inferiores.

Una lista base puede actuar como respaldo: Una lista base por sitio web cubre los casos sin coincidencia específica. La validación puede imponer esta regla y evitar huecos o varias listas base en competencia.

Precios coherentes en el storefront: La capa común Price System calcula precios para fichas, categorías, carrito, checkout, pedidos y la vista de precios del cliente. El motor central contempla productos configurables y actualización AJAX.

El cliente puede revisar sus precios: Los compradores autenticados ven sus precios en Mis precios. Si se habilita, pueden descargar la lista asignada como CSV con separador y delimitador configurables.

Administración diaria práctica: Los administradores copian listas completas, asignan clientes y grupos mediante cuadrículas con búsqueda, incorporan productos, editan filas asignadas y deciden si el catálogo debe cargarse automáticamente en tiendas grandes.

La carga masiva y las interfaces son opciones separadas: CSV Import/Export permite intercambio repetible y ejecución por consola. SOAP/REST ofrece operaciones individuales y masivas para listas, productos, clientes y grupos. GraphQL expone datos filtrables para proyectos headless. La compatibilidad Hyvä se vende aparte.

El paquete base Price System necesario está incluido: Es el marco común de cálculo, no una segunda licencia. Los módulos de precios específicos por cliente, categoría o matriz producto-cliente son productos independientes para modelos distintos.

Una lista de precios no es un catálogo privado: Este módulo modifica precios aplicables, pero no oculta productos o categorías. Si cada empresa debe ver un surtido diferente, combine la solución con visibilidad de catálogo y pruebe ambas reglas juntas.

Defina la propiedad del dato antes de importar miles de precios: Decida si Magento o el ERP mantiene cada lista, cómo se identifican clientes, cómo se sustituyen contratos vencidos y qué regla gana cuando hay varias coincidencias. Pruebe primero clientes, cantidades, fechas, sitios, monedas, impuestos y productos configurables reales.

Listas con nombre como contenedores de precio

Mantenga lógica de precio, vigencia y prioridad en listas claras en lugar de reglas sueltas.

Lógica de condiciones por atributos

Defina listas con atributos de cliente y atributos de dirección opcionales mediante lógica combinable.

Asignación directa de clientes

Asigne listas de precios a clientes concretos para acuerdos de precio personalizados.

Asignación por grupo de clientes

Asigne listas a grupos completos y escale estrategias de precios por segmento.

Precios de producto con niveles y aplicación de precio

Defina varios niveles de cantidad por producto y configure el tipo de aplicación de precio en cada nivel.

Control de fechas en lista y producto

Gestione vigencias tanto a nivel de lista como a nivel de precio de producto para despliegues planificados.

Prioridad y fusión en solapamientos

Resuelva solapamientos por prioridad y fusione opcionalmente escalones de listas igualmente priorizadas; con la misma cantidad se conserva un nivel por cantidad según estrategia.

Lista base de respaldo

Defina una lista base por sitio web para evitar huecos de precio cuando no aplica una lista específica.

Control por sitio web

Separe estrategias de precio por sitio manteniendo una estructura centralizada de listas.

Copia masiva de listas

Duplique listas seleccionadas rápidamente para campañas, regiones o segmentos nuevos.

Edición en línea de productos asignados

Actualice precio, cantidad, aplicación de precio y vigencia directamente en la cuadrícula asignada.

Visibilidad y descarga CSV en cuenta

Los clientes asignados consultan precios en Mis precios y descargan CSV cuando está habilitado.

Condición para reglas de carrito

Use la condición cliente tiene lista de precios para segmentar promociones por perfil comercial.

  • Versión actual2.2.9
  • Compatible con Magento 2.4.6 - 2.4.9
  • Compatible con PHP 8.1 - 8.5

Si su entorno difiere de los requisitos indicados, podemos verificar la compatibilidad con antelación. Contáctenos por el formulario de contacto.

pricesystem-pricelist

Version 2.2.9 - 2026-06-22

Added
  • Added assigned customer and customer group counts with assignment filters to the admin pricelist grid
  • Added configuration to control whether the Catalog Products grid auto-loads on pricelist edit pages
Fixed
  • Fixed API pricelist relation saves to resolve configured product, customer, and customer group identifiers before persistence, including embedded relation payloads on full pricelist saves
  • Fixed assigned pricelist product grid price and quantity fields so they can be edited inline with numeric values
  • Fixed base pricelist validation config lookup to use website scope instead of treating website IDs as store IDs

Version 2.2.8 - 2026-06-16

Added
  • Added configuration to control whether base pricelist prices are merged under the Pricelist type in My Prices or exposed separately
  • Added SSO compatibility by lazy-loading the customer session in pricelist model construction
Changed
  • Changed admin ACL hierarchy and explicit permissions for pricelist export, mass copy, and mass delete actions
  • Changed frontend pricelist download links so assigned pricelists without products are not offered
Fixed
  • Fixed resolve table names through Magento's table-name resolver
  • Fixed admin price displays to use Magento currency formatting
  • Fixed admin pricelist edit performance by preventing the full catalog product assignment grid from auto-rendering on page load
  • Fixed direct frontend pricelist CSV downloads so the download enablement flag is enforced
  • Fixed frontend pricelist download access and links so inactive, expired, future, and foreign-website pricelists are not exposed
  • Fixed frontend pricelist CSV generation to use unique safe server filenames and stable download filenames
  • Fixed pricelist CSV product joins so they are restricted to the requested pricelist
  • Fixed sales rule pricelist condition checks for customers assigned to multiple pricelists
  • Fixed admin pricelist export product SKU resolution by exporting the assigned catalog product ID

Version 2.2.7 - 2026-04-23

Fixed
  • Fixed admin pricelist listing fulltext search

Version 2.2.6 - 2026-03-19

Added
  • Added compatibility to pricesystem 2.3.5

Version 2.2.5 - 2026-02-27

Added
  • Added consistent validation errors for unresolved or non-existing API product identifiers to avoid database-level error responses
Changed
  • 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
  • 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
  • Added inline row edit for assigned pricelist products in admin
Fixed
  • 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

Fixed
  • Support table name prefixes

Version 2.2.2 - 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.2.1 - 2026-01-23

Fixed
  • 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
  • Added PHP 8.4 compatibility
  • Added compatibility to pricesystem 2.3.0
Changed
  • 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

Fixed
  • 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
  • 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
  • Fixed adminhtml.xml for new config added recently

Version 2.1.0 - 2024-08-14

Added
  • 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
  • Fixed issue with isValidUserId() function

Version 2.0.22 - 2024-03-06

Changed
  • php Docs

Version 2.0.21 - 2024-01-31

Changed
  • Changed function of isValidUserId() to include the website check of the customer with pricelist website
Fixed
  • Fixed an issue with pricelist export on admin area (column ID was ambigious)

Version 2.0.20 - 2023-11-08

Changed
  • 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
  • Fixed an issue which ocurred on customer group edit form

Version 2.0.18 - 2023-09-19

Fixed
  • 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
  • Added grid under admin section of customer edit (pricesystem tab) to display customer group related pricelists

Version 2.0.16 - 2023-06-07

Fixed
  • Fixed Pricelist save when product id column is enabled

Version 2.0.15 - 2023-05-31

Fixed
  • Added Fallback for Filter Input (Magento 2.4.0)

Version 2.0.14 - 2023-05-28

Fixed
  • Fixed UI component listing

Version 2.0.13 - 2023-05-24

Changed
  • 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

Fixed
  • Dynamic properties declarations are fixed

Version 2.0.11 - 2023-05-08

Added
  • Added new config field: "Show pricelist product id column in pricelist products grid"

Version 2.0.10 - 2023-04-16

Added
  • Added cart condition rule for pricelist
  • 2.4.6 compatibility fixes

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

Changed
  • Used new core trait to compare prices by priority

Version 2.0.7 - 2022-12-28

Changed
  • Refactored pricelist before/after save (relational data for customers/groups/products) to avoid direct MySQL queries

Version 2.0.6 - 2022-12-12

Fixed
  • 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
  • Added PriceProvider for My prices block

Version 2.0.4 - 2022-11-24

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

Version 2.0.3 - 2022-11-23

Fixed
  • 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
Changed
  • DB column pricelist.website_id should not be null

Version 2.0.2 - 2022-11-12

Added
  • 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
  • Fixed issue to take the lowest/highest price for pricelist price with the same qty
pricesystem

Version 2.3.13 - 2026-05-13

Fixed
  • Fixed configurable product detail price updates after option selection when Pricesystem initializes the product price box asynchronously

Version 2.3.12 - 2026-05-12

Changed
  • Improved configurable product list price performance by preloading child products in batches instead of resolving children per parent product
  • Improved configurable product list price performance by reusing child category assignments during price calculation
  • Improved `Bss_HidePrice` compatibility by skipping redundant hide-price processing for internal configurable child price collections while keeping storefront hide-price behavior intact

Version 2.3.11 - 2026-05-12

Fixed
  • Fixed configurable product from-price resolution so parent prices use the lowest child final price instead of the lowest regular child price

Version 2.3.9 - 2026-05-01

Changed
  • Relaxed the Magento framework requirement to `^103.0.4`
  • Made the `pricesystem:cache:warmup` and `pricesystem:get-customer-price` CLI commands lazy during bootstrap
  • Changed frontend discount text and cart discount styling rendering by using Magento SecureHtmlRenderer for dynamic style tags
Fixed
  • Replaced CSP nonce-dependent inline frontend scripts with Magento init components for broader Magento compatibility
  • Fixed frontend discount percent display so non-zero final prices no longer render as `100%`
  • Applied the configured discount percent rounding mode consistently on product and listing page discount text rendering

Version 2.3.8 - 2026-04-15

Fixed
  • Fixed the `My Prices` customer account navigation link sortable menu position

Version 2.3.7 - 2026-04-06

Added
  • Price rendering now supports chunked/parallel price requests (defined by config ajax_chunk_size)
  • Added option enable_configurable_update_on_list to explicit enable configurable update on list (swatches)
Changed
  • Dedicated configurable services (ConfigurableFromPriceService, ConfigurableListPriceDataProvider)
  • Request-scope configurable evaluation context
Fixed
  • Fixed possible Configurable from-price recursion issue
  • Fixed list-page pre-AJAX price hiding CSS selector rendering by using HTML escaping compatible with inline `<style>` output

Version 2.3.6 - 2026-03-30

Added
  • Added `pricesystem:cache:warmup` CLI command for cache warmup runs

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.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-pricelist-importexport

Version 1.1.2 - 2026-03-08

Added
  • Added compatibility to pricesystem/pricelist 2.2.5
Fixed
  • Fixed pricelist import date range handling

Version 1.1.1 - 2026-01-16

Added
  • Added compatibility to pricesystem 2.3.0

Version 1.1.0 - 2025-11-03

Added
  • 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
Changed
  • 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
  • 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.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
  • Import: assign injected `Product\CollectionFactory` to `$this->productCollectionFactory` (prevents fatal in `_initProductSkus`).

Version 1.0.6.1 - 2025-10-24

Fixed
  • 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
  • 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-04-23

Fixed
  • Fixed deprecated usage of collections directly, instead use Factories

Version 1.0.5 - 2022-12-04

Changed
  • Refactored pricelist before/after save to avoid direct mysql queries

Version 1.0.4 - 2022-11-30

Fixed
  • Fixed composer.json version constraint

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-14

Added
  • Added checkDateFormat feature on import
  • Added config enable_date_range_validation
  • Added date validation
Changed
  • 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
Fixed
  • 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
pricesystem-pricelist-api

Version 1.0.2 - 2025-07-06

Added
  • Added CHANGELOG.md

Version 1.0.1 - 2024-07-25

Added
  • added new API method to delete all pricelists
Changed
  • Update composer.json

Version 1.0.0 - 2022-05-11

Added
  • Initial version
pricesystem-pricelist-graph-ql

Version 2.0.0 - 2026-02-02

Added
  • Initial module version
pricesystem-hyva

Version 1.0.1 - 2026-06-16

Changed
  • Aligned Hyvä frontend price AJAX handling with pricesystem 2.4.0, including chunked list price requests, configurable list price updates, discount text rounding, and safer product detail fallback behavior
  • Added missing Hyvä compatibility handles for customer account navigation, cart discount text, configurable cart item editing, and the price AJAX render context
Fixed
  • Scoped all Hyvä compatibility layout handles with the `hyva_` prefix so the module no longer overrides Luma price system storefront pages when installed in mixed-theme shops
  • Added the missing `Hyva_CompatModuleFallback` module sequence used by the scoped compatibility handles
  • Added Hyva Tailwind 4 module CSS source registration while keeping Tailwind 3 source compatibility
  • Fixed module CSS so it no longer declares global Tailwind directives or applies the circular `hidden` utility
  • Fixed the Hyvä customer price overview so the special `All prices` option renders without calling regular price type metadata

Version 1.0.0 - 2025-07-27

Added
  • Initial version
Preguntas específicas del módulo
¿Qué es una extensión Magento 2 de listas de precios B2B?

Agrupa precios de productos en acuerdos con nombre y los aplica a clientes o grupos. SoftwareSilo añade vigencia, tramos por cantidad, prioridades, lista base por sitio, asignación por atributos y vista de precios para el cliente.

¿Para quién es adecuada SoftwareSilo Listas de precios?

Encaja en mayoristas, fabricantes, distribuidores, redes de socios, portales de compra y tiendas mixtas B2B/B2C que mantienen precios acordados por cuenta o segmento.

¿Qué incluye la licencia base?

Incluye Listas de precios y el paquete de cálculo Price System: listas, productos, clientes, grupos, condiciones de atributos, fechas, tramos, prioridades, lista base, copia, Mis precios y descarga CSV opcional para clientes.

¿Por qué es necesario el paquete Price System?

Price System es el marco común de cálculo. Conecta el resultado con catálogo, carrito, checkout, pedido, vista del cliente, estrategia de selección y caché de Magento.

¿Hay que comprar Price System por separado?

No. El paquete base necesario forma parte del producto Listas de precios. Los demás módulos que usan el mismo marco son productos independientes.

¿Puedo asignar una lista a un solo cliente?

Sí. La asignación directa sirve para contratos negociados por cuenta. Los administradores añaden o eliminan clientes mediante cuadrículas con búsqueda.

¿Puedo asignar una lista a un grupo de clientes?

Sí. La asignación de grupo aplica una lista a todos los miembros de un grupo Magento, como mayoristas, distribuidores o socios.

¿Los clientes pueden recibir listas automáticamente?

Sí. La asignación automática compara atributos del cliente, de su dirección o ambos. El comercio decide si deben coincidir las dos condiciones y si la comparación es estricta.

¿Un cliente puede tener varias listas?

Sí. Puede coincidir por asignación directa, grupo o atributo. La prioridad y la combinación deciden cómo participan las listas superpuestas.

¿Cómo funciona la prioridad?

Las listas aplicables se ordenan por prioridad. Normalmente se considera primero el conjunto con prioridad máxima. Varias listas con esa misma prioridad pueden aportar tramos.

¿Se pueden combinar tramos de varias listas?

Sí. Las listas de igual prioridad pueden aportar tramos y una opción permite incorporar prioridades inferiores. Las cantidades idénticas deben probarse porque la estrategia de precios resuelve el conflicto.

¿Qué es una lista base?

Es una fuente de respaldo por sitio web cuando no coincide una lista normal. La validación puede limitar cada sitio a una única lista base.

¿Puede una lista tener fecha inicial y final?

Sí. La lista completa se programa y cada fila de producto puede tener además sus propias fechas para cambios controlados.

¿Admite precios contractuales por cantidad?

Sí. Cada producto puede tener varios umbrales de cantidad dentro de la misma lista, manteniendo los precios por volumen en un único acuerdo.

¿Qué tipos de cálculo están disponibles?

Una fila puede usar precio fijo, recargo nominal, recargo porcentual, descuento nominal o descuento porcentual.

¿Qué precio gana si se aplican varios precios Magento?

Depende de la estrategia y del orden de tipos configurados en Price System. Puede elegirse el menor, el mayor o el definido por orden. El proyecto debe fijar la regla antes de producción.

¿Se puede copiar una lista existente?

Sí. La copia masiva crea una lista nueva desde otra, útil para preparar otro periodo contractual o una variante para un segmento.

¿Se pueden mantener productos de forma masiva?

Las cuadrículas permiten seleccionar productos y editar filas asignadas. Para intercambios grandes y recurrentes conviene usar la opción CSV o API.

¿Los clientes pueden ver sus precios asignados?

Sí. Los compradores autenticados abren Mis precios y revisan la oferta aplicable. La lista base puede mostrarse según la configuración.

¿Los clientes pueden descargar su lista?

Sí, si se habilita. Solo pueden descargar listas asignadas al usuario autenticado por rutas admitidas. El separador y delimitador CSV son configurables.

¿El módulo oculta productos o categorías?

No. Cambia precios, no visibilidad. Si cada cliente debe ver otro surtido, añada una solución de catálogo privado o personalizado.

¿Admite varios sitios web Magento?

Sí. Las listas tienen ámbito de sitio y la regla de lista base se aplica por sitio. Pruebe juntos sitio, moneda, impuestos y asignación.

¿Funciona con productos configurables?

Price System incluye tratamiento para configurables. Pruebe la estructura padre-hijo real, los tramos y su presentación en categoría, ficha, carrito y checkout.

¿Qué ofrece CSV Import/Export?

Añade importación y exportación Magento y comandos de consola. El formato transporta listas, productos, cantidades, tipos de precio, vigencia, clientes y grupos.

¿Qué ofrece la interfaz SOAP/REST?

Añade operaciones protegidas individuales y masivas para listas y relaciones con productos, clientes y grupos, destinadas a ERP, CRM, PIM o middleware.

¿Qué ofrece la opción GraphQL?

Expone consultas filtrables para listas, filas de producto y relaciones de clientes y grupos. Sirve para integraciones y gestión headless, pero no sustituye las pruebas del cálculo en tienda.

¿Listas de precios admite Hyvä?

La compatibilidad Hyvä es una opción separada. Pruebe listados, configurables, carrito, Mis precios, checkout y todos los módulos de precios instalados.

¿Es una alternativa a Adobe Commerce Shared Catalogs?

Puede serlo cuando solo se necesitan listas en Magento Open Source. Adobe Shared Catalogs también controla visibilidad de productos y categorías y depende de cuentas de empresa, por lo que el alcance no es idéntico.

¿Cómo debe diseñarse una integración ERP?

Elija un propietario para listas y precios, identificadores estables para listas, productos, clientes, grupos y sitios, decida cargas completas o incrementales y registre errores antes de activar precios.

¿Qué debe probarse antes de producción?

Pruebe asignación directa, grupo, atributo y base; prioridades; cantidades iguales; fechas y zonas horarias; precios fijos y relativos; configurables; sitios; monedas; impuestos; carrito; checkout; pedidos; Mis precios; caché; importaciones y add-ons.

Preguntas generales
¿Para cuántas instalaciones de Magento es válida la licencia?

La licencia es válida para una instalación de Magento, incluido el funcionamiento multisitio. Además, el módulo puede instalarse en cualquier número de servidores de desarrollo o staging. Encontrará más detalles en nuestros términos de licencia.

¿La instalación está incluida en el precio?

La instalación y la configuración no están incluidas en el precio. Si lo desea, le apoyamos en una integración fluida en su sistema.

¿Cómo instalo un módulo?

Composer es el gestor de paquetes de PHP y Magento 2 lo utiliza para instalar módulos y sus dependencias. Después de la compra, encontrará los comandos correspondientes en Licencias dentro de su cuenta de cliente. Primero añada el repositorio privado de SoftwareSilo y su token de licencia. Después instale el paquete indicado con composer require y ejecute php bin/magento setup:upgrade y php bin/magento cache:clean.

¿Qué métodos de pago están disponibles?

Puede pagar con tarjeta de crédito (Stripe) o por transferencia bancaria (pago por adelantado). En pagos con tarjeta, el pedido se procesa de inmediato y las credenciales de acceso se envían directamente en un correo electrónico de seguimiento.

¿Cómo es el proceso de pedido?

Después del pago con tarjeta de crédito, recibirá de inmediato las credenciales para obtener el módulo mediante Composer. En caso de transferencia bancaria, el acceso se concede una vez abonada la factura.

Necesito una modificación personalizada del módulo. ¿Es posible?

Las solicitudes personalizadas no son un problema. Adaptamos nuestros módulos de Magento 2 a su proyecto y mantenemos una versión interna dedicada para saber exactamente qué se ejecuta en su sistema durante el soporte.

¿Puedo instalar una versión demo localmente?

En la página de detalle de cada módulo, puede solicitar su propia instancia de demostración y probar el módulo a fondo durante 7 días. Sin embargo, no ofrecemos una versión de demo local.

¿Está encriptado el código fuente?

No, el código fuente de nuestros módulos no está encriptado. Si necesita una personalización, puede enviarnos una solicitud. Le responderemos en breve con una propuesta sin compromiso.

¿Cómo funcionan las actualizaciones y el soporte?

Puede añadir un paquete de soporte a su pedido. Incluye asistencia, así como actualizaciones y mejoras relacionadas con el módulo. No se requiere una suscripción continua.

Ya tengo una licencia. ¿Cómo hago una actualización?

Puede completar la actualización de licencia aquí. Si tiene un paquete de soporte activo, recibirá las actualizaciones automáticamente mediante Composer. Si su paquete de soporte ha vencido, puede renovar su licencia aquí o en su cuenta.

Tengo otra pregunta, ¿cómo puedo contactarlos?

Puede contactarnos en cualquier momento a través de Correo electrónico.

Listas de precios / Listas B2B

×

Ideal para estas industrias y casos de uso

Precios de Nivel Mayorista

Cree listas de precios separadas para niveles mayoristas (Bronce, Plata, Oro) con asignación automática basada en volumen de compra o atributos de empresa. Cada nivel recibe descuentos de cantidad graduados apropiados para su segmento.

Gestión de Precios Regionales

Cree listas de precios para diferentes regiones (EE.UU., UE, APAC) con asignación automática basada en país de cliente o código postal. Cada región recibe precios en moneda apropiada con niveles de cantidad específicos de región y campañas promocionales.

Precios de Campañas Estacionales

Cree listas de precios de tiempo limitado para campañas estacionales (Black Friday, Venta de Verano, Especiales de Vacaciones) con rangos de fechas que se activan y desactivan automáticamente. Use valores de alta prioridad para anular precios estándar durante períodos de campaña.

Programas de Clientes VIP

Cree listas de precios VIP exclusivas con precios premium y acceso temprano a nuevos productos. Asigne clientes a listas VIP basándose en valor de compra de por vida, atributos de empresa o selección manual. Use máxima prioridad para garantizar que siempre se apliquen precios VIP.

Precios Basados en Contratos

Gestione contratos de clientes anuales o multianuales como listas de precios con nombre con rangos de fechas precisos que coincidan con términos de contrato. Cree listas de precios separadas para cada período de contrato, permitiendo fácil renovación de contrato activando nuevas listas cuando las antiguas expiran.

Precios Multi-Marca

Cree listas de precios separadas para diferentes marcas o líneas de productos dentro de su catálogo. Asigne clientes a listas de precios específicas de marca basándose en su estado de distribuidor autorizado o historial de compras, asegurando segregación de precios adecuada a través de múltiples marcas.

Pruébelo antes de comprar

Solicite una demo personal y pruebe el módulo con datos de ejemplo realistas en el panel de administración de Magento y en la tienda. Así podrá comprobar con calma si encaja con sus requisitos y procesos.

Documentación técnica

Guías prácticas de Magento 2, documentación para desarrolladores y referencias de API para la instalación, configuración y solución de problemas.

Ir a la base de conocimiento

¿Necesita una solución personalizada?

¿Sus requisitos van más allá de las funciones de nuestros módulos para Magento 2? Desarrollamos módulos para Magento 2 e integraciones adaptadas a sus procesos empresariales.

Solicitar ahora