Symptom
When changing a specific attribute value in the Solution Console (e.g., Service Type), no pricing call is triggered. The pricing does not update, and no GraphQL request is sent to the Pricing Rules Engine (PRE). Other attributes on different products (e.g., Bandwidth on a Point to Point product) trigger pricing correctly when changed.
Cause
The attribute that should trigger pricing does not have impactsPrice enabled. The CloudSense Solution Console only triggers a pricing call when a changed attribute meets one of these recognized conditions:
impactsPriceis set totrueon the attributeexternalChargeis set totrueon the attributecontextualAssociationis set totrueon the attribute- The attribute's
otherfield contains__PriceItemReference__ - The attribute's
otherfield contains__ContractTerm__ - The attribute's
otherfield contains__ProductCode__
If none of these conditions are met, the Solution Console will not fire a pricing call when the attribute value changes. Additionally, the Common Cart (the pricing request sent to PRE) only includes attribute values where impactsPrice is enabled -- so even if pricing were triggered by another mechanism, the attribute value would not be sent to PRE for key-based matching.
Custom flags like __PriceDeriving__ in the other field are not part of the OOTB pricing trigger mechanism. They require custom JavaScript plugins to handle them.
Resolution
Step 1: Identify the attribute that should trigger pricing
Determine which attribute on the Product Definition should cause a pricing recalculation when changed.
Step 2: Check the attribute's pricing flags
In Salesforce, query the attribute definition:
SELECT Id, Name, cscfga__Impacts_Pricing__c, cscfga__Other__c
FROM cscfga__Attribute_Definition__c
WHERE cscfga__Product_Definition__c = '<PRODUCT_DEFINITION_ID>'
AND Name = '<ATTRIBUTE_NAME>'
Verify whether cscfga__Impacts_Pricing__c is true and whether the cscfga__Other__c field contains any of the recognized markers.
Step 3: Enable impactsPrice on the attribute
If the attribute should trigger pricing but impactsPrice is not enabled:
- Navigate to the Attribute Definition record for the affected attribute
- Set
cscfga__Impacts_Pricing__ctotrue - Save the record
Step 4: Recompile the Product Definition
After changing the attribute definition, recompile the Product Definition using "Compile Online Rules & UI" to ensure the compiled artifacts reflect the updated pricing flags.
Step 5: Clear the cache
cssmgnt.API_1.flushCache();
Step 6: Verify
Open a basket with the affected product in the Solution Console. Change the attribute value and verify that a pricing call is triggered and the correct pricing is returned.
Additional Notes
- The six OOTB pricing trigger conditions listed above are the complete set. Any other flag in the
otherfield requires custom JavaScript plugin code to handle - If a custom plugin previously handled a non-standard flag (e.g.,
__PriceDeriving__) and was later commented out or removed, attributes relying on that custom handling will stop triggering pricing - Compare working and non-working products side-by-side to identify which flags differ on their attributes
- Enabling
impactsPricealso causes the attribute value to be included in the Common Cart sent to PRE, which is required for key-based Pricing Element matching
Priyanka Bhotika
Comments