B2B Pricing Strategy: Contract vs. Dynamic Rules — CommerceWeave
B2B Commerce

B2B Pricing Strategy: Contract vs. Dynamic Rules

Designing a pricing architecture that handles contracts, volume tiers, and dynamic rules without manual intervention.

CommerceWeave TeamFebruary 20, 20267 min read

The B2B Pricing Complexity Problem

B2C pricing is simple: one price, visible to everyone, occasionally discounted. B2B pricing is a different universe. A single product might have a list price, a contract price for Customer A, a different contract price for Customer B, a volume-tier discount that kicks in at 100 units, a promotional overlay for Q1, and a cost-plus markup that varies by customer segment.

Most commerce platforms handle B2C pricing natively and bolt on B2B pricing as an afterthought. The result is a fragile pricing layer that requires manual overrides, cannot handle complex rule hierarchies, and frequently shows buyers the wrong price. When a buyer sees a price on the website that does not match their negotiated contract, trust erodes immediately.

The root cause is architectural. B2C platforms store prices as static values attached to products. B2B pricing requires a calculation engine that evaluates rules in a specific hierarchy: contract overrides volume tiers, which override promotional pricing, which overrides list price. This engine needs to run in real time, on every page load, for every authenticated buyer.

Contract Pricing Architecture

Contract pricing is the foundation of B2B commerce. Each customer (or customer group) has negotiated prices for specific products or product categories. These contracts live in your ERP as the source of truth, with expiration dates, renewal terms, and approval workflows.

An ERP-native commerce platform reads contract prices directly from the ERP, ensuring the storefront always reflects the latest negotiated terms. When a sales rep updates a contract in the ERP, the change is immediately visible to the buyer online. There is no sync delay, no batch update to wait for, no mapping to validate.

The implementation pattern is straightforward: when an authenticated buyer loads a product page, the pricing engine queries the ERP for that buyer's contract. If a contract price exists, it takes priority. If not, the engine falls through to volume pricing, then promotional pricing, then list price. This waterfall executes in milliseconds because it queries the ERP directly.

Dynamic Pricing Rules

Beyond contracts, B2B pricing often includes dynamic rules that apply across customer segments. Volume-tier discounts (buy 100+ units, save 15%) are the most common, but modern B2B pricing also includes time-based promotions, bundle pricing, margin-floor protections, and competitive response rules.

The key design principle is rule composability. Each pricing rule should be an independent module that can be enabled, disabled, or modified without affecting other rules. The pricing engine evaluates all applicable rules in priority order and applies the result. This makes it easy to run promotions without breaking contract pricing or to add new rule types without rewriting the engine.

CommerceWeave implements this through a policy-based pricing architecture. Each pricing policy has a priority, a set of conditions (buyer segment, product category, quantity, date range), and an action (flat discount, percentage discount, fixed price, cost-plus markup). Policies are evaluated top-down, and the first matching policy wins. This gives pricing administrators fine-grained control without code changes.

CW

CommerceWeave Team

Clarity Ventures

Frequently Asked Questions

Ready to see ERP-native commerce in action?

Book a Commerce Blueprint walkthrough and see how CommerceWeave maps to your ERP and business model.