Customer-specific pricing lets a business show an agreed price to one customer or customer group while keeping the regular catalog price for everyone else. It is common in B2B sales, where volume, contract length, service level, partnership status, or a negotiated renewal determines what a customer pays.
The difficult part is not agreeing on €22 instead of €29. It is making sure the correct price appears at every future checkout, is verified before payment, and stays attached to the resulting order or subscription. A spreadsheet can record an agreement, but it cannot enforce one.
When Customer-Specific Pricing Is the Right Model
Use customer-specific pricing when the same underlying product has different commercial terms for known buyers. Typical examples include:
- Agencies giving retained clients a preferred monthly service rate
- SaaS businesses offering negotiated seats or partner pricing
- Wholesalers and distributors selling to approved resellers
- Hosting providers offering contract rates for plans and domains
- Membership organizations with prices for affiliated companies
Do not use private contract pricing merely to run a public promotion. A coupon or time-limited discount is easier for a campaign. Contract pricing is better when the price belongs to the customer relationship and should return automatically after sign-in.
Why Duplicate Products Create Problems
A common workaround is to clone a product for every important customer: “Managed Hosting,” “Managed Hosting — Partner,” and “Managed Hosting — Customer A.” This works briefly, then creates several sources of truth.
Descriptions drift. Taxes or setup fees are updated on one version but not another. Staff select the wrong product. Private URLs are forwarded. Reports split one service across several catalog records. Every new agreement adds more maintenance.
A price list keeps one product and changes only the price for assigned customers. The public offer remains clean, while the customer portal becomes the controlled place where negotiated terms appear.
How a B2B Price List Works
- Create a price list with an internal name your team recognizes
- Assign the customers covered by the agreement
- Set a priority for cases where a customer matches more than one list
- Add only the product prices or setup fees the contract changes
- Ask the customer to sign in to the portal
- Verify the contract price at checkout and store it with the order
In PayRequest, an active matching list with the highest priority wins. That makes it possible to maintain a general “Resellers” list and a higher-priority exception for one strategic partner without rebuilding the catalog.
What Must Happen at Checkout
Never trust a price that exists only in browser state, a URL parameter, or a hidden form field. The server should identify the signed-in customer, confirm the price list belongs to the same business, select the highest-priority active match, and calculate the current contract price.
The accepted price should then be stored as a snapshot on the order or subscription. This protects the commercial record when the public catalog changes later. Existing subscriptions should retain the recurring amount the customer accepted unless a separate, explicit price-change workflow updates them.
Price Lists vs Coupons vs Quantity Pricing
| Pricing tool | Best for | Who receives it | Changes the base price? |
|---|---|---|---|
| Customer price list | Negotiated B2B contracts | Assigned signed-in customers | Yes |
| Coupon | Promotion or retention offer | Anyone with an eligible code | No |
| Quantity pricing | Seats, units, days, or volume | Buyers selecting a quantity | Calculated |
| Custom-field markup | Paid options or add-ons | Buyers selecting an option | No |
These tools can solve different parts of the same checkout. For example, a reseller can start from a private base price while a paid configuration option adds a separate markup. Keeping each rule explicit makes invoices and support conversations easier to explain.
Customer-Specific Pricing Checklist
- Give every list a clear internal owner and recognizable name
- Record why the price exists and when the agreement should be reviewed
- Use priority deliberately and document exceptional lists
- Leave unchanged items blank so they inherit the regular catalog price
- Test as the assigned customer, an unassigned customer, and a guest
- Confirm setup fees, tax, currency, coupons, and recurring billing separately
- Disable expired agreements instead of deleting their commercial history
Turn the Contract Into a Reliable Checkout
Customer-specific pricing should make negotiated business easier, not create a second catalog to maintain. One product record, controlled customer assignment, predictable priority, server-side verification, and an order snapshot are the essential pieces.
Explore PayRequest Custom Pricing to offer selected customers their agreed product price while keeping your public catalog unchanged, or create a free account to set up your first price list.
