Customer Group Popup: visitors pick their group, prices follow
Description
Highlights
About the Extension
A builder finds your product page through Google. They see gross prices, subtract the VAT in their head, decide it is too expensive and leave. They never found out that as a trade customer they would have paid net, with a volume discount on top.
The problem
Shopware handles prices, tax display and discounts through customer groups. That works well, but it has a gap: as long as nobody is logged in, every visitor sits in the default customer group. With a mixed audience of private buyers, trade customers and resellers, most of your visitors therefore see the wrong prices. Exactly in the seconds when they decide whether to stay.
The usual way out is a second shop for B2B. That means maintaining everything twice: content, catalogue and marketing.
The solution
The plugin asks for the customer group before the visitor reads any price. On the first visit a window appears with one button per group: private buyers, trade customers, resellers, however you set them up. One click, and the whole shop calculates in the selected group.
If a popup does not suit your shop, there are two quieter routes: the selection as a mandatory field during registration, or an automatic switch as soon as someone enters a VAT ID. You decide per sales channel which route applies.
What's in it for you
Correct prices from the first page. No mental arithmetic, no bounce over a figure that would never have applied to this customer.
One shop instead of two. B2B and B2C run in the same sales channel, on the same products, with the same maintenance. You save yourself the second shop and its catalogue.
Trade customers recognised without asking. Anyone who enters a VAT ID during registration lands in your trade customer group. The form asks for company name and VAT ID by itself, because the account type switches along.
Fixable without a support ticket. The switch in the top bar sits where customers already look for language and currency. Anyone who picked the wrong group changes back themselves.
Separate per sales channel. Registration select in the B2B channel, the popup in the consumer shop, nothing at all in the outlet. Every channel gets its own setting.
Set up in an afternoon. Install, enable it for the channel, release your customer groups, pick a display mode. No template work, no developer time.
How the plugin works
In the configuration you release the customer groups that visitors may choose from. Only those appear, so internal groups for staff or testing stay invisible. The order you enter them in is the order shown in the popup.
If an internal name does not travel well, add a display name on the customer group, separately per language. A group called "B2B-net-tier-2" then reads as "Trade customers" to the visitor. In the same place you mark which groups are commercial. That mark is what later switches the account type in the registration and address forms.
The choice lasts 30 days. After that the shop asks again on the next visit.
Typical use cases
Retail with a mixed audience. A tool merchant sells to DIY customers and to building firms. The popup separates both in the first second, and firms see net prices.
Pure B2B shop with open price lists. Prices stay visible, but registration enforces the correct terms group. The top bar switch stays off so that nothing deviates later.
Wholesale with reseller tiers. Three groups with different net prices, plus the automatic switch by VAT ID for new accounts.
Technical facts for your IT team
The plugin runs on Shopware 6.7 with PHP 8.2 or newer and needs Core plus Storefront. It creates no tables of its own and changes none of Shopware's original tables. It adds two custom fields to the customer group, for the display name and the commercial flag.
The plugin sends no data to external servers. The only thing stored is the identifier of the selected customer group, in a cookie with a 30 day lifetime, listed in the shop's cookie dialog under the technically required cookies. No personal data, no analysis of user behaviour.
The selected group is part of the storefront cache key. Pages are cached separately per customer group, so prices cannot bleed from one group into another. No extra background requests are made; the selection travels with the normal page build.
Every extension point catches errors: if something goes wrong, the shop delivers the page without the customer group selection instead of an error page. Values from the cookie are validated for format and existence before use, so manipulated or orphaned values fall back to the default group silently. When uninstalling you decide whether the custom fields are kept.
To be honest
The plugin does not maintain prices. It switches the customer group, and you set the prices behind it in Shopware as usual. If your groups do not differ in price, nothing changes for the visitor. And if your audience is almost entirely private buyers, a popup in front of the first product is more of a hurdle than a help. Try it in one channel before you switch it on everywhere.
Legal notice
We accept no liability for legal requirements. Please check the use of this plugin with a qualified legal advisor.
Details
- Available: English, German
- Latest update: 4 September 2026
- Publication date: 3 September 2020
- Version: 6.7.6
- Category: B2B extensions
Resources
Reviews (1)
Sehr hilfreiches Plugin
About the Extension Partner
BuI Hinsche GmbH
Partner Status
-
Shopware
Bronze Partner -
Shopware
Premium Extension Partner
Details
- Ø-Rating: 4.3
- Partner since: 2014
- Extensions: 92
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Quickly