Magento 2 Extension Custom Catalog / Private Catalog
Magento 2 custom catalog extension for customer-specific assortments, product whitelists, customer and group assignments, store-view scope, and optional API integration.
SoftwareSilo Custom Catalog gives Magento 2 stores a practical way to manage customer-specific product assortments. Instead of duplicating products or storefronts, administrators create named catalogs and assign the right products and buyers.
Built for Magento Open Source B2B projects: The module suits wholesalers, manufacturers, distributors, dealer portals, spare-parts shops, and mixed B2B/B2C stores where signed-in customers should see a defined assortment.
Create reusable catalogs: A custom catalog is a named, active product set. The same catalog can be assigned to several customers or customer groups, which keeps common assortments in one place.
Assign catalogs to individual customers or groups: Use direct customer assignment for key accounts and negotiated assortments. Use customer groups for dealer levels, wholesale segments, regions, or other shared access models. Both paths can contribute products for the same customer.
Add exceptions without creating another catalog: Individual products can be assigned directly to one customer. This is useful for a special spare part, replacement item, restricted brand, or account-specific SKU that does not belong in a shared catalog.
Control assignments by store view: Customer, group, and direct product relations support store-view scope. A global assignment applies across store views unless a store-specific assignment exists for the same context.
Choose the access model that matches the business rule: Strict whitelist mode limits logged-in customers to assigned products. Override hidden if assigned keeps the normal Magento catalog and makes explicitly assigned products accessible even when Magento would otherwise hide them.
Strict mode covers the places buyers actually use: Allowed-product filtering applies to category results, catalog search, advanced search, product pages, and linked product collections. A denied direct product request follows the configured no-route destination.
Give buyers a useful My Products page: Logged-in customers can open a dedicated account page. The merchant chooses whether it shows every allowed product, only products from assigned catalogs, or only products assigned directly to the customer.
Keep daily catalog work manageable: Administrators can create, edit, copy, activate, deactivate, and delete catalogs. Searchable assignment grids handle products, customers, and groups. New-catalog assignments remain staged until the catalog is saved.
Protect cached storefront responses: Assignment versions are part of the customer context used for cache variation. Changes to catalog relations update those versions so one customer's assortment is not reused for another.
Review active carts after access changes: An optional setting refreshes affected customer carts when assignments change. This helps remove products that lost their direct or catalog-based access during administration or integration work.
The SOAP/REST interface is a separate add-on: It supports integration with ERP, CRM, PIM, or middleware for customer-product assignments and bulk jobs. Choose stable customer and product identifiers before automating updates.
Sublogin support is a separate product combination: With SoftwareSilo Sublogin and its Custom Catalog integration, company users can receive their own products or catalogs. Intersection, union, Sublogin-only, and Custom-Catalog-only rules define how the parent account and sublogin sets are combined.
Custom Catalog controls product access, not contract prices: The base module does not create customer-specific prices. It also does not hide CMS pages or remove category nodes. Combine it with pricing or content-permission modules only when those are separate requirements.
Test the real buying paths before launch: Check direct and group assignments, store views, search, category pages, product URLs, related products, My Products, caches, active carts, configurable products, API updates, and any Sublogin merge rule with representative customer accounts.
Build catalogs and add products
Create catalogs as curated assortments and manage the product list per catalog.
Assign catalogs to customers and groups
Assign one or more catalogs to customers or customer groups. Optionally scope by store view.
Strict whitelist or override hidden products
Choose between assigned-only access or overriding hidden products if assigned.
Search and categories respect access
Category pages and search results are filtered to allowed products for the current customer context.
Dedicated product page
Customers get a dedicated product page that shows only the products assigned to their catalog access.
Bulk customer-product assignments
Create or update many customer-product assignments in one admin workflow. Ideal for larger catalogs and recurring assortment updates.
Cache-safe customer-specific access
Full page cache varies by access context to avoid leaking products between customers.
- Current Version1.0.4
- Compatible with Magento 2.4.6 - 2.4.9
- Compatible with PHP 8.1 - 8.5
If your environment differs from the listed requirements, we can check compatibility in advance. Please contact us via our contact form.
Version 1.0.4 - 2026-08-04
- Replaced the module information block with the shared Extension Manager extension
- Fixed custom catalog assignment editing so selections remain staged until save and catalog data plus all assignments commit atomically
- Fixed customer and customer-group storefront cache variation after assigned products are deleted
Version 1.0.3 - 2026-06-16
- Added SSO compatibility by lazy-loading customer sessions in frontend catalog visibility services
Version 1.0.2 - 2026-05-08
- Added buffered admin assignment staging for products, customers, and customer groups while creating new custom catalogs
- Fixed admin custom catalog listing fulltext search
- Fixed admin grid load customer emails from customer entity instead of customer grid table
- Restricted mutating customer and customer-group assignment controllers to the save ACL resource
- Fixed customer-product unassign actions to delete through the repository so assignment versions and cart refresh hooks run
- Fixed the custom catalog edit delete button to submit POST data to the POST-only delete controller
Version 1.0.1 - 2026-03-09
- Added a configurable `My Products` display mode with support for showing all allowed products, custom catalog products only, or direct product assignments only
- Added `Copy` and `Delete` mass actions to the custom catalog admin grid
- Excluded the `NOT LOGGED IN` customer group from admin assignment workflows and rejected guest-group assignments on the customer-group controller path
- Fixed cart refresh wiring so `refresh_cart_on_items_update` is respected consistently across direct customer-product changes and catalog assignment updates
Version 1.0.0 - 2026-02-16
- Initial release
It controls which products a logged-in customer can access. SoftwareSilo groups products into named catalogs, assigns them to customers or customer groups, and also supports direct product assignments for individual accounts.
It fits Magento Open Source B2B stores that sell different assortments to wholesalers, dealers, distributors, key accounts, service partners, or regional customer groups.
The base license includes named catalogs, product assignment, customer and group assignment, direct customer-product assignment, store-view scope, two access modes, My Products, search and category filtering, catalog copying, cache variation, and optional cart refresh.
Yes. You can create multiple active or inactive catalogs and give each one its own product set. A catalog can be reused across several customers and groups.
Yes. Direct customer assignment is suitable for a key account or any buyer with a negotiated assortment.
Yes. Group assignment applies the catalog to customers in a selected Magento customer group, such as wholesale, dealer, or service-partner accounts.
Yes. Products from effective customer and customer-group catalog assignments are combined. Directly assigned customer products can contribute additional items.
Yes. Direct customer-product assignment adds an account-specific exception without creating another shared catalog.
They can be. Customer, group, and direct product relations use store IDs. A global relation acts as a fallback when no store-specific relation exists for that context.
For logged-in customers, strict whitelist mode allows only products assigned through effective catalogs or direct product relations. Other products are filtered from supported listings and denied on direct product views.
Magento keeps its normal catalog behavior, but an explicitly assigned product can be opened even when its standard catalog visibility would normally prevent that customer from viewing it.
Yes. Product collections on category pages are limited to allowed product IDs. The module filters products, but it does not remove the category node itself.
Yes. The extension applies the allowed product set to catalog search and advanced search collections, including search-engine document filtering.
In strict mode, a denied direct product request is redirected to the configured no-route destination, normally the Magento 404 route.
Yes. In strict mode, linked product collections are limited to allowed product IDs so a restricted item is not exposed through a related-product relationship.
Strict whitelist filtering is applied to authenticated customer contexts. Guest catalog behavior remains under Magento's normal catalog and visibility configuration.
It is a customer-account page that lists products available through the configured assignments. The account links appear when the module is active and the resulting list is not empty.
Yes. The page can show all allowed products, only products from assigned custom catalogs, or only products assigned directly to the customer.
No. The module controls product access and assortment. Use a pricing extension when the same customers also need contract prices or price lists.
No. It filters products from categories and search but does not manage category-node visibility or CMS-page permissions. Aheadworks and Amasty cover some of those broader content rules.
Yes. Catalog copy and mass-copy actions help create a similar assortment without selecting every product again. Review customer and group assignments on the copied record before using it.
When cart refresh is enabled, assignment changes can remove affected products from active customer carts. Test this behavior with the store's checkout and integration processes.
Customer and group assignment versions are included in the storefront context used for cache variation. Assignment updates bump the relevant version.
The separate API add-on exposes customer-product assignment operations for ERP, CRM, PIM, or middleware integrations, including bulk processing.
The configuration can select customer and product attribute codes for API resolution instead of Magento entity IDs. The chosen attributes must contain stable, unique values in the integration design.
Yes, through the separate Sublogin Custom Catalog integration. It can apply catalogs and products to company users and respects Sublogin access permissions.
The integration supports intersection, union, Sublogin-only, and Custom-Catalog-only modes. Intersection is the restrictive default and returns only products present in both effective sets.
It is an option for Magento Open Source projects focused on product assortment. Adobe Shared Catalogs also include company assignment and custom pricing, so the two scopes are not identical.
SoftwareSilo focuses on product sets, customer and group assignment, direct product exceptions, store-view scope, and Sublogin integration. Aheadworks and Amasty also cover broader price, category, CMS, button, or rule features depending on the product.
Not for the same base requirement. Firebear Improved Import and Export automates Adobe Commerce B2B entities such as Shared Catalogs. It is primarily a data-integration solution rather than a Magento Open Source product-access module.
The license is valid for one Magento installation, including multi-website operation. In addition, the module may be installed on any number of development or staging servers. You can find further details in our license terms.
Installation and configuration are not included in the price. On request, we can support you with a smooth integration into your system.
You can pay by credit card (Stripe) or bank transfer (prepayment). For credit card payments, the order is processed immediately and the access credentials are provided directly in a separate follow-up email.
After credit card payment, you immediately receive access credentials to obtain the module via Composer. For bank transfer, access is granted once the invoice is paid.
Custom requests are no problem. We tailor our Magento 2 modules to your project and maintain a dedicated internal version so we always know exactly what runs on your system for support.
On each module detail page, you can request your own demo instance and test the module intensively for 7 days. However, we do not provide a local demo version.
No, the source code of our modules is not encrypted. If you need a customization, feel free to send us a request. We will get back to you promptly with a non-binding quote.
You can add a support package to your order. It includes assistance as well as updates and upgrades related to the module. No continuous subscription is required.
You can reach us anytime via eMail.
Custom Catalog / Private Catalog
×Ideal for these industries & use cases
Contract assortments
Hide most of the catalog and only expose products that are part of a contract or account agreement.
Customer-specific products
Assign individual products to specific customers without creating many customer groups.
Catalogs by customer group
Maintain standard assortments for groups like wholesalers, retailers or partners.
Sales-curated assortments
Let sales teams build catalogs for key accounts and keep them consistent across store views.
ERP and PIM synchronization
Automate customer-product assignments using the REST API for daily sync jobs.
My Products page
Provide a dedicated page for customers to browse only what they are allowed to order.
Try it without risk
Request a personal demo instance and evaluate the module directly in backend and frontend under real conditions — without local installation.
For developers
Practical Magento 2 guides, technical developer documentation, and API references (REST, SOAP, GraphQL) for installation, configuration, and troubleshooting.
Go to Knowledge Base