We have a product rule set up as follows in Sandbox and Production. Below is the Current Product Rule Configuration.
Product Rule Header:
- Type=Selection
- Conditions Met = All
- Scope = Product
- Evaluation Event = Always
- Evaluation Order = 10
Error Condition:
- Tested Object = Quote
- Tested Field = Boost = True
- Operator = equals
- Filter Type = Value
- Filter Value = TRUE
Price Action 1:
- Product = Product A
- Type = Enable
Price Action 2:
- Product = Product B
- Type: Enable & Add
Price Action 3:
- Product = Product C
- Type = Enable & Add
- Required = True
Price Action 4:
- Product = Product C
- Type = Hide
Configuration Rule
:
Product = Bundle 1
Results in the Configurator
In Sandbox the following is occurring in the Configurator:
- Product A is not appearing
- Product B is not appearing
- Product C is appearing and checked
In Production the following is occurring in the Configurator:
- Product A is appearing
- Product B is appearing and checked
- Product C is not appearing
What the Sales team would like to have happen is:
- Product A is appearing
- Product B is appearing and checked
- Product C is appearing and checked
What correction needs to happen to get this to occur? At a minimum I would think I would delete Product Action 4.
Thank you.
Rachel
#Salesforce CPQ & Billing #CPQ @* Salesforce Revenue Cloud *
Your instinct to delete Price Action 4 is right, and here's why it's likely the actual root cause of the environment difference, not just a cleanup step.
You have two Product Actions targeting the same product (Product C) within one rule, with directly contradictory outcomes: Action 3 says Enable & Add + Required, Action 4 says Hide. Unlike Product Rules themselves (which have an explicit Evaluation Order field to control which rule "wins" when multiple rules affect the same product), individual Product Actions within a single rule don't have a documented, configurable sequence field in the UI. When two actions in the same rule conflict like this, which one is applied can come down to internal record creation order - and if this rule was built independently in Sandbox and in Production (rather than deployed as a single unit via change set/package that preserves record order), it's entirely plausible the two environments evaluate Action 3 vs. Action 4 in a different order, which would produce exactly the opposite behavior you're seeing on Product C between the two orgs.
Given the outcome the Sales team actually wants — Product C appearing and checked — the fix is straightforward: delete Price Action 4 (Hide on Product C) entirely, and keep only Price Action 3 (Enable & Add, Required) for Product C. That removes the ambiguity rather than relying on action-order behavior that isn't guaranteed to be consistent across orgs.
One more thing worth confirming before you conclude it's purely a config issue: since Product A and B's behavior also flipped between environments (not just C), double-check that the Quote.Boost__c field is actually set to TRUE in both orgs during your test — if the condition itself isn't evaluating the same way in both places (e.g., a default value difference on that field between Sandbox and Production data), that alone could explain the whole rule appearing to "not fire" in one environment before you even get to the Product C ordering issue.