Contributions through pull requests are not supported for this topic. Open a GitHub issue to provide feedback.
PHP 7.3 reached end of support in December 2021 and Adobe Commerce 2.3.x reaches end of support in September 2022. You may want to consider planning your upgrade now to Adobe Commerce 2.4.x and PHP 7.4.x to help maintain PCI compliance.



The Magento_SharedCatalog modules defines the visibility of products as well as product prices in the catalog and in B2B quotes for different company accounts.

The module allows a merchant to create multiple shared catalogs, link them to one or more company accounts, and set different product prices. Shared catalogs also control the visibility of products and categories for a company in the storefront. The shared catalog type (public or custom) defines the scope of products and prices available for guest users vs logged-in users. The system can have only one public and any number of custom shared catalogs.

The module relies on the CatalogPermissions module, in that the visibility of categories for a customer group is defined by category permissions for this customer group. Once a shared catalog is enabled in B2B features, the category permissions are automatically enabled. Adding a product or a category to a shared catalog enables appropriate category permissions for the customer groups linked to this shared catalog.

The module provides web APIs and can be integrated with third-party solutions to manage shared catalogs in Magento.

Installation details

The module heavily depends on the Magento_Company module, which must be installed and enabled the first. Category permissions must be enabled for shared catalogs to work properly. Price configuration for a shared catalog requires the start of a message queue consumer sharedCatalogUpdatePrice.

The module does not create any backward incompatible changes. Can be deactivated and uninstalled at any time.

When the module is uninstalled, the other [ProductType]SharedCatalog modules won’t work.


Learn about a typical file structure for a Magento 2 module.


Shared catalogs are using message queues to save prices. For more information about queues, see Message Queues.

Extension developers can interact with the Magento_SharedCatalog module. For more information about the Magento extension mechanism, see Magento plug-ins.

The Magento dependency injection mechanism enables you to override the functionality of the Magento_SharedCatalog module.


You can extend and override layouts in the Magento\SharedCatalog\view\adminhtml\layout directory.

For more information about layouts, see the Layout documentation.

UI components

The Magento\SharedCatalog\view\adminhtml\ui_component directory contains extensible UI components.

  • Forms: Company, catalog rule, catalog rule staging, product, sales rule, sales rule staging update, shared catalog, shared catalog tier price.

  • Listings: Company, product, shared catalog company, shared catalog, shared catalog product pricing, shared catalog product listing.

For more information, see UI Listing/Grid Component and UI Form Component.

Additional information

You can track backward incompatible changes made in a Magento B2b mainline after the Magento 2.2 release.