Rule Simulator

The Rule Simulator answers “why did (or didn’t) this rule fire?” without touching live data. Point it at a real Opportunity or Quote — or build a virtual bundle configuration — and it evaluates your rules and shows, for each one, whether it fired, and a condition-by-condition breakdown of exactly why. It makes zero database changes: no line items are written, no actions are executed.

Crucially, it runs the same evaluator the production save path uses, so what the simulator shows is what really happens — there’s no separate simulation logic that could drift.

Running it

Open the Simulator tab (under Rules) and choose what to evaluate against:

  • Existing Opportunity or Quote — pick the record; the simulator loads its persisted line items into a read-only cart and evaluates every active rule against them.
  • Bundle configuration — pick a bundle product and toggle its options on/off in an in-memory grid. This is the right mode for Selection Product Rules, which act on the cart as the rep builds it (not on saved lines).

You can also scope the run to a single rule (the Simulate button on a rule’s card jumps here pre-scoped) — other active rules are excluded so you can focus on the one you’re debugging.

What it shows

For each rule:

  • Fired / Not fired / Out of scope — and when out of scope, why (e.g. the rule is scoped to a bundle that isn’t in the cart).
  • A per-condition trace — for each condition: the tested object/field, the operator, the resolved left-hand value, the resolved comparison value, and a pass/fail verdict — so a rule that didn’t fire shows you the exact condition that failed.
  • The rule’s combine logic (All / Any / Custom) and an action summary — what the rule would do if it fired (informational only; never executed).

Plus run-level counts: line items loaded, rules evaluated, rules fired, and the resolved Summary Variables for the cart.

Rule Simulator — Simulate-against toggle, run counts, and per-rule fired/not-fired results
The Rule Simulator against an Opportunity — the Simulate-against toggle (Existing Opportunity/Quote vs. Bundle configuration), run counts (line items loaded, rules evaluated, fired), and per-rule Fired / Not fired, with Details expanding the condition-by-condition trace. Read-only — nothing is saved.

Limits & gotchas

  • Product + Pricing rules only — Approval rules aren’t simulated (use the Approval Trace, §8).
  • Out-of-scope rules are still traced — even a rule whose scope doesn’t match the cart shows its conditions, so you can debug “why isn’t this scoped to my deal?”
  • Actions are described, not run — you see what an action would do; nothing is applied and nothing is saved.
  • Bundle configuration is in-memory — toggling options here never persists.