Why customer-specific pricing is different from discount pricing
In a consumer store, price is a property of the product. Everyone sees the same price, and discounts are handled through promo codes or loyalty programs. B2B does not work that way. Price is not a property of the product but of the relationship between customer and product. The same item can have different prices for different customers based on agreements, volume, market, or a single annual contract.
This means ecommerce cannot store prices on the product in a platform database the way a B2C store does. Prices have to be retrieved dynamically based on who is logged in and which price list or agreement applies. It is an architecture question, not a feature question.
Where pricing logic should live
The most important architecture decision is where the source of truth for pricing sits. There are two main options, and the choice affects everything downstream.
Price lists in the ERP as source of truth is the most common setup in Nordic B2B. The ERP owns the customer register, agreements, and price lists. Ecommerce pulls the right price via integration at login or on each product view. This works well when price lists are complex, when the same customers are handled both by sales and through ecommerce, and when you have already invested in a structured pricing engine in the ERP.
Price lists in the ecommerce platform is the alternative. The platform owns pricing and either syncs it from the ERP or lets you maintain it directly in admin. This works well for simpler setups, when pricing logic is relatively stable, and when you want marketing to adjust prices without ERP access.
What decides is not platform strength but where the organization actually owns the pricing process today. Moving pricing logic from ERP to platform is a major change that requires a new ownership model. It is usually easier to let the ERP keep ownership and build a strong integration.
Common B2B pricing structures
Most B2B businesses have some combination of the following structures.
Customer group pricing is the simplest form. Customers are classified into groups (for example resellers, distributors, direct customers) and each group sees its own price list. All major platforms handle this natively.
Customer-specific pricing means individual customers have their own price lists on top of the group price. It might be an annual agreement, a volume negotiation, or a key account discount. Here the platform needs to handle price list layering: if the customer has a specific price, use it; otherwise use the group price; otherwise use the list price.
Volume pricing means the price drops with quantity. Either tiered (price per unit changes at thresholds) or linear. It needs to be clearly visible in checkout so the customer understands why the price changes when adding items.
Annual agreements with quarterly rebates is a more complex structure where the storefront price is one thing and the rebate is calculated separately in the ERP. This requires the platform to show price without rebate while the system tracks annual volume for later credit.
Market-specific pricing becomes relevant when you sell across countries or currencies. The same customer can have different prices depending on which market or currency the order is placed in.
Platform differences for customer-specific pricing
Norce is built for Nordic B2B and handles multi-price, price list layering, and customer-specific pricing natively at the platform core. It is often the first choice when pricing logic is complex and deep.
Shopware has a strong rule-based pricing engine where conditions can be stacked and combined. A good fit when you have composite rules across group level, customer-specific, and volume.
Magento with Hyvä provides full control over the pricing engine through open source. The B2B module has built-in support for customer-specific price lists and category-based discounts.
Shopify Plus has added B2B features with company price lists and customer-specific catalog restrictions. Works for simpler setups but hits limits with deeply layered pricing structures.
Integration is where projects actually get decided
The platform itself is not the winner or loser. It is the quality of integration between platform and ERP.
For each price call, the platform needs to know which customer is logged in, which product is being shown, which quantity is requested, and possibly which market or currency applies. The ERP needs to respond quickly enough that the page does not feel slow. In practice this often means a combination of cached per-customer price lists with live calls for critical moments like checkout validation.
Junipeer handles these flows against common ERP systems like Business Central, Visma.net, Monitor, Pyramid, and SAP Business One. See our ERP integration guide for a deeper walkthrough of data flows.
Common mistakes that make pricing implementation more expensive
The most common mistake is starting to build before pricing data is clean. If customers are misclassified, if agreements are spread across spreadsheets and PDFs, or if price lists are inconsistent between sales reps, the implementation becomes a moving target. A cleanup phase before platform build costs time but saves more.
The second most common is not defining what happens when a price is missing. If a customer has no price on an item, should the item not be shown, be shown without price, be shown with list price, or display an error? The question looks trivial but affects both UX and trust.
The third is underestimating testing. Every combination of customer, product, quantity, and price list is a test case. With a few hundred customers and a thousand articles, combinations quickly become unmanageable. Smart QA means testing representative scenarios from real order history rather than exhaustive permutation testing.
Next steps
Customer-specific pricing is a core part of B2B ecommerce but rarely an isolated project. Read our main B2B ecommerce guide for how pricing fits into the full delivery, or the B2B page for how different types of B2B businesses handle it. Contact us if you want to walk through your pricing structure and how it best maps to ecommerce.
