Exploring Magento 2 B2B Features: Shared Catalogs
Magento 2 offers lots of features aimed not only at B2C merchants but also to their colleagues who work in the B2B segment. The platform provides the ability to manage shared catalogs with custom pricing on a per-company basis. A master product catalog and two types of shared catalogs with different pricing structures are under your disposal. Below, we explore what Magento 2 shared catalogs are and how to manage them. You can also find out how to import them below.
Table of contents
When you enable the Shared Catalog feature in Magento 2, the system displays the original master catalog in the admin. As for the default public shared catalog, it is visible on the frontend. At the same time, you can also create custom catalogs visible to members of specific company accounts. No one else can see them.
You can find the grid that lists all the existing shared catalogs under Catalog-> Shared Catalogs. This page also provides tools necessary to create and maintain the catalogs, but we will return to them later. As for the grid, it contains the following columns:
- ID – A unique numeric identifier assigned to every catalog;
- Name – the name of a shared catalog;
- Type – Public (visible to the General and Not Logged as well as logged-in customers who are not associated with a company) or Custom (visible to logged-in associates of the assigned company accounts);
- Customer Tax Class – a tax class assigned to a customer group;
- Created At & Created By – date and time when a catalog was created, first and last name of an admin who created a catalog;
- Action – you can set pricing and structure of a catalog, assign companies to it, configure general settings, or delete grid records here.
Now, let’s explore how to configure the Shared catalogs functionality in Magento 2. Before working with the feature, you need to enable the catalog price scope.
Catalog Price Scope Configuration
Configure the price scope before you create your shared catalogs for a multisite installation. You can set it to Global or Website.
Under Stores-> Settings-> Configuration, expand catalog, choose catalog underneath, expand the Price section, and set Catalog Price Scope to Website. That’s it! Now, you have to save the new setting.
Magento 2 provides two ways to generate a shared catalog:
- Create an entirely new one (no products are included, no companies are assigned);
- Duplicate an existing shared catalog.
When you create a new shared catalog, Magento 2 automatically generates a new customer name with the same name: Best Deal Catalog & Best Deal Catalog customer group. Next, when you link a company to the shared custom catalog, it is also assigned to the corresponding customer group and does not include such data as products, custom pricing, or company associations. As for a public catalog, it is automatically assigned to guests and customers who are not associated with a company.
To create a new catalog, visit the Shared Catalogs grid, click Add a Shared Catalog and follow these steps:
- Enter a name that will be displayed in the admin and customer dashboard.
- Set Custom in the Type field.
- Choose a Customer Tax Class.
- Add a description.
- Save the catalog.
When you duplicate a custom catalog, the newly created copy retains the pricing model and structure of the original. However, it doesn’t have the previous company associations. The system also creates a new customer group associated with the duplicated catalog. The default name of both the catalog and group is “Duplicate of [original catalog name],” but you can edit it.
If you duplicate a public shared catalog, the newly created item becomes Custom.
To duplicate an existing catalog and create a new shared catalog in Magento 2, you need to get to the Shared Catalogs grid and choose a record that you want to duplicate. Next, follow these steps:
- Select General Settings in the Action column.
- Click Duplicate.
- Update catalog details.
- Save your new catalog.
- Go to the Shared Catalogs grid, choose a catalog you want to edit, and choose Set Pricing and Structure.
- Сlick Configure and continue with the following steps:
- Choose products;
- Set custom prices.
Follow this link for further information:
Magento 2 lets you assign companies to shared catalogs in two ways:
- From the Shared Catalogs grid;
- As choosing a customer group.
In the first case, you need to choose Assign Companies from the Action column of the Shared Catalogs screen. You will see a new grid that lists all companies available for the assignment. Go to the Action column and click Assign. Assign as many companies as you need. Click Save when complete.
You can achieve the same result under Customers-> Companies. Choose a company you want to assign t a shared catalog, and choose Edit in the Action column. Scroll down to find the Advanced Settings section. Assign the company to the customer group associated with the shared catalog.
Note that when you change the shared catalog assignment, the system changes the customer group assignment for all company members. Don’t forget to save your work!
As a Magento 2 administrator, you can manage shared catalogs, changing the configurations described above. First of all, let’s see how to add new products to a Magento 2 shared catalog.
Add products
You can add a single product to a shared catalog under Catalog-> Products. Choose a product in the grid and click Edit in the Action column. Under the Product in Shared Catalogs section, check each shared catalog where the product should appear. You can also select all catalogs in bulk if necessary.
At the same time, you can add multiple products under Catalog-> Shared Catalogs. Choose Set Pricing and Structure in the Action column for a shared catalog you want to edit. Choose the products you want to add. Just like the gif image illustrates above.
Follow these steps to update the existing product selection in a shared catalog.
Update General Information
You can also update the general information of any shared catalog from the Action column of the Shared Catalogs screen. Choose the General Settings option. Now, you can update the following information:
- Name;
- Type (Custom to Public);
- Customer tax class;
- Description.
Update Custom Pricing
You can update the prices of any shared catalog in Magento 2 in the same Action column of the Shared Catalogs grid:
- Select the Set Pricing and Structure option;
- Go to the Catalog Structure page;
- Click Configure;
- Choose Pricing in the progress indicator and click Next;
- Update product prices of the selected shared catalog, like the gif mentioned above illustrates.
Update Category Permissions
By default, Magento 2 sets category permissions to Allow for all products that you add to a shared catalog from the category tree. However, it is possible to adjust the permissions or create additional rules.
Go to the category tree under Catalog-> Categories. Next, select a category you want to update. Note that you can include all products. It is necessary to select the top-level category in the tree to do that.
After that, find the Category Permissions section, expand it, click New Permission, and do the following:
- Choose a customer group you want to edit. It should be related to the shared catalog.
- Edit/delete an existing rule; create a new one.
If you need to transfer Magento 2 shared catalogs, you’ve come to the right place. Below, we shed light on how to do that.
Unfortunately, the default import and export solutions of the platform don’t let you do that. However, it is possible to use a third-party module that extends the default capabilities of the system. You need the Improved Import & Export Magento 2 extension and its B2B Add-on. The module provides the ability to automate transfers of all the core Magento 2 entities, while the add-on enables you to work with the platform’s B2B data. You can use numerous file formats and sources to create any connection. And since both tools support API integrations, it is possible to connect Magento 2 to any external system. For further information on how to import and export Magento 2 shared catalogs, follow this link: Transfering Magento 2 B2B Data: Shared Catalogs.