Margin Scheme § 25a and Solar 0% VAT | Used Goods and Photovoltaic Products
Description
Highlights
About the Extension
Used cameras under the margin scheme, solar panels at 0% VAT: Shopware lets you create both tax cases. What it does not do is tell your customer which rule applies, or decide which buyer pays which rate. This plugin handles both, for both cases.
The problem
For the margin scheme you create a 0% tax in Shopware. From then on, cart and invoice show a row with 0% VAT and 0.00 €, as if the goods were exempt. The invoice lacks the statement required by § 14a (6) UStG, and the product page never explains why no VAT is shown.
The solar zero rate works the other way round. The rate does not depend on the product but on the buyer. A fixed 0% rate on the product is wrong for everyone who is not eligible. And nobody wants to maintain two products per solar panel.
The solution
On installation the plugin creates the tax "Differenzbesteuerung (§ 25a UStG)". Assign it to your second-hand goods and the plugin does the rest: notices in the shop, "§ 25a" in the tax column of your documents, the required statement on the invoice.
Solar products get a custom field. They keep their regular tax rate, and eligible buyers pay the net price with 0% VAT. Buyers declare their own eligibility with a checkbox on the product page, in the cart or at checkout.
What's in it for you
Your customer sees the notice wherever they see the price. Listing, product page, cart, off-canvas cart, checkout, the page after placing the order and the order history in the customer account. If your product boxes get too crowded, switch the listing notice off.
No "0% VAT" row that looks like a tax exemption. If the 0% row only comes from margin scheme items, the plugin hides it in cart, checkout, customer account and documents. If other 0% items are in the cart, the row stays.
Invoices with the required statement, without touching templates. Choose once whether you sell second-hand goods, works of art, or collector's items and antiques. Invoice, credit note, cancellation invoice and delivery note then carry the matching statement, worded as in the EU VAT Directive, and only when the document contains affected items.
Solar without duplicate products. One product, one maintained price. Eligible buyers pay the net price, everyone else pays the regular price. At 19% German VAT, a gross price of €1,190 becomes €1,000 for an eligible buyer.
A record on every order. The buyer's declaration is saved as a custom field on the order and shown in the Administration. If you recalculate the order there, the rate stays as the customer ordered it.
Page caching stays on. The solar declaration becomes part of the cache key. Product pages stay in the HTTP cache instead of being excluded for every visitor.
How the plugin works
You switch both functions on separately, each per sales channel. For the margin scheme, pick the supplied tax on the product. Coming from another extension? Select its 0% tax as well, and the plugin treats existing products and orders the same way.
For solar, choose the mode. Opt-out is the default: the shop shows 0% VAT, and buyers who are not eligible tick the box. With opt-in the shop shows the regular price, and eligible buyers declare their eligibility. If you like, you can require an explicit confirmation before the order is placed.
A shopping experience of your choice opens as an information page in a modal window. Without one, a short explanation expands below the checkbox. You can limit the zero rate to selected delivery countries and exclude customer groups that always pay the regular rate.
Switching from another solution? A console command takes over the solar flag from another custom field. A dry run first tells you how many products are affected.
Typical use cases
- A reseller of used smartphones buys from private sellers and sells under the margin scheme. Their invoices carry the second-hand goods statement, the cart shows no 0% row.
- An antiques dealer switches the statement to collector's items and antiques. New goods in the same shop keep 19% VAT.
- A solar retailer sells panels, inverters and batteries to private customers at the zero rate. The trade customer group is excluded and pays the regular rate.
- A shop with a B2C and a B2B sales channel turns the zero rate on in the B2C channel only.
Technical facts for your IT team
- Shopware 6.7, PHP 8.2 or higher.
- No own tables, no changes to Shopware tables. The plugin creates two 0% taxes and two custom field sets (product and order).
- The plugin does not send any data to external servers. The buyer's declaration is a tax detail of the order and stays in your Shopware database.
- The HTTP cache stays active, the declaration is part of the cache hash. Classifying products costs no additional database query per product.
- Storefront changes only via sw_extends and parent(), no own storefront JavaScript, no own storefront CSS.
- Store API route to read and set the declaration, API-visible product extension swpDiffTax for headless frontends.
- Uninstall: unless you keep the data, the plugin removes its custom field sets. Both taxes stay because products, orders and documents refer to them.
- Shop and document texts in German, English and Dutch, every setting per sales channel.
To be honest
The plugin follows German VAT law (UStG) and is not built for the UK margin scheme. It calculates neither the margin nor the VAT on it, that stays with your accounting. The zero rate is built for gross price display, price filter and sorting in the listing use the maintained gross prices, and buyers who want solar products with and without the zero rate need two orders. Order confirmation emails are not changed automatically. And it does not replace tax advice: agree notices and the buyer declaration with your tax advisor or lawyer, and test everything in a test sales channel before you go live.
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: 22 October 2026
- Publication date: 27 October 2026
- Version: 6.7.0
- Category: Checkout / Cart process
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: 104
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly