My Cart

User Manual - Private Catalogs

Private Catalogs B2B is a great B2B solution for those merchants who need to create private catalogs with their own pricing and products for different customer groups/companies. Catalogs will feature certain categories, products, and pricing, which will be visible only for selected customer groups/companies. The extension relies on the Catalog Group Catalog Permission module, in that the visibility of categories for a customer group is defined by category permissions for this customer group.  Adding a product or a category to a private catalog enables appropriate category permissions for the customer groups linked to this private catalog.

API documentation link



Installing Private Catalogs

Command Line Installation

1. Backup your web directory and store database

2. Download the Private Catalogs installation package

3. Upload contents of the Private Catalogs installation package to your store root directory

4. In SSH console of your server navigate to your store root folder:

cd path_to_the_store_root_folder


php bin/magento module:enable Aheadworks_PrivateCatalog

php bin/magento module:enable Aheadworks_PrivateCatalogGraphQl


php bin/magento setup:upgrade


php bin/magento setup:static-content:deploy -f

5. Flush store cache; log out from the backend and log in again

Make sure the installation is done from the FTP administrator account. Otherwise, set 775 permissions to the store root directory after the extension is deployed.

Composer Installation

If you are installing an extension from Aheadworks for the first time, you need to add our composer repository to your Magento store:

1. Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

Run the following command:

composer config repositories.aheadworks composer

On successful execution of the commands, you will be able to use the composer to install the extensions.

To install the extension:

2. Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

3. Run the following command to install the latest version of the extension:

composer require aheadworks/module-private-catalog

if you need to install a specific version, run this command:

composer require aheadworks/module-private-catalog:<version>


Specify the version of the extension in <version>

When prompted, enter Composer Public Key (Username) and Private Key (Password):

Private Catalogs for Magento 2

Both Composer Public Key (Username) and Private Key (Password) can be found in My Projects and Licenses in your personal account on our site:

4. Enable the extension:

php -f bin/magento module:enable Aheadworks_PrivateCatalog

php -f bin/magento module:enable Aheadworks_PrivateCatalogGraphQl

Next, register the extension:

bin/magento setup:upgrade

Recompile your Magento store if you are in the Production mode:

bin/magento setup:di:compile

To verify that the extension is enabled, run this command:

bin/magento module:status

Clean store cache, by running the following command:

bin/magento cache:clean

Log out and Log in the backend again.

To upgrade the extension:

5. To update or upgrade an extension:

Download the updated extension file. Take note of the version. Export the contents to your Magento root.

If a composer package exists for the extension, run one of the following.

Update per module name:

composer update aheadworks/module-private-catalog

Updater per version:

composer require aheadworks/module-private-catalog:<version>

Run the following commands to upgrade, deploy, and clean the cache.

php bin/magento setup:upgrade --keep-generated 
php bin/magento setup:static-content:deploy
php bin/magento cache:clean



Uninstalling Private Catalogs

Since Magento introduced declarative Database you need to be very carefull when uninstalling or disabling the module.

NOTE: Please be very careful when uninstalling/disabling this module. This module uses a declarative DB scheme. Once the module is uninstalled the DB tables will be lost.

Manual Removal

1. Run command: 

bin/magento module:uninstall --non-composer Aheadworks_PrivateCatalog

It will remove data patches including sample data so you can install it again in future

2. Disable extension: 

bin/magento module:disable Aheadworks_PrivateCatalog

3. Run setup upgrade: 

php bin/magento setup:upgrade

It will remove module related tables from the system

4. Remove module files manually: 


Automatic Removal (via Composer)

1. Disable the module by executing the following commands:

php bin/magento module:uninstall Aheadworks_PrivateCatalog





Module Version 

Magento Version 


1.0.1  and earlier versions

2.3.Х - 2.3.6

2.4.0 - 2.4.3

7.4 and earlier versions

As of version 1.0.2

2.4.3 - 2.4.5

7.4, 8.1

As of version 1.1.0

2.4.4 - 2.4.6






About Private Catalogs

Business Advantages

The B2B Private Catalogs extension allows users to create and display catalogs with their own pricing and products for certain customers on the store. Private catalogs also control the visibility of products and categories for a customer or company in the storefront. The private catalog type (public or private) 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 private catalogs.


  • Create catalogs with custom prices and products, which are visible only to chosen customers
  • Hide prices and Add to cart button on a store/category/product levels
  • Assign companies to certain private catalogs
  • No need to change prices on each product level for customer groups by using native Magento 2 Advanced Pricing functionality - you can create a catalog and change prices to many products in one place


What's New

The latest version (1.0.1) of the extension enables to do the following:

  • Declarative schema upgrade



Configuration Settings

Note that firstly, you need to configure the general settings of Customer Group Catalog Permissions. To get access to the settings proceed to Stores → Settings → Configuration→ Aheadworks Extensions → Customer Group Catalog Permissions.

NOTE: Before using the Customer Group Catalog Permissions extension (which is together with the main module in the package, so there is no need to buy anything extra) you need to install and add the appropriate commands.

Go to the admin panel, select the Private Catalog menu Catalog → B2B Private Catalog by Aheadworks → Private Catalog. Click on Create a Private Catalog.

B2B Private Catalog | Private Catalogs for Magento 2

Enter the name of the catalog, choose the type (Custom or Public), and click on Save. 

In order to avoid errors, it's crucial to have 1 private catalog of public type. Therefore, this type of catalog is created by default during the module installation.

new private catalog | Private Catalogs for Magento 2

From here you cannot change the private catalog type from public to custom.

After creating private catalog, you need to run cron for the changes to be applied: 

php bin/magento cron:run


Configure Product to Private Catalog

The next step is to configure the product to a private catalog. To configure the product(s) for the particular private catalog follow the Categories and Products section. Here click Configure Categories and Products and select products which you want to perform. 

To duplicate a catalog, click the Duplicate button located in the upper right corner. Clicking the Duplicate button creates a new private catalog with the name - Duplicate of {copied catalog name}.

configure categories and products | Private Catalogs for Magento 2

Select the Product(s) or select All and click Save.

categories and products | Private Catalogs for Magento 2

After you can customize products click on the Configure Pricing button. On this page for Product(s) pricing you can Set Discount or Adjust Fixed Price. Click on the Save button.

Configure Pricing | Private Catalogs for Magento 2

After all configuration with the private catalog click Save.



Assign the catalog to Company/User

To assign the private catalog to a particular company/user, open the list of customers and select the particular company/user whom you want to edit. Open the Account Information tab and in the Group drop-down list select the required group. Below you can enable/disable Automatic Group Change Based on VAT ID.

Assign the catalog to User | Private Catalogs for Magento 2

Do not forget to Save all configurations.

Follow the same steps to assign the catalog to the companies.

Assign the catalog to Company | Private Catalogs for Magento 2

To set all products visible to all user groups (except those configured in the Private Catalogs rules), you need to include all products in the default private catalog (public type).


Private Catalogs | Private Catalogs for Magento 2

Product Page

Write Your Own Review

Already used our product?

We would appreciate your feedback. Please, leave a review.

Only registered users can write reviews. Please Sign in or create an account
Report incorrect information

Still Have Questions?

Our customer care team is here for you!

Contact Us