Photo: free stock photography (Unsplash licence) — see imprint
Start from where the price truly lives
In almost every B2B company the authoritative price sits in the ERP, not in the shop. Decide this explicitly: is Shopware the master of prices, or a display layer? Shops that never answer this end up with two prices for the same product and an angry sales team.
Customer groups are coarse — use them coarsely
Customer groups work well for a handful of tiers (retail, reseller, key account). The moment you have 400 customers with individually negotiated prices, groups are the wrong tool: you want contract prices synced from the ERP, keyed by customer number.
Rule Builder is powerful and dangerous
The Rule Builder can express nearly any condition, which is exactly the problem. Twenty overlapping rules become impossible to reason about and slow down the cart. Keep rules few, name them clearly, and put complex logic in code where it can be tested.
Show net, gross and the right one
B2B buyers want net prices, tax notes and their own currency. Getting this wrong does not just look unprofessional — it creates invoice disputes. Tie the display mode to the customer group and test it with a real customer login before launch.
- Name one master for prices: shop or ERP.
- Groups for tiers, contract prices for individuals.
- Few rules, clearly named, tested.
Frequently asked questions
They are fine for a handful of tiers — retail, reseller, key account — and that covers more companies than admit it. But the moment you have several hundred customers with individually negotiated prices, groups are the wrong tool and you will feel it as an unmanageable pile of exceptions. At that point you want contract prices synced from the ERP, keyed by customer number.
Pick one master and write the decision down. In almost every B2B company the authoritative price already sits in the ERP, which makes Shopware a display layer — and that is a perfectly good architecture. What is not good is leaving the question unanswered: shops that never decide end up with two prices for the same product, a customer quoting the wrong one, and a sales team that stops trusting the shop entirely.
Fewer than you think. The Rule Builder can express nearly any condition, and that is precisely the danger: twenty overlapping rules become impossible for a human to reason about and they slow the cart down measurably. Keep the set small, name each rule so its purpose is obvious a year later, and move genuinely complex logic into code where it can be tested rather than guessed at.
Tie the display mode to the customer group rather than to a global setting, then test it with a real customer login before launch — not with an admin account, which sees a different world. Business buyers expect net prices, a clear tax note and their own currency. Getting it wrong does not merely look sloppy; it produces invoice disputes, and those cost more to settle than the work to do it properly.
We do this for a living — Shopware, Node.js, React, ERP integration and automation for B2B.
Talk to an engineer