Rule Transparency & “Why this price”

Pinion’s rules don’t act invisibly. When a rule blocks a save, locks a price, auto-selects a product, hides a SKU, or adjusts a number, the Configurator tells the rep what happened and which rule did it. This page catalogues every one of those feedback surfaces and where it appears. (How the rules themselves are authored lives in Rules; this is purely what the rep sees.)

Validation errors and alerts

Rules raise two severities of message, and they behave differently:

  • Validation — an error. It blocks Save & sync until you resolve it.
  • Alert — a warning. It’s informational; the save still goes through.

When everything’s clean, the footer Validation card shows the all-clear:

The Validation card showing two green checkmarks: no active violations, and save flow ready
The clean state — the footer Validation card: 'No active product or pricing rule violations' and 'Save flow ready'. This is what a rep sees when nothing is blocking the save.

When a Validation rule is in error, the card lists the rule (by its number and message) with a blocking count, and the offending row carries a red badge with the same message on hover:

The Price grid with a validation error — a row badge and the Validation card showing rule PR-0019 with a 1 blocking count
A Validation error — the footer card names the rule (PR-0019, 'Acme Premium Support is required with an Acme Enterprise License') and flags it as blocking; the affected row shows a red badge with the message. Save & sync stays disabled until it's resolved.

An Alert surfaces the same way but in amber, and does not block the save — it’s a nudge:

The Price grid with an amber alert warning on the Acme Data Connector row
An Alert warning — an amber triangle on the Acme Data Connector row with 'Acme Data Connector is best paired with an Acme Enterprise License'. The rep is informed, but the save isn't blocked.

Locks

A lock badge means a rule has taken control of something so the rep can’t change it:

  • Row locks (Selection rules) — a Selection rule can lock a product added, removed, or disabled. The row shows a lock icon and a tooltip naming the rule and the reason (“Added by rule: …”, “Removed by rule: …”, “Disabled by rule: …”); the row’s checkbox is disabled accordingly.
  • Field locks (Pricing rules) — a Pricing rule can lock a line’s price or additional discount. The field renders read-only with a lock badge, and the tooltip names the rule. (You can see a locked discount on the Analytics Module row in Building a Quote → Bundle options — the 10% additional discount is rule-locked.)

A manual edit you make to an unlocked price or discount sticks — a default won’t silently overwrite it. A lock is the only thing that takes the field away from you.

Suggestions and default-selected

Not every rule cue is a hard lock. Two are soft — the rule nudges, but you stay in control:

  • Suggestion sparkle — on an unlocked price or discount field, a sparkle means a Pricing rule is suggesting a value. Accept it by leaving it, or type your own — overriding clears the sparkle.
  • Default-selected sparkle — in the Configure catalog, a sparkle on a product means a Selection rule auto-added it as a default. It’s a soft add: you can still uncheck it. (The Analytics Module carries this sparkle in Building a Quote → the Configure tab.)

Both sparkles reveal the firing rule’s name on hover, so a rep always knows where a suggested number or a pre-checked product came from.

Hidden products — the “hidden by rules” chip

When a rule hides products from the catalog, the Configure tab shows a “N hidden by rules” chip at the bottom of the product list. Expand it to see each hidden product and the rule that hid it — so a rep is never left wondering why a SKU they expected isn’t there.

The Configure catalog with a 'hidden by rules' chip expanded to show a hidden product and its firing rule
The hidden-by-rule chip on the Configure catalog — expanded to name each hidden product (e.g. Acme Legacy Connector) and the rule that hid it.

”Why this price?”

Every priced line has an info icon (ⓘ) next to its line total. Open it for the Price Waterfall — a step-by-step trace of how the price was built: from the list price down through every adjustment to the unit price, then quantity and term, ending in the line total:

The Price Waterfall modal for Acme Seat License — list price, configuration-attribute blended rate, a per-value breakdown, and the line total
The 'Why this price?' Price Waterfall — here, Acme Seat License: List $100 → Configuration Attributes blended rate (+$45, with the per-tier Standard/Professional/Executive breakdown) → unit $145 → Quantity × Term → Line Total $43,500. Each step shows its contribution so the number is never a black box.

The waterfall reflects whatever drove the price — contract/contracted pricing, a discount schedule or block tier, a configuration-attribute blend, or a Pricing-rule adjustment — and reconciles to the cent with the line total. Where a Pricing rule adjusted the line, the discount field also carries an “Added by rule” affordance inline on the grid.

Save gating

The two severities decide whether you can save:

  • Validation errors disable Save & sync. The button is greyed and its tooltip names the first blocking rule. Bundle-configuration violations (unmet required options, option constraints, feature min/max) gate the save the same way.
  • Alerts never block. You’ll see the warning, and the save proceeds.

This is the contract: if the Configurator let you save it, the rules are satisfied — and if it won’t, it tells you exactly which rule to address.

  • Building a Quote — where these badges appear in the flow (sparkles in the catalog, locks on the grid, the waterfall on each line).
  • Overview & Launch — the workspace these surfaces live in.
  • Rules · Pricing Rules — how the rules driving this feedback are authored.
  • Rule Simulator — test which rules fire, and why, without saving.