Pricing Methods
A line’s price is never a single number you set — it’s built, step by step, by the pricing waterfall. Each step starts from the running per-unit price and adjusts it; the methods you configured in Catalog & Pricing Setup are the steps. This section explains what each method does and the order it runs in.
The waterfall order
Pinion’s packaged order — the same sequence the configurator’s “Why this price?” trace replays:
- List price — seed the unit price from the pricebook.
- Block price — if the product is on Block pricing, replace the seed with the quantity-band tier.
- Contracted price — if a negotiated per-Account/Product rate applies, it replaces the unit price.
- Volume discount — apply the quantity-based discount schedule.
- Term discount — apply the duration-based schedule.
- Manual discount — apply the rep’s per-line Additional Discount (% then amount).
- Markup — mark the price up by a percent or amount (when configured).
- Promo code — apply the deal’s promo-code discount.
- Floor / Ceiling — clamp the running price so it never falls below a floor or rises above a ceiling.
Two more methods compose into this rather than sitting as a single step: config-attribute pricing builds the unit price from the rep’s attribute choices, and MDQ runs the waterfall per segment with per-year uplift. Percent-of-Total is a method of its own — a line priced as a share of the other lines.
From unit price to line total
The waterfall produces a per-unit price. The line total is then:
unit price × effective quantity × term
— where effective quantity is the billable quantity (raw quantity × bundle multipliers / segment proration), not the raw number the rep typed. Every surface that shows a price must reconcile to this, to the cent.
”Why this price?”
Because the price is a sequence, Pinion can show its work: the Price Waterfall (the ⓘ next to a line total) traces every step — list → adjustments → unit price → quantity & term → line total — so the number is never a black box. See Configurator → Rule Transparency.
Computed twice, on purpose
Pricing runs in two parity-locked engines: a client engine computes live as the rep configures (so the deal reacts in real time), and an authoritative server engine recomputes on save — the persisted price is always the server’s, which protects against tampering. The two are kept in lockstep; a divergence is a bug, not a choice.
Related
- Base Price · Config-Attribute Pricing · MDQ · Discounts & Promos · Percent-of-Total
- Catalog & Pricing Setup — where each method is configured.
- Configurator → Rule Transparency — the rep-facing “Why this price?” trace.