Loading

Price Rule Faulty Calculate Scenarios on updates to List Price in CPQ

Veröffentlichungsdatum: Jul 30, 2025
Beschreibung

Issue Description

  • Customer has setup a scenario where they are trying to update the list price based on a quote line formula field


Expected Behavior

  • List Price should be updated to the appropriate value once the Quote is calculated


Actual Behavior

  • List Price is not receiving the correct value until the Quote is calculated twice (double calculate)


Customer Setup

  1. Create a Product with the Product Code sub 3

  2. Create a quote line number field called numberF__c

  3. Create a quote line picklist field called set_value__c with picklist values (test, prod)

  4. Create a quote line number field called CustomNumber__c

  5. Create a Quote Line Formula Field named netform__c - Formula value should be “numberF__c/2”

 

Price Rule 1 Setup:

  1. Calculator Evaluation Event : On Initialization
  2. Price Condition - Object: QuoteLine
  3. Field: SBQQ__ProductCode__c
  4. Value = sub 3

Price Action 1:

  1. Object: Quote Line
  2. Target Field numberF__c
  3. Formula: (CustomNumber__c*SBQQ__Quantity__c)

Price Action 2:

  1. Object: Quote Line
  2. Target Field: set_value__c
  3. Value: Test


Price Rule 2 Setup:

  1. Calculator Evaluation Event: After Calculate
  2. Price Condition - Object: Quote Line
  3. Field: set_value__c
  4. Value = test

Price Action:

  1. Object: Quote Line
  2. Target Field: CustomNumber__c
  3. Value = 51


Price Rule 3 Setup:

  1. Calculator Evaluation Event: On Calculate
  2. Price Condition
  3. Object: Quote Line
  4. Field: set_value__c
  5. Value = Test

Price Action:

  1. Object: Quote Line
  2. Target Field: SBQQ__ListPrice__c
    Formula: ROUND((netform__c*2)*1,1
Lösung
1st Calculate   Solution Column 
On Initialization Summary Variables N/A   
On Initialization Price Condiitons Price Rule 1 Condition
Quote Line SBQQ__ProductCode__c = sub 3
   
On Initialization Price Actions Price Rule 1 Actions
Quote Line set_value__c = test
Quote Line numberF__c = (CustomNumber__c*SBQQ__Quantity__c)
numberF__c = 0  
Formulas Quote Line Formula Field netform__cnetform__c = 0  
Before Calculate Summary Variables N/A Move Price Rule 2 to Before Calculate 
Before Calculate Price Conditions N/A Modify Price Rule 2 to use the condition SBQQ__ProductCode__c = sub 3 and remove the previous condition 
Before Calculate Price Actions N/A Price Rule 2 Action stays the same 
On Calculate Summary Variables N/A  Move Price Rule 1 to On Calculate
On Calculate Price Conditions Price Rule 3 Condition
Quote Line set_value__c = test
 Price Rule 3 stays the samePrice Rule 1 stays the same
On Calculate Price Actions Price Rule 3 Action
Quote Line set SBQQ__ListPrice__c = ROUND(
(netform__c*2)*1,1)
ListPrice = 0Price Rule 3 stays the samePrice Rule 1 stays the
Pricewaterfall + Prorate Multiplier     
After Calculate Summary Variables N/A   
After Calculate Price Conditions Price Rule 2 Condition
Quote Line set_value__c = test
   
After Calculate Price Actions Price Rule 2 Action
Quote Line CustomNumber__c = 51
CustomNumber = 51  
Formulas     
*End-User Value* List Price = 0   
      
2nd Calculate     
On Initialization Summary Variables N/A   
On Initialization Price Condiitons Price Rule 1 Condition
Quote Line SBQQ__ProductCode__c = sub 3
   
On Initialization Price Actions Price Rule 1 Actions
Quote Line set_value__c = test
Quote Line numberF__c = (CustomNumber__c*SBQQ__Quantity__c)
numberF = 51

CustomerNumber__c = 51 set by the after calculate in the first calculcation * 1(SBQQ__Quantity__c)
  
Formulas Quote Line Formula Field netform__cnetform__c = 25.50

50(numberF__c) / 2
  
Before Calculate Summary Variables N/A   
Before Calculate Price Conditions N/A   
Before Calculate Price Actions N/A   
On Calculate Summary Variables N/A   
On Calculate Price Conditions Price Rule 3 Condition
Quote Line set_value__c = test
   
On Calculate Price Actions Price Rule 3 Action
Quote Line set SBQQ__ListPrice__c = ROUND(
(netform__c*2)*1,1)
SBQQ__ListPrice = 51

25.50 *2
  
Pricewaterfall + Prorate Multiplier     
After Calculate Summary Variables     
After Calculate Price Conditions Price Rule 2 Condition
Quote Line set_value__c = test
   
After Calculate Price Actions Price Rule 2 Action
Quote Line CustomNumber__c = 51
   
Formulas     
*End-User Value*List Price:51.00   
 

SEE ALSO
Nummer des Knowledge-Artikels

000393536

 
Laden
Salesforce Help | Article