Pricing Waterfalls

Every line’s price is the result of an ordered sequence of steps — start from the list price, override with a contracted price, apply volume and term discounts, mark up, clamp to a floor or ceiling, and so on. That sequence is the Pricing Waterfall, and it’s exactly what the configurator’s “Why this price?” trace replays step by step. Pinion ships a packaged Default waterfall that reproduces its built-in pricing order; on Pinion+ you can clone it and author your own.

They’re org-wide, managed in the Pinion admin app → Pricing Waterfalls (/lwr/application/ai/c-pinionAdmin).

The list and the locked Default

The list shows each waterfall’s Name, Applies To, Active state, and Version. The packaged Default carries a “Default · Locked” badge — it reproduces Pinion’s current pricing order and can’t be edited. Use Clone to edit to produce an editable copy; New waterfall (Pinion+) starts one from scratch.

The Pricing Waterfalls list showing the locked packaged Default with a Default · Locked badge, Applies To / Active / Version columns, and a Clone to edit action
Pricing Waterfalls — the locked packaged Default reproduces Pinion's built-in pricing order; clone it to author a custom waterfall.

Anatomy of a waterfall

Expand a row to see its two sections.

Steps (in sequence order)

The ordered steps Pinion runs. On an editable (cloned) waterfall you can drag (or use the up/down arrows) to reorder, toggle a step on/off, add, configure, and delete steps; on the locked Default these controls are disabled. Each step has a Step Type, an Enabled toggle, and an optional Condition / Configuration. The thirteen step types:

Step typeWhat it doesParameters
List Price LookupSeeds the running price from the pricebook list pricenone (context)
Contract Price OverrideOverrides with a contracted price when one appliesnone (context)
Block Price LookupSeeds from the matching block-price tiernone (context)
Volume DiscountApplies the discount schedule for the quantitynone (context)
Term DiscountApplies the term-length discount schedulenone (context)
Manual Discount (Percent)Applies the line’s manually-entered % discountnone (context)
Manual Discount (Amount)Applies the line’s manually-entered amount discountnone (context)
MarkupMarks the running price upPercent or Amount + value
Promo CodeApplies the deal’s promo-code discountnone (resolved at runtime)
Pricing Rule HookRuns the configured Pricing Rules at this pointnone (authored on the Pricing Rules tab)
FloorClamps so the price never falls below an amountamount
CeilingClamps so the price never rises above an amountamount
Approval GateFlags the line for approval when price breaches policynone (rules on the Approvals tab)

Steps that take parameters (Floor, Ceiling, Markup) open a small editor; the rest read entirely from line/segment context. A step can also carry a Conditionalways run (default), run only when quantity is / a threshold (Line or Segment scope), or a Custom JSON predicate. If a Ceiling is set below a Floor, the panel shows a warning (it warns rather than blocks).

An expanded pricing waterfall showing the ordered Steps table (Order, Step Type, Enabled, Condition/Configuration) and the Applicability rules table below it
An expanded waterfall: the ordered steps (each with a type, enabled toggle, and condition/configuration) and the applicability rules that route lines to it.

Applicability — which lines this waterfall prices

The rules that route lines to this waterfall: each has a Priority, Name, and optional Account Type, Industry, Region, and Currency match (blank = Any). With no rules, the locked Default acts as the org-wide fallback, while an editable waterfall is selected only by explicit per-record assignment until you add a rule.