Skip to main content Skip to search Skip to main navigation
Meet Shopware Payments Fast. Powerful. Yours to control. Discover payments
Diese Seite ist auch auf Deutsch verfügbar.
Kommora

B2B Gross/Net Switch – Native Tax-State with Login Modal

Rating: no rating ( write a review )
Downloads: <10

Description

Highlights

  • • First-visit modal + header toggle for gross/net choice
  • • Real tax-state change — orders and invoices are stored correctly
  • • Automatic customer group assignment on registration (private/business)
  • • HTTP-cache compatible (cookie-based cache hash)
  • • Bot exclusion for SEO-safe delivery (Googlebot always sees gross prices)

Features

  • Modal overlay on first visit with private/business choice
  • Configurable: forced modal or dismissable
  • Header switch (left/right) for later changes
  • Real tax-state change (gross/net) in the SalesChannelContext
  • Automatic customer group assignment on registration (private/business)
  • Cookie sync on login: customer preference is restored
  • Persisted in customer custom field (kommora_price_mode)
  • Shopware Rule "Price display is gross/net" for discount automation
  • HTTP-cache compatible (cookie whitelisted in cache-hash)
  • Bot detection: crawlers always see gross prices (SEO-safe)
  • Configurable cookie lifetime (1–365 days)
  • Cookie marked as technically necessary (no opt-in)
  • Fully translatable (DE + EN out-of-the-box)

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)

Write a review

If you downloaded this extension you can write a review in the Shopware Account.

Write a review

About the Extension Partner

Partner Status

  • Shopware Technology Partner Silver Shopware
    Technology Partner Silver
  • Shopware Extension Partner Shopware
    Extension Partner

Details

  • Ø-Rating: 5

    Average rating of 5 out of 5 stars

  • Partner since: 2026
  • Extensions: 13

Support

  • Based in: Germany
  • Speaks: German, English
  • Response time: Very quickly