Product configurator OSS: option prices at the delivery country tax rate
Description
Highlights
About the Extension
Add-on plugin – requires the Product Configurator (SwpProductOptionsSix). This plugin works exclusively as an extension of the base plugin Product Configurator (SwpProductOptionsSix). Without the installed, active, and separately purchased base plugin, this plugin has no function.
A customer in Dublin configures your desk: oak top, cable tray, two surcharges. The cable tray shows 120 euro gross in the cart, exactly what a customer in Berlin sees. Your margin does not match: Ireland takes 23 per cent VAT, Germany 19.
The problem
Shopware starts from the gross price and derives the net price from it. For the product itself your shop handles this once you run under One Stop Shop. The surcharges coming from the product configurator stay outside that logic and keep the same gross value wherever you ship. Every order into a country with a higher rate quietly costs you the difference. Nothing breaks, no error appears, and both figures look perfectly correct on screen.
The solution
This add-on reverses the calculation for options. The net price of an option is the fixed value, the gross price is built from it: net times one plus the tax rate. Which rate applies is decided by the tax rules already stored in your shop for that delivery country. Tiered prices run through the same calculation, every quantity step included.
What's in it for you
Your net stays the same across the EU. Sell the same option to Germany,Ireland or Luxembourg and the same amount lands with you. What moves is the gross price your customer sees, which is exactly what the OSS scheme asks for.
No second price list to maintain. The rates come from your existing Shopware tax rules. Add a country or adjust a rate once, and every option surcharge follows automatically.
You decide per sales channel. One switch in the plugin configuration, set separately for each channel. Your EU storefront recalculates, your Swiss channel or your B2B channel stays untouched.
Your stored prices never change. The plugin writes nothing back into your options. It calculates while the cart is being built. Uninstall it and every figure is exactly where it was.
Your developers have nothing to rebuild. No custom tables, no migration, no template work. The add-on hooks into two points of the configurator's price calculation and stays invisible everywhere else.
How the plugin works
Two places, nothing more:
- While the sales channel context is being built, the plugin checks once per request whether the channel is switched on. That value deliberately bypasses the context cache, otherwise a changed setting would only take effect after clearing the cache.
- During the option price calculation it only steps in when the context runs in gross mode. It then replaces the gross value of every option and every tier with the recalculated one. Rounding follows the cash rounding setting of your currency, including five cent steps.
If any precondition is missing, the plugin stays out of the way and the configurator's normal calculation runs unchanged. That covers switched off channels, net contexts, products that cannot be resolved and options with no price in the cart currency.
Typical use cases
Furniture and fit-out shops shipping across the EU. Configurable furniture lives on surcharges: wood type, fittings, made to measure. With two or three options per order, the VAT gap on shipments to Ireland, the Netherlands or France adds up over a year.
Shops running separate B2B and B2C channels. Switch the recalculation on in the B2C channel and leave it off in the B2B channel that displays net prices. The plugin would stay out of a net context anyway, the switch just makes that visible.
Merchants crossing into the OSS scheme. Once you pass the EU wide distance selling threshold of 10,000 euro per year, the destination country rate applies. Shopware moves the product prices over, the configurator surcharges so far stayed behind.
UK merchants selling into the EU. If you price in GBP for the domestic storefront and in euro for your EU channel, each channel keeps its own switch and its own rounding.
Technical facts for your IT team
Shopware 6.7, PHP 8.2 or newer.
Add-on plugin – requires the product configurator (swp/productoptions-six) from version 6.7.12; without it there is nothing to calculate. It consists of two service decorators, one on the sales channel context factory and one on the price calculator of the base plugin. No custom database tables, no migration, no own routes, no storefront templates, no custom fields. Shopware core tables stay untouched.
The plugin sends no data to external servers. It processes no personal data, sets no cookies and writes nothing to log files except technical errors. For the product lookup it reuses the cache that the base calculation fills within the same request, so no extra database query is added. If reading the configuration fails, for example during a database hiccup, the storefront still answers: the plugin switches itself off for that request and writes one line to its own log channel, which rotates over 14 files. Updating from an older version carries the previous channel setting over to the current switch automatically. Uninstalling leaves nothing behind, because nothing was created.
To be honest
This add-on recalculates prices, and that is all it does. It files no OSS return, creates no tax rules and does not decide whether the scheme applies to you. If your tax rules are incomplete, it falls back to the default rate of the tax group and you will not notice. With a properly configured shop you are done in under five minutes: install, pick the channel, check one cart.
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: 25 August 2026
- Publication date: 18 November 2025
- Version: 6.7.1
- Category: Product Configuration
Resources
Reviews (0)
About the Extension Partner
BuI Hinsche GmbH
Partner Status
-
Shopware
Bronze Partner -
Shopware
Premium Extension Partner
Details
- Ø-Rating: 4.3
- Partner since: 2014
- Extensions: 91
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Quickly