B2B pricing engine

Customer-specific B2B pricing, managed in one place and delivered by API.

Stop rebuilding contract prices and discounts in spreadsheets and application code. Define products, customers and pricing rules once — PriceRules resolves the right price for every customer through one REST API.

Free plan, no credit card. Sample data included.

How PriceRules resolves a customer-specific price

Product demo
  1. The challenge: One customer, four different prices. Price lists, override sheets, old quotes and hard-coded discounts each give a different answer for the same product.
  2. The inputs: Products, customers and rules in one place. PROD-1842 lists at $520.00. ACME DISTRIBUTORS (ACME-001) has a pricing rule: ACME-10, 10% off.
  3. Rule resolution: The engine finds the rule that applies. It checks rule scopes from most to least specific: customer + SKU, SKU, customer, then all customers. The first that matches wins.
  4. The price: $520.00 − $52.00 = $468.00. Same product, different customer, different price: NORD-002 pays $494.00 under its own rule.
  5. The API: Your application gets the price over the API. One POST to /api/v1/pricing/resolve returns the final price, the rule that was applied and why it matched.
  6. The outcome: Pricing logic in one place, not in every system. Change a rule once in PriceRules, and every application that asks gets the new price.
The problem

Customer pricing breaks when it lives in too many places.

Contract prices, volume breaks and exceptions end up spread across spreadsheets, ERP exports and application code.

  • Prices live in spreadsheets

    Every key account has its own price list, and every update means finding, editing and re-sending the right file.

  • Pricing logic is duplicated

    The storefront, the quoting tool and the ERP each re-implement contract prices and volume breaks — and drift apart.

  • Answers depend on who you ask

    Sales, ecommerce and finance can't be sure they're quoting the same price for the same customer and quantity.

How it works

From spreadsheet to API response in four steps.

PriceRules becomes the single place prices are defined, and the API is how every other system reads them.

  1. 01

    Import your data

    Upload products, customers and pricing rules as CSV. Map columns, then every row is validated and rejected rows come with a reason.

    CSV import reference
  2. 02

    Manage customer-specific rules

    Fixed prices and percentage discounts per customer, per SKU or both, with minimum quantities and priorities.

    How rule matching works
  3. 03

    Request a price

    Your application sends a customer code, SKUs and quantities to the pricing API with a workspace API key.

    API reference
  4. 04

    Get the resolved price

    The response returns the final unit price, the rule that was applied and why it matched.

    Resolve your first price
Try the engine

Change the customer or quantity and watch a different rule win.

This runs the same resolution function as the API, on a small sample workspace. The most specific rule scope that qualifies wins; within a scope, the highest qualifying minimum quantity, then the highest priority.

Customer
Product
Quantity

Rules in this sample workspace

  • Acme volume price 100+ACME-BUILD · VLV-304fixed $39.50, 100+ units
  • Acme contract priceACME-BUILD · VLV-304fixed $42.00
  • Nordic account discountNORDIC-FAB10% off
  • Trade discountall customers5% off

Products: VLV-304 ($48.00), FAS-1001 ($24.00).

Resolved unit price

$39.50$48.00

Rule: Acme volume price 100+

  1. 1This customer + this SKUMatched
  2. 2This SKU, any customerNot needed
  3. 3This customer, any SKUNot needed
  4. 4All customers and SKUsNot needed
RequestJSONPOST /api/v1/pricing/resolve
{
  "customer_id": "ACME-BUILD",
  "products": [
    {
      "sku": "VLV-304",
      "quantity": 100
    }
  ]
}
Response itemJSON200 OK
{
  "final_price": 39.5,
  "applied_rule": {
    "name": "Acme volume price 100+",
    "type": "fixed",
    "value": 39.5
  },
  "match_reason": "MOST_SPECIFIC_RULE",
  "pricing_summary": {
    "savings": 8.5,
    "message": "Customer saved 8.50 due to active pricing rules"
  }
}
Business value

Less time maintaining prices, fewer places to get them wrong.

A central pricing layer means one update instead of several, one rule instead of the same logic in every application, and one answer when someone asks what a customer pays. Estimate what that's worth with your own numbers.

h

Updating price lists, overrides, answering price questions

Pricing, sales ops, ecommerce or IT staff

$

Salary plus overhead, in USD

%

Your own estimate — start conservative

Estimated hours freed per year
173 h
Estimated labor cost per year
$7,776
Current pricing workload
576 hours per year

An estimate from your inputs only: weekly hours × people × 48 working weeks gives today's workload; the share you expect to remove, times your hourly cost, gives the estimate. It isn't a benchmark or a guarantee, and it doesn't include your subscription or the development time to integrate the API.

Architecture

A pricing layer between your data and your applications.

Keep your ERP as the system of record. PriceRules holds the pricing rules and answers price requests from the systems that need them.

Your data

  • ERP or PIM exports
  • Customer price lists
  • Spreadsheets

Brought in as CSV files, or created in the app.

PriceRules

  • Products & base prices
  • Customers
  • Pricing rules
  • Resolution engine

REST API

  • POST /api/v1/pricing/resolve
  • POST /api/v1/pricing/resolve/bulk
  • Bearer API keys

Your applications

  • B2B storefront or portal
  • Quoting & sales tools
  • Back-office jobs

Your team calls the API from these systems.

PriceRules doesn't ship native ERP or ecommerce connectors today. Data comes in through CSV imports or the app, and prices go out through the REST API, so connecting a storefront or ERP needs some development work on your side.
Pricing

Start free, upgrade when volume grows.

Every plan includes the same engine, imports and API. Plans differ in capacity and API volume.

  • Free

    For trying PriceRules with your own data.

    $0/ month

    • 2,000 price resolutions / month
    • 100 products · 10 customers
    • 200 pricing rules
    • 20 API requests / minute
  • Starter

    For small pricing teams putting a real pricing layer in place.

    $29.99/ month

    • 50,000 price resolutions / month
    • 5,000 products · 2,000 customers
    • 10,000 pricing rules
    • 200 API requests / minute
  • Growth

    Most popular

    For established B2B teams pricing across more than one channel.

    $79.99/ month

    • 500,000 price resolutions / month
    • 25,000 products · 10,000 customers
    • 50,000 pricing rules
    • 1,000 API requests / minute

Compare plans and limits

FAQ

Common questions about PriceRules.

What is a B2B pricing engine?+

A B2B pricing engine stores your base prices and the rules that change them for specific customers, products and quantities, and calculates the final price on request. Instead of each system keeping its own copy of contract prices and volume breaks, they all ask the engine.

Who is PriceRules for?+

Distributors, manufacturers, wholesalers and B2B ecommerce teams that sell the same catalog at different prices to different customers — and the developers who need to serve those prices to a storefront, portal or quoting tool.

Which pricing rules are supported?+

Two rule types: a fixed unit price, or a percentage discount off the product's base price. Each rule can target one customer, one SKU, both, or everyone, and can have a minimum quantity and a priority.

Does PriceRules integrate with my ERP or ecommerce platform?+

Not through a native connector today. You bring data in with CSV imports (for example, exports from your ERP) and your applications request prices from the REST API, which requires some development work on your side.

Do I need to replace my ERP?+

No. PriceRules sits alongside your existing systems as a pricing layer. Your ERP can stay the system of record; PriceRules answers the question "what does this customer pay for this SKU at this quantity?".

How do I try it?+

Sign in with Google or your work email to create a workspace on the Free plan. Onboarding can load sample data so you can resolve a price in the app before importing your own.

Give every system the same customer price.

Create a free workspace, load the sample data or import your own CSV files, and resolve your first price through the API.

Free planNo credit cardCSV import + REST API