Disposal charge fee | disposal charges calculated per product
Description
Highlights
About the Extension
You sell cardboard, film or components, and the statutory disposal charge has to go on the bill. So you add it to the product price. The next price import from your ERP wipes it out again, and nobody in the building can say which product carried which share.
The problem
A disposal charge does not belong to one product. It belongs to a material and a weight. A 400 gram box costs less than a two kilo box, and both share the same rate. Put that into the product price and you convert every rate into every product by hand. Leave it out and you pay the charge from your own margin. Either way the customer never sees what the money is for.
The solution
You create one product per material and put the rate on it. On every product that carries the charge you pick the material and switch the calculation on. The plugin does the rest: rate times weight times quantity, visible on the product page, billed as its own line item in the cart.
What's in it for you
The charge stays visible. It sits on its own line in the cart and on the order, named after the material. Your finance team sees the amount apart from the goods value. So does the customer.
One rate covers half the catalogue. Change the price of the material product and the charge changes for every product pointing at that material. No find and replace across a thousand records.
The weight is already in Shopware. You maintain it for shipping anyway. The plugin builds on it instead of asking you for a second field.
The customer finds out before checkout. Material name and amount appear on the product page, before the product goes into the cart. No surprise on the last screen, no support ticket about it.
Ten products, one line. Put ten products with the same material into the cart and you get a single charge line with the total. Not ten lines of 40p each.
You decide per sales channel. The trade channel charges, the export channel does not. One switch, no second installation.
How the plugin works
Each product carries four fields in the set named after the charge: a switch for the calculation, a switch that marks a product as the charge itself, the material selector and an optional own price. The selector only lists products you flagged as charge carriers, so you cannot pick the wrong one.
The rate comes from the price of the material product. If one product needs a different rate, you type it into the price field on that product and it wins over the material price. If the product has no weight, the rate applies as a flat amount per unit.
On the product page you choose how the charge appears: as a selection the customer ticks, as a selection that is already ticked, or fixed with no choice at all. In the cart that becomes a line item of its own type. It references no product, which is why its amount survives a recalculation. The tax rate comes from the product that triggered the charge.
Typical use cases
Packaging trade. You sell boxes and film to business customers and pass on your packaging EPR fees. One material product for paper and board, one for plastic, done.
Building materials and insulation. Heavy products with very different weights on the same material rate. Exactly the case the rate times weight formula was built for.
Furniture and electricals. A flat amount per unit instead of a weight calculation. Leave the weight on the product empty and the rate applies as a lump sum.
Technical facts for your IT team
Shopware 6.7, PHP 8.2 or later. The plugin creates no tables of its own and runs no migration. It works with custom fields on the product; Shopware's own tables stay untouched.
The plugin sends no data to external servers. It processes no personal data. It reads product master data and writes a cart line item, and that is the whole story.
The charge is created in a cart processor that runs after Shopware's product processing. The product page adds one query for the material product; in the cart each material product is loaded once per calculation and then kept. If the lookup fails, the product page still renders and the error goes into the plugin's own log channel.
On uninstall Shopware asks whether to keep the data. Say no and the configuration, the field set and the fields go, together with the values you maintained. Say yes and everything stays where it is, ready for a reinstall.
To be honest
The plugin collects the charge. It does not report it. If you need a data submission to a packaging register, that is a different tool.
The charge is created in the storefront. Orders placed through the API or by hand in the admin do not get a charge line. And in the product listing, products with a charge no longer go straight into the cart; a link takes the customer to the detail page instead. That is deliberate, because the customer should see the charge first. If your category pages live on one click buying, you will notice it. Try it on a staging shop before you switch it on 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: 16 September 2026
- Publication date: 17 January 2024
- Version: 6.7.1
- 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: 93
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly