Dynamic Packaging Units | Boxes and pallets from one shared stock
Description
Highlights
About the Extension
Some customers want a single bottle of sparkling water. Others want the case of twelve. The café down the road orders by the pallet. In your warehouse it's all the same stock, yet in Shopware it usually ends up as three products with three stock levels that never talk to each other.
The problem
If you sell the same goods in different quantities, you probably create a separate product or variant for every size. Each one carries its own stock figure. Sell ten boxes and the single-item stock doesn't move. You either rebook stock by hand every day or you take orders you can't fulfil.
The solution
With Dynamic Packaging Units you define your pack sizes once, say "6-pack" with 6 items or "Carton" with 12, and assign them to your products. On the product page your customer picks the packaging and the number of packs. Every size draws on one single stock level: buy a carton of 12 and 12 items come off the stock.
What's in it for you
One stock level instead of many. You maintain exactly one figure per product. Whether a customer buys one item, a box or a pallet, the stock is reduced in the same place.
No orders you can't ship. The plugin only offers pack sizes your current stock can cover in full. With 20 items left, the 24-item bulk pack simply isn't in the selection. Restock and it's back on its own.
Prices your customers get at a glance. The product page shows the price per pack, the price per item and the total for all selected packs. A "Total quantity" line tells them how many single items that adds up to. No more "Is that per bottle or per case?" emails.
A cart that makes sense. The cart reads "3× Carton (36 pieces)". Plus and minus change the number of packs, so the quantity always stays a multiple of the pack size. Half boxes don't reach your warehouse.
Shipping costs that match the parcel. Enter weight and dimensions for a packaging unit and weight- or volume-based shipping methods charge for the pack, not for each single item. Shipping methods based on order value work without any extra input.
Variants that share one supply. Selling a single can, a 6-can tray and a 12-can box as variants? They can share one pool. Each purchase takes as many units from the pool as the variant contains.
How the plugin works
Under Catalogues > Packaging Units you create your pack sizes: a name (translatable per language), the quantity in pieces, a position for the sort order and an active switch. Weight and dimensions are optional. On the product, you switch the feature on in the "Packaging Units" tab and assign the right pack sizes. Variants inherit the assignments of the parent product, so you set it up once.
For variants with a shared supply, the product has a "Shared Stock" tab. Create a pool with its total stock and tell each variant how many units one purchase uses. Every order deducts those units from the pool, and a cancellation books them back. On the product page your customer sees what's left in the pool and how many they can order at most.
You can switch the plugin on or off per sales channel. Where it's off, that channel shows no packaging selection and sets no quantity limits; orders from there still deduct from the shared stock so it stays right for every channel.
Typical use cases
- Drinks retail: sparkling water as a single bottle, a 6-pack and a case of twelve. The case goes into your Royal Mail or DPD shipping costs with its real weight, not as twelve separate bottles.
- Food and delicatessen: coconut milk as a single tin, a 6-tin tray and a 12-tin box, set up as variants sharing one pool.
- Consumables and B2B: gloves, cleaning supplies or labels sold singly to consumers and by the box to trade customers. The plugin stays off in your B2C channel and on in your B2B channel.
- Wholesale: pallet goods that are only offered while your stock covers the full pallet, priced in GBP or any other currency your shop runs.
Technical facts for your IT team
- Shopware 6.7, PHP 8.2 or higher.
- Own tables for packaging units, translations, product assignments, pools and variant assignments. The product switches are stored as custom fields. Shopware's original tables stay untouched.
- The plugin sends no data to external servers and stores no personal data.
- When packaging units, assignments or pools change, the plugin clears the cache of the affected products only.
- Dedicated permissions in role management for packaging units and shared variant stock.
- Interface in German, English and Dutch.
- Clean uninstall: choose to keep your data and all units, assignments and pools stay in place. Without that option, the plugin removes its tables and custom fields.
To be honest
The plugin works with your unit price. It doesn't add separate pack prices or volume discounts per pack size. The product switches are saved per language, so in a multilingual shop you turn them on in each language. And if a variant in a shared pool still has clearance switched on, Shopware checks the variant's own stock instead of the pool and the variant can't be bought. The tab warns you about it. Try it with one product first, setting it up only takes a few minutes.
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: 8 October 2026
- Publication date: 8 October 2026
- 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: 99
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly