Magento 2 Shared Catalog Guide: How to Import and Export Shared Catalogs in Magento 2
The following article explores Magento 2 shared catalogs – a B2B entity exclusively available to Adobe Commerce users. You will learn what a Magento 2 shared catalog is, how to create a shared catalog in Magento 2, what the nuances of sharing are, and how to import and export shared catalogs. Note that full-featured shared catalog data transfers are possible only with the Improved Import & Export extension and its B2B Add-on. The other features are available right out of the box.
The entity has huge potential for B2B merchants, and we will help you leverage it below. So arm yourself with patience and peruse this guide. If you don’t know how to import or export shared catalogs between your Magento 2 store and an external e-commerce website, you’ve come to the right place. But let’s first define what shared catalogs are.
Table of contents
- 1 Magento 2 Shared Catalog: Definition
- 2 How to Access Magento 2 Shared Catalog
- 3 How to Create Shared Catalogs in Magento 2
- 4 How to Import Shared Catalogs to Magento 2
- 5 Magento 2 Shared Catalogs Import & Export FAQ
- 5.1 How to import and export Magento 2 shared catalogs automatically?
- 5.2 How to import shared catalogs with third-party attributes to Magento 2?
- 5.3 How to import and export shared catalogs to Magento 2 via API?
- 5.4 How to import and export Magento 2 shared catalogs via ODS files?
- 5.5 How to import and export Magento 2 shared catalogs via XLSX files?
- 5.6 How to import and export shared catalogs to Magento 2 via JSON files?
- 6 Final Words
As we’ve already mentioned, Magento 2 shared catalogs are a B2B feature exclusively available to Adobe Commerce merchants or via third-party modules. But what are shared catalogs in Magento 2?
When you want to share a discount with one of your partners while others should not know about it, a shared catalog comes in handy. So, a Magento 2 shared catalog is a B2B feature that offers an individual approach to customers via personalized offers. As a Magento 2 administrator, you set special rules – custom pricing – for different companies and groups of users and alter the visibility of categories and products. As a result, The shared catalog functionality of Magento 2 lets you use different product catalogs displayed to different customers according to the predefined conditions.
Magento 2 offers two types of shared catalogs:
- Public
- Custom
While the former is the default shared catalog displayed at the storefront to guests and not-logged-in customers, the latter is visible to assigned users associated with a special company only.
While Magento 2 lets you use multiple custom catalogs, assigning them to specific companies and customer groups, there is only one public shared catalog. It is created during the B2B installation automatically and is visible to guests, not-logged-in customers, and customers who don’t suit the predefined conditions.
Now, let’s talk about accessing the Shared Catalogs functionality from the perspective of a store administrator. First of all, you need to have the Magento 2 B2B extension installed on your Magento 2 instance.
It is also necessary to mention that you can still have a master catalog in addition to the shared public one. If the latter is enabled, the original master catalog is available in the Admin only. As for the frontend appearance of your e-commerce store, the system displays the Public shared catalog instead. So, don’t get confused!
Go to the Shared Catalogs grid to access your Magento 2 shared catalogs. It is available under Admin -> Catalog -> Shared Catalogs.
Magento 2 offers two ways to create a custom shared catalog:
- Add – you create a new shared catalog from scratch. It has no products and is not assigned to any partners;
- Duplicate – you copy the existing shared catalog with all its items and prices.
When you create a custom shared catalog, the system automatically generates a new customer group with the same name. Next, you assign customers (B2B partners) to the newly created customer group to share the catalog with them.
Unlike a newly created shared custom catalog which does not include products, custom pricing, or company associations, the public one is automatically assigned to guests and customers who are not associated with a company.
When you create a new custom shared catalog, set up the following parameters:
- Catalog Scope
- Product Selection
- Custom Prices
- Company Assignment(s)
Follow these steps to create a custom shared catalog:
- Proceed to Admin Sidebar -> Shared Catalogs and click the Add a Shared Catalog button in the upper-right corner.
- Specify its name. It will be displayed in the Admin and customer dashboard. Also, this name is assigned to a newly created customer group.
- Set the catalog type to Custom.
- Specify the Customer Tax Class.
- Add a description (optional).
- Tap Save when complete.
That’s it! 5 small steps – and you’ve enabled the robust B2B feature without installing any third-party modules! Now, you can find the new catalog in the Shared Catalogs grid to fill it in with products and assign it to customers.
When you duplicate an existing shared catalog, it is named “Duplicate of” the original catalog by default. The created copy retains the pricing model and structure of the original except for the company associations. Even a new customer group is created, which gets the same name as the duplicated catalog.
Also, note that when you duplicate a public shared catalog, its type changes to “custom.”
To duplicate an existing shared catalog in Magento 2, follow these steps:
- Go to Admin Sidebar -> Catalog -> Shared Catalogs.
- Choose a catalog that you want to duplicate.
- In the Action column of the grid, select General Settings.
- You are on the catalog’s general settings screen. Tap Duplicate to create the catalog’s copy.
- Update the following parameters of the catalog: Name, Customer Tax Class, and Description.
- Tap Save when complete.
You can find the new catalog in the Shared Catalogs grid with a unique ID. Now, configure the appropriate product selection, company assignments, and category permissions.
There is nothing difficult in further configurations. You can easily set the pricing and structure for your Magento 2 shared catalog as follows:
- On the Shared Catalogs grid, choose a catalog you want to edit.
- Choose Set Pricing and Structure in the Actions column.
- Next, click Configure and continue with the following steps:
- Choose products (you can add a single product from the grid or select the entire category from the category tree on the left);
- Set custom prices (it is either possible to set a new fixed price or specify a discount).
Magento 2 lets you assign companies to shared catalogs in two ways:
- From the Shared Catalogs grid;
- When choosing a customer group.
In the first case, the algorithm is quite familiar:
- Choose Assign Companies from the Action column on the Shared Catalogs screen.
- You are redirected to a new grid that lists all companies available for the assignment.
- Choose companies that you wish to assign to the shared catalog.
- Go to the Actions dropdown and click Assign.
- Click Save when complete.
Now, let’s explore the second way of assignment. You can provide a company with access to a shared catalog by assigning it to a customer group:
- Go to Customers -> Companies.
- Choose a company to assign to a shared catalog.
- Click 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.
Now, let’s say a few words about category permissions. Magento sets category permissions to Allow for all products added to a shared catalog from the category tree. Although it is the common way of things, you can easily adjust the default permissions. Follow these steps:
- Go to Catalog -> Categories – > Category Tree.
- Choose a category to update. Select the top-level category in the tree to edit permissions for all products.
- Navigate to the Category Permissions section and expand it.
- Click New Permission.
- Choose a customer group that needs new permissions. It should be a shared catalog-related group.
- Allow or deny access to category browsing, product prices, and add-to-cart functionality. You can also use parent options.
- Save your new permissions when done.
Now, we’d like to shed light on the Magento 2 shared catalog import. Unfortunately, it is not possible to import or export shared catalogs in Magento 2 by default. However, you can always rely on third-party modules that extend the default functionality. To enable the Magento 2 shared catalog import, you need to install the Improved Import & Export Magento 2 extension and its B2B Add-On.
Also, it is necessary to create a correct CSV file with the shared catalog data. Let’s see what attributes are involved.
You can find a sample CSV with shared catalog attributes in our
These are 7 Magento 2 attributes used to transfer the B2B shared catalog data:
Attribute Name | Reference | Values | Value Example |
name | Name of the shared catalog. Also the name of the customer group associated with the shared catalog.If you are importing a shared catalog with a particular name, and there is no customer group with such a name – the custom group will be created automatically. | Can contain any symbols | Test Shared Catalog |
description | Description of the shared catalog. For internal identification purposes. | Can contain any symbols | This is a test shared catalog I’ve created |
tax_class_id | The ID of the Customer Tax Class applied to the Shared catalog. | Can contain only numerals | 2 |
type | Type of the shared catalog. For ALL shared catalogs can only be a single type: custom.A public catalog is a general product catalog available for the general public. | 0 – custom catalog1 – public catalog | 0 |
company | Email of the company associated with the Shared Catalog. Please note that this is a COMPANY EMAIL, not the email address of the company’s administrator. If you specify a company email for the catalog after the catalog is created, the company’s customer group is changed to the one associated with a shared catalog you import |
Valid email address with the domain name. Multiple company emails can be entered separated by a comma.
Make sure you don’t put spaces after commas. |
john@doe.com,jane@roe.com |
category | IDs of the categories included in the shared catalog. Please note, that if you include a category in the Shared Catalog – all its products will be included in the catalog. | Can contain only numerals. Multiple category IDs can be entered separated by a comma.
Make sure you don’t put spaces after commas. |
1,2,3 |
sku | SKUs of the products included in the shared catalog. If you don’t want to include whole categories – you can include only particular SKUs in the Shared Catalog. | Can contain symbols allowed for SKUs.Multiple SKUs can be entered separated by a comma.
Make sure you don’t put spaces after commas. |
PRDCT1,PRDCT2 |
What about prices, you will ask?
Well, shared catalogs allow for setting up different product prices per catalog or customer group. These prices are assigned to products using Magento’s tier pricing functionality.
The good news is that the Advanced Pricing data is assigned per customer group. So do shared catalogs.
It means that you need to use two different import jobs to import shared catalogs with different prices. The first job is associated with the Advanced Pricing entity and the other one incorporates the Shared Catalog entity. For further information on how to import advanced pricing to Magento 2 follow this link: Magento 2 Advanced Pricing Import.
Note that if the category associated with a shared catalog does not contain any products, it is linked to the shared catalog anyway.
After composing a table with shared catalogs, follow these steps to import them to Magento 2:
- Proceed to System -> Improved Import / Export -> Import Jobs and hit the Add New Job button.
- Configure General Settings. You can name your import job and automate the Magento 2 shared catalog import if it is a regular process.
- Visit the Import Settings section to select Shared Catalogs in the Entity dropdown as your import entity.
- Choose Add/Update to add new shared catalogs to Magento 2 and update the existing ones.
- Now, select a file type, data source, and a couple more parameters. If you use a CSV file and want to upload it manually, select CSV and File, and then browse the update.
- Save the job, and run the Magento 2 shared catalog import.
You can find more nuances associated with the import process here: Improved Import & Export Extension Manual. Also, contact us to get help with the import of shared catalogs to Magento 2. As for the export of shared catalogs from Magento 2, it’s a standard procedure without any special requirements, so refer to our manual for a more detailed description.
Let’s take a look at other nuances of importing and exporting shared catalogs in Magento 2 with the help of the Improved Import & Export Magento 2 extension.
If you need to move shared catalogs between Magento 2 and third parties or other Magento 2 websites regularly, you can use the Improved Import & Export extension since it utilizes a cron scheduler to automate data transfers. As a store administrator, you get the ability to import and export shared catalogs between Magento 2 and external destinations automatically. Just specify a schedule of updates and the module will do everything for you.
Magento 2 blocks the import of third-party data that doesn’t follow its requirements and B2B shared catalogs are not an exception. But don’t be afraid. You can still transfer third-party data with the help of the Improved Import & Export extension. The module lets you create a mapping scheme where you match third-party attributes and values to ones used within the system. As a result, any external data, including shared catalogs, is easily adapted to the native standards of your e-commerce website. Note that you can also apply mapping to export processes to generate the output your partners require.
The Improved Import & Export Magento 2 extension provides the ability to create API connections for transferring shared catalogs along with other entities. There is a dedicated section in the module’s import/export jobs where you specify the parameters necessary to sync the two systems. Note that you can create a bi-directional API connection for transferring shared catalogs.
Improved Import & Export lets you move shared catalogs via ODS files. You no longer need to convert them to CSV to fit the Magento 2 requirements. You can also export data using this file format.
In addition to ODS, Improved Import & Export lets you move shared catalogs via XLSX files. You no longer need to convert them to CSV to fit the Magento 2 requirements. You can also export data using this file format.
Also, Improved Import & Export lets you move shared catalogs via XLSX files. You no longer need to convert them to CSV to fit the Magento 2 requirements. You can also export data using this file format.
Final Words
The Magento 2 shared catalog feature is a useful business instrument that lets you provide individual approaches to your partners. Offer different product selections and discounts per company to reach a new level of B2B interactions. You can easily create and configure shared catalogs in Magento 2. When an import process is required, feel free to use the Improved Import & Export extension and its B2B Add-on. They enable the Magento 2 shared catalog import functionality that is missing in Adobe Commerce by default. Contact us for further information on the Magento B2B features our module offers and follow these links for more information on our products:
Get Improved Import & Export Magento 2 Extension
Get Improved Import & Export B2B Add-on