Let me preface this with - we are hoping to find a simpler way to manage this. Maybe a product rule that uses lookup queries.
Also, note that these are all standalone products and not bundled products.
We have 9 product rules that are set to restrict specific products from being sold in certain states. We are trying to add a product to these rules where it can be sold in CA, MI, NY, AZ, IL, and NJ. I added this product to the corresponding product rules
Below are our an example of the current product rules:
I then wanted to test to see the result of adding the product to a quote for those states.
When I add the product to a California quote I get the following error: "Product unavailable for this state. Please remove to continue. (ISE, ISI)" That error is the validation message for Product Rule 3 for Michigan. Why would it give the error for Michigan when the quote is for California and it can be sold in California?
I then tested adding the product to a Michigan quote and I get the following error: "Product unavailable for this state. Please remove to continue. (SPARCS, ISI)". That error is the validation message for Product Rule 1 for California. Why would it give the error for California when the quote is for Michigan and the product can be sold in Michigan?
I believe it has to do with evaluation order. The evaluation order for Product Rule 1 (CA) is 380, the evaluation order for Product Rule 2 (CA and MI) is 400, and the evaluation order for Product Rule 3 (MI) is 390.
We need direction on the best way to handle state restrictions for standalone products as well as bundles. This is currently holding up the release of a product for selling and quoting.
- We would need to somehow default the Quote Billing State to a configuration attribute.
- How would we build the configuration attribute if we do the above?
- We would use the Lookup Data object that is provided with CPQ. I have created some required fields for the lookup query - Billing State and Billing City. We would still use the standard Product Field, Type Field, and required field. In the lookup data object the type would be Show or Hide & Remove.
- Build a product rule.
- Lookup Query - I am not sure how to build that as I believe it will need refer to the configuration attribute as the match type, Billing State as the Tested Configuration Attribute, Operator of Equals, and Lookup Field would be the Billing State.
Any direction with screenshots would be extremely helpful.