A sales manager agrees on an additional ten percent discount with a major customer across an entire product category. Two weeks later, it turns out that the net price of seventeen products is below cost price because those products already had a contract price. The webshop calculated everything correctly and the orders were delivered.
This is exactly where B2B pricing becomes complex. The problem is not that the webshop made a calculation error. The problem is that multiple valid pricing rules interacted in a way that resulted in a price below cost.
B2B pricing is the process of determining prices between businesses, where the price per customer is determined by list price, customer agreements, volume discounts, contracts and temporary promotions. That price does not simply exist in a single field. It is calculated when the buyer logs in. The order in which your system applies those rules determines whether your margin remains intact.
B2B pricing in a nutshell
- B2B pricing is more complex than B2C because the price depends on the customer, volume, contract, duration and sales channel.
- A price hierarchy determines which price wins. A common order is promotional price, contract price, customer price, group price, price sheet and list price.
- A price sheet is an alternative list price for a group of customers. A price list adds volume discounts, discounts, validity periods and category agreements.
- Product-specific agreements take precedence over category agreements. A category discount only applies when there is no product-specific price, or when the product price explicitly allows an additional discount.
- A cost-price floor prevents losses when discounts are stacked.
- For highly complex or frequently changing prices, prices can be retrieved from your ERP in real time instead of being synchronized to your platform.
- The order price is more than the sum of the product prices. Surcharges, payment costs and delivery options belong to the same pricing logic.
What is B2B pricing and why is it more complex than B2C?
B2B pricing is more complex than B2C because there is no single price per product. The same box of screws may cost customer A a different amount than customer B, while customer A may pay less per unit when ordering fifty pieces instead of ten. The price is the outcome of a set of rules, not a fixed value.
Five factors make the calculation more complex than in a consumer webshop:
- Customer. Every customer can have their own prices, discounts or contract agreements.
- Volume. Volume tiers reduce the unit price when larger quantities are ordered.
- Duration. Agreements have start and end dates and can sometimes overlap.
- Category. Discounts often apply to an entire product category rather than an individual product.
- Display. Business buyers generally calculate excluding VAT, while consumers see prices including VAT.
That last factor is often underestimated. A buyer wants to see their net price, usually alongside the list price so they can verify their discount. A dealer displaying products in their own store may need to switch to consumer prices including VAT, while their own order is still processed using B2B conditions. These are separate calculation regimes, not simply different screen views.
The foundation is also less fixed than it may seem. If you work with multiple subsidiaries, the same product may have a different list price per company. The consumer price displayed as a starting price should remain outside the calculation altogether and serve purely as informational content.
The complexity lies in the number of rules, not the number of prices.
What B2B pricing models are there?
There are four B2B pricing models: cost-plus, competition-based, value-based and dynamic pricing. They differ in where the price comes from. Most wholesalers use a combination of these models, depending on the product category.
| Model | Price based on | Works well for | Less suitable for |
|---|---|---|---|
| Cost-plus | Cost price plus markup | Stable purchase prices, transparency | Rapidly rising purchase prices, high-value products |
| Competition-based | Market price level | Comparable products, transparent markets | Defining your own market position |
| Value-based | Value delivered to the customer | Distinctive delivery or service | Commodities without a clear value proposition |
| Dynamic | Demand, cost or availability | Fluctuating purchase prices, excess stock | Customers with fixed contract agreements |
Cost-plus pricing
You take the cost price and add a fixed markup. It is simple, transparent and works well when purchase prices are stable. Some customers explicitly purchase on this basis, with an agreed percentage above cost price. The model does not take into account what the customer considers your delivery to be worth.
Competition-based pricing
You determine your price relative to comparable suppliers. This works for products that are easy to compare and in markets where prices are visible. The model is reactive: you follow the market rather than defining your own position.
Value-based pricing
The price is based on what the customer earns or saves through your delivery: shorter lead times, higher availability, less downtime or lower inventory requirements. This provides the most room for differentiation, but requires you to substantiate that value for each segment. Without that justification, the price tends to fall back to market level during the first purchasing negotiation.
Dynamic pricing
Prices move with demand, purchase price, availability or customer segment. In B2B, this is almost always rule-based and operates within predefined boundaries. If a price changes without the buyer being able to understand why, it quickly damages trust.
How does a price hierarchy work in practice?
A price hierarchy is the fixed order in which your system searches for a valid price. The platform starts at the top, checks whether a price applies and moves down to the next level if it does not. The first valid price wins.
From promotion to list price: the order
| Level | What it is | What you use it for |
|---|---|---|
| 1. Promotional price | Temporary webshop price | Campaigns, active while the price is lower |
| 2. Contract price list | Fixed prices for a small set of products | High volumes with a separate agreement |
| 3. Customer price list | Prices and discounts for one customer | Exceptions resulting from negotiations |
| 4. Group price list | Prices and discounts for a customer group | Segments such as small, medium and large customers |
| 5. Price sheet | Alternative list price per customer group | A different base price from which discounts are calculated |
| 6. List price | Standard list price per company | The starting point for every calculation |
Three rules in this hierarchy deserve particular attention:
- The customer price always takes precedence over the group price, even when the group price is lower. An individual agreement should carry more weight than a segment agreement; otherwise, your negotiation loses its value.
- The promotional price only applies when it results in a lower price than the price the customer already has. There is one setting that changes this: you can enforce that a contract price always takes precedence over a promotion, regardless of which price is lower. This prevents your largest customer from using a campaign price intended for new customers.
- The first customer price list determines the currency of the entire shopping cart. All other prices are converted accordingly. Useful when you intentionally sell in pounds, confusing when it happens accidentally.
Product versus category prices
Within a price list, there are two types of agreements: prices or discounts per product, and discounts or surcharges per product category. The system first checks the product-specific agreements. If it finds nothing there, category discounts are applied to the price sheet or list price.
They are only combined in one situation: when you explicitly allow an additional discount on a product-specific price. This creates a combined price based on two agreements. It can be useful when a customer has a contract price and an additional group discount on a category. It is also risky, because this is exactly how discounts can stack up unnoticed. Anyone enabling this option needs to know why.
The order is not a technical setting. It is your commercial policy translated into rules.
How do you protect your margin? The cost-price floor
You protect your margin by setting a hard cost-price floor. If applying a discount would bring the price below cost, the cost price is used instead. The order is not blocked and the discount is not rejected, but you no longer sell at a loss.
Three things are essential:
- Keep your cost price up to date per product. A cost-price floor based on a 2023 cost price will not protect you against today's purchase prices.
- Make your cost price available in your commercial environment. If it only exists in your ERP while the price calculation takes place on your platform, the floor effectively does not exist.
- Test discount stacking. When evaluating a platform, do not simply ask whether it supports volume pricing. Everyone does. Ask what happens when three valid discounts apply to the same product.
This setting can directly protect your margin, yet it rarely comes up during platform selection. Put it high on your list.
Contract pricing: fixed agreements, guaranteed prices
A purchasing contract establishes a fixed price for an agreed quantity within a specific period. The customer does not have to purchase the full volume in a single order, but can spread it across multiple orders. In return for the commitment, the customer receives price certainty.
When properly configured, it works like this:
- The customer sees the contract on the product page, including the contract price and remaining quantity.
- The customer chooses whether to order within the contract or outside it at their regular price.
- Multiple contracts for the same product can coexist. In the shopping cart, the product can appear multiple times, with the origin of each price visible per line.
- Ordering above the contract volume is not possible. The system tracks the remaining quantity and closes the contract when the volume has been reached.
That last point matters more than it may seem. If the remaining volume is not tracked in the system, someone in your internal sales team will end up maintaining it in a separate spreadsheet, and sooner or later that will go wrong. A contract that customers can view themselves eliminates an entire category of discussions.
Real-time pricing from your ERP system
Real-time pricing means that your platform retrieves the price from your ERP when it is requested, instead of synchronizing prices periodically. This is the right approach for highly complex or frequently changing pricing structures where synchronization itself becomes the bottleneck.
| Price synchronization | Real-time from ERP | |
|---|---|---|
| Works well for | Structured, stable prices | Complex or frequently changing prices |
| Main risk | Number of price points and outdated data | Response time during peak loads |
| Management | Set up and monitor synchronization | Monitor connection and performance |
| Source of truth | Platform follows ERP with a delay | ERP at the moment the price is requested |
The number of price points grows faster than you might expect. Fifty thousand products, eight thousand customers and a few pricing rules per combination can mean that every contract change requires huge numbers of prices to be updated.
Real-time pricing can work on two levels, and this choice is more important than simply choosing real-time pricing:
- Only the product price comes from the ERP. Cart calculations, promotions and order discounts remain on the platform. This gives you room for commercial campaigns in the webshop without changing anything in your ERP.
- The complete calculation takes place in the ERP, including VAT and order surcharges. This provides maximum consistency with your administration.
Real-time pricing only solves a problem when your pricing logic is complete and reliable in your ERP. If that logic is spread across the ERP, a pricing tool and the knowledge of three account managers, real-time pricing moves the problem instead of solving it.
That is why you should test performance using your own data. An integration should not only support a product page, but also a shopping cart with two hundred lines and dozens of simultaneous sessions on a Monday morning.
Price is more than the product amount: order rules and shipping costs
What the customer pays is more than the sum of the product prices. Order-level surcharges and discounts belong to the same logic as your product pricing. Think of small-order fees, free shipping above a certain amount, credit card surcharges or discounts based on order value.
In practice, you can define these rules as follows:
- Per webshop or shared across multiple shops, depending on your brand structure.
- Overridable per customer, so a major customer can have different conditions.
- Applicable to quotations, so a quotation shows the same total as the eventual order.
- Fixed amount or percentage, calculated on the gross or net price, with or without discounted products.
- Transferred to the administration as a separate service line, so your financial records remain accurate.
Shipping works in much the same way, with an additional layer. Which delivery options you offer depends on destination, order value, weight and volume:
- Express delivery, often based on distance and an integration with your carrier.
- Collection from a branch, where an order at an affiliated supplier can bypass the internal delivery process.
- Parcel points, retrieved through your carrier integration and stored as the delivery address.
- Dropshipment to your customer's customer's address, where tax rules are based on the billing address rather than the delivery address.
Pay attention to two practical points when configuring this. Some products need their own delivery rule, for example long or heavy goods that cannot be shipped through a standard parcel service. In a mixed cart, the system must also select the correct option based on priority. The calculation should run twice: once in the cart for an indication, and again during checkout once the address is known. Otherwise, your webshop may promise a delivery option that is not actually available at that address.
When does dynamic pricing work in B2B?
Dynamic pricing works well in B2B for products with fluctuating purchase prices and for stock that needs to be cleared. It works poorly for customers with contract agreements because price certainty is often the reason for entering into the contract in the first place.
Suitable for:
- Products whose purchase price fluctuates significantly, such as metals, plastics and energy-sensitive products.
- Excess stock, seasonal clearance and products with an expiration date.
- New customers without fixed agreements, where there is still room to adjust.
- Channel differences, such as a different margin for marketplaces than for your own channel.
Not suitable for:
- Customers with contract prices or purchasing agreements.
- Products where the buyer's own cost-price calculation is fixed.
- Any price movement that you cannot explain in one sentence to a buyer who needs to justify it to their management.
The practical approach is to let prices move based on rules with clearly defined upper and lower limits, while keeping contract agreements outside that mechanism. Dynamic pricing is a tool for part of your assortment, not a universal pricing strategy.
How do you create a B2B pricing strategy? 5 steps
You create a B2B pricing strategy by analyzing your current prices and margins, defining customer segments, building your price hierarchy, connecting your systems and continuously measuring the results. Most margin loss occurs in the exceptions, not in the standard price list.
1. Analyze your current prices and margins
Start with what is actually happening, not with what your price list says. Compare the realized price per product group and customer with the list price and cost price, and look for:
- Customers receiving a discount that nobody can explain anymore.
- Products where the margin is structurally below your target.
- Agreements made years ago that have never been reviewed.
- Orders that fell below cost because discounts were stacked.
2. Define customer segments
Segment customers based on the factors that actually influence pricing, so you can manage prices without creating hundreds of individual exceptions:
- Purchase volume and order frequency.
- Amount of service and contact a customer requires.
- Strategic importance of the relationship.
- Requirements that cost you money, such as urgent delivery or high availability.
A customer ordering a full truckload every month and entering their own orders costs you less to serve than a customer placing weekly urgent orders and making frequent phone calls. That difference can be reflected in your pricing.
3. Build your price hierarchy
Define which price belongs at which level and keep each level clean:
- Segment prices in the group price list.
- Individual agreements in the customer price list.
- Volume agreements in contracts and purchasing agreements.
- Campaigns in the promotional price list.
- A hard cost-price floor.
- Only allow discounts to stack where you genuinely need it.
The fewer exceptions you create here, the longer your pricing structure will remain manageable.
4. Connect your systems: ERP, CRM and e-commerce
Your customer should see the same price whether they call, send an email or log in. That is only possible when one system acts as the source of truth and the others follow that source. In most cases, this is your ERP. At this stage, determine:
- Whether you synchronize prices or retrieve them in real time, and at which level.
- How quickly a new contract price becomes active in ongoing sessions.
- What happens to a shopping cart created yesterday when the price changes overnight.
- How quotations handle an interim change in volume pricing.
These scenarios occur more often than expected, and the answer should be a deliberate choice rather than an accidental outcome.
5. Monitor and adjust
A pricing structure that you configure once will fill up with exceptions again within two years. That is why you need a fixed review cycle:
- Review realized margin per segment and product group every quarter.
- Review expiring contracts and old special agreements every year.
- Set an alert when a calculated price reaches your cost-price floor.
- Define clear authority: who can change prices, and above which discount percentage does someone else need to approve it?
Conclusion: B2B pricing is about rules, hierarchy and control
B2B pricing is not about storing the right price for every customer and product. It is about building a pricing structure that can handle customer agreements, volume, contracts, promotions and cost prices without losing control of your margin.
The example of the seventeen products shows why this matters. Every individual pricing rule may have been correct, and the webshop may have calculated the price exactly as configured. The problem occurs when those rules interact without a clear hierarchy or cost-price safeguard.
A well-designed B2B pricing strategy makes those rules explicit. It determines which price wins, when discounts can be combined, where the cost-price floor applies and when pricing should come directly from the ERP.
The result is more than a correct price at checkout. It is a pricing model that protects your margin while giving customers the flexibility they expect from a modern B2B buying experience.