Customer-dependent price groups: special prices per customer and category
Description
Highlights
About the Extension
Your long-standing trade customer has paid a different price for power tools for years. On everything else they buy at your normal rates. In Shopware you cover an agreement like that with a second customer group, an imported price list, or a spreadsheet that somebody keeps up to date by hand.
The problem
Shopware knows prices per customer group and prices per product. The combination of the two, meaning "this one customer gets this price level in this part of the range", is not part of the standard toolset. Shops that need it anyway start creating customer groups: one for the merchant with tool rates, another for the merchant with fixings rates, and on it goes. Every new agreement adds a group. Every group has to be maintained at every price review. Two years later nobody remembers why the group "North old" exists.
The solution
The plugin records the price agreement where it belongs: on the customer. You create your price levels as price groups, for example VK2, project price or annual agreement. You release the categories that may be priced per customer at all. On the customer you use the article price groups tab to state which price group applies in which category. The amount itself lives on the product under Advanced pricing, in the price management you already work with.
What's in it for you
Your customer groups stay untouched. The customer keeps their regular group with its tax logic and payment methods. The special rate is an extra line on the customer record, not a regrouping exercise.
One price, any number of customers. Assign price group VK2 to thirty merchants and you still maintain the amount once, on the product. Change it and all thirty see the new price straight away.
Your rates stay between you and your customer. Visitors who are not logged in see your regular sales price including tier prices. Negotiated amounts never appear publicly in the shop.
The price holds all the way to checkout. Product page, cart and order show the same amount. No more "why does the cart say something different" emails.
Trade and retail kept apart. A switch per sales channel decides whether the pricing logic applies there. Turn it off in your consumer shop and every assignment stays intact and keeps working in the other channels.
Less clicking through the category tree. Assign the parent category and products in its subcategories are covered too.
How the plugin works
Five building blocks work together. Under Catalogues you create your price groups in the new Customer-dependent article price groups area. In Catalogues > Categories you use the Preisbildend tag to mark which parts of the range take part. The tag is created during installation, so you do not have to add it yourself. In the Rule builder you build one rule per price group using the new condition article price group is one of. Then you set theassignment on the customer and the amount on the product. When a logged-in customer opens a product page, the plugin checks their assignments against the categories of that product and lets Shopware calculate the matching price block.
Typical use cases
Wholesale with manufacturer agreements. A customer has a framework contract covering one manufacturer's products. Release that manufacturer's category and attach the price group to the customer. The rest of their basket keeps running on your normal price list.
Trade counter with an annual agreement. At the turn of the year you create the price group "Annual 2027", enter the GBP amounts on the products concerned and move the assignments over. The old prices stay on the product until you remove them.
Project business. A customer needs special prices in two categories for a single building project. When the project ends you delete the assignment on the customer without touching rules or products.
Technical facts for your IT team
Released for Shopware 6.7, PHP 8.2 or newer. The plugin creates two tables of its own and connects customer and category through entity extensions. Shopware's own tables stay unchanged. The plugin sends no data to external servers, collects no additional personal data and needs no entry in your cookie banner. Pricing runs through a decoration of the Shopware price calculator; a customer's assignments feed into the cache key of the sales channel context, so no customer can pick up another customer's price from the cache. The administration side ships its own ACL privileges, split into read, create, edit and delete. Uninstalling without "keep user data" removes the price groups, the customer assignments, the settings and the Preisbildend tag. Your rules and the price blocks on the products remain and you clear them up yourself if you want to.
To be honest
The plugin does not calculate discounts. It only decides which of the prices stored on a product applies to which customer. If you want percentage reductions across whole ranges, Shopware's own tools will get you further. It also cannot invent a price that nobody entered: with no price block on the product the regular sales price stays in place. If your pricing has grown out of individual agreements, try it on one customer and one category. Setting that up takes about fifteen 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: 18 August 2026
- Publication date: 15 February 2023
- Version: 6.7.1
- Category: B2B extensions
Resources
Reviews (2)
Klasse Tool
Funktioniert wunderbar!
About the Extension Partner
BuI Hinsche GmbH
Partner Status
-
Shopware
Bronze Partner -
Shopware
Premium Extension Partner
Details
- Ø-Rating: 4.3
- Partner since: 2014
- Extensions: 89
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Quickly