B2B Gross/Net Switch – Native Tax-State with Login Modal
by
Kommora
Downloads:
<10
Gross/net switch for the storefront with modal, header toggle and real tax-state change – orders and invoices are persisted in the selected mode. Many configurations possible.
Compatible with:
6.6.0.0 - 6.7.13.0
Includes:
The subscription starts with a free trial month during which it can be canceled at any time.
During the subscription all released updates are included for free
In case you have any questions or problems with your extension you can always ask the Extension Partner for help during the subscription.
Description
Highlights
About the Extension
Gross for private customers, net for businesses – in one shop, legally sound, cache-safe.
Kommora B2B Gross/Net Switch lets your customers choose whether they see prices including or excluding VAT – and natively changes the Shopware tax state. Orders, invoices and cart totals are persisted with the selected mode.
Why this plugin?
- One shop for B2C and B2B. Instead of maintaining two sales channels, you maintain one — the customer chooses.
- Legally sound. The tax state is actually switched, not just the display. Orders and invoices match the selected mode.
- Cache-safe. The mode cookie is registered in Shopware's HTTP cache hash — no mixed delivery, no broken cache entries.
- SEO-safe. Bots and crawlers always see gross prices so rich snippets and consumer price info stay consistent.
Features at a glance
? First-visit modal
- Overlay asks on first visit: "Gross (private)" or "Net (business)"
- Optionally forced (non-dismissable) for strict B2B shops
- Optionally shown for guests too
- Dismiss cookie remembers "don't show again" for 24h
? Header toggle
- Switch in the shop header, position left or right configurable
- One click changes the mode shop-wide
- Cache-busting via URL parameter for immediate effect
⚙️ Real tax-state change
- Switching happens in the SalesChannelContextFactory (decorator)
- All prices (PDP, listing, cart, checkout) are consistently calculated in the chosen mode
- Orders and invoices store the correct tax state
- Works with discounts, shipping costs and rule-based pricing
? Registration & customer groups
- During registration the customer chooses "I am private/business"
- Plugin automatically assigns the configured customer group (private → standard, business → wholesale)
- Custom field `kommora_price_mode` is stored on the customer
- On next login the plugin sets the cookie according to the stored mode (when enabled)
? Shopware Rule "Price display"
- Dedicated rule "Price display is gross/net" for use in discount/promotion rules
- Enables mode-specific discounts, shipping costs or payment methods
? HTTP cache & performance
- Mode cookie is registered in `shopware.http_cache.cookies` via compiler pass
- No mixed cache delivery: gross and net visitors get separate cache entries
- Bot detection runs before tax-state change — crawlers are not loaded into the net cache
⚙️ Technical
- Compatible with Shopware 6.6 and 6.7 (Webpack and Vite admin bundles included)
- PHP 8.1+
- Custom field set `kommora_price_switch` created on install
- No external API calls, no third-party dependencies
- PHPStan-Shopware checked
Ideal for
- B2B merchants who also sell to private customers
- Wholesalers with occasional end-customer business
- Specialty retail (tools, electronics, office supplies, gastronomy supplies)
- Any shop that needs two price displays without two sales channels
Details
- Available: English, German
- Latest update: 5 August 2026
- Publication date: 14 August 2026
- Version: 1.0.0
- Category:
Resources
Reviews (0)
No reviews found.
About the Extension Partner
Kommora
Partner Status
-
Shopware
Technology Partner Silver -
Shopware
Extension Partner
Details
- Ø-Rating: 5
- Partner since: 2026
- Extensions: 13
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly