CubeCart 6.6.0 added the ability to restrict categories and products to specific customer groups, with related pricing improvements across 6.6.2, 6.6.3 and 6.7.6. Together they turn customer groups from a discount mechanism into a way of running genuinely different storefronts for different audiences.
Categories and products can be restricted so they are only visible to members of chosen customer groups. Everyone else does not see them at all.
That unlocks several models that previously needed a plugin or a second store:
Trade and retail from one store. A trade section visible only to approved trade customers, with trade pricing, alongside your normal retail catalogue. Retail visitors never see it.
Wholesale minimums. Bulk pack sizes that would confuse a consumer, shown only to wholesale accounts.
Restricted or approval-only products. Anything you only sell to verified customers, whether for regulatory reasons or because you want to qualify the buyer first.
Members or subscriber ranges. Products available only to a paying tier, or early access to a new range for an existing customer group.
Contract customers. A section for a specific business customer with agreed products and pricing, without building them a separate site.
Restriction is only half of it. The associated pricing work makes the whole thing usable at scale.
6.6.2 extended bulk price updates to cover customer group pricing. Before this, setting group pricing across a large catalogue meant editing products individually, which realistically meant most people did not do it.
6.6.3 extended bulk price processing again, including multi-select on options.
6.7.0 added bulk price changes by percentage or fixed amount, plus new bulk tools for products, categories and orders.
6.7.6 fixed two group pricing bugs worth knowing about:
And the significant one:
getProductPrice() was applying percentage group and category discounts twice on category listings. A customer in a discount group saw one price on the category page and a higher one in the basket. That is the worst direction for a pricing error to run, because to the customer it looks like a bait and switch. Fixed in 6.7.6.If you use percentage-based group discounts, that last bug alone is a reason to be on 6.7.6.
Restricted does not automatically mean private. Test whether restricted products appear in your search results, your sitemap, your product feeds and your structured data as a logged-out visitor. If you are restricting something for commercial reasons that is untidy; if you are restricting it for regulatory reasons it matters a great deal. Verify rather than assume, and check your Google Merchant or other feeds separately, because feeds are generated by different code to the storefront.
Prices must match everywhere. Given the 6.7.6 double-discount bug, check that a group customer sees the same price on the category page, the product page, and in the basket. If those three ever disagree, customers notice, and they lose confidence in the whole store rather than just that product.
Core CubeCart now covers the common cases: hide things from some customers, show different prices to others. If that is what you need, you no longer need an extension for it.
Where you may still want more is anything involving approval workflows, tiered account applications, quoting, credit accounts or purchase orders, which is a different problem to visibility and pricing.
If you host your CubeCart store with us and want a hand setting up a trade section properly, including checking that restricted products are not leaking into feeds or search, get in touch.