Skip to main content

Hello, 

I am trying to understand best practice for discount schedules when applying to a brand new sale and when applying to an amendment. Here are the scenarios:

  1. New Sale - pulls in current discount schedule. The discount schedule is using either the SBQQ__Quantity__c field or a custom quantity field. Cross Orders is checked true. Some discount schedules have aggregation scope blank and some have aggregation scope set to Product.
  2. Amendments - subscriptions lines being pulled in through the amendment process apply the original discount schedule as expected. Any new lines added are applying old discount schedules without a tier. But we want the new discount schedule to apply to new lines. Things to note are in number 1 above the SBQQ__QuoteLineQuantityField__c and the fact that Cross Order is checked as true. I have written a price rule that does the following and is working as expected on the new lines but I am not getting the Discount Tiers. Do I need an additional price rule to apply the tier or do I need to create duplicate Discount Schedules that look at the SBQQ__EffectiveQuantity__c field for amendments?
    1. Price Rule Header
      1. Evaluation Scope: Calculator
      2. Lookup Object: SBQQ__DiscountSchedule__c
      3. Calculator Evaluation Event: Before Calculate
    2. Price Conditions
      1. SBQQ__Existing__c equals false
      2. SBQQ__Product__c not equal to blank
    3. Lookup Query
      1. Query 1
        1. Tested Object: Quote Line
        2. Match Type: Field Value
        3. Tested Field: SBQQ__Product__c
        4. Operator: equals
        5. Lookup Field: SBQQ__Product__c
      2. Query 2
        1. Tested Object: Quote
        2. Match Type: Field Value
        3. Tested Field: SBQQ__PricebookId__c
        4. Operator: equals
        5. Lookup Field: SBQQ__Pricebook__c
      3.   Query 3
        1. Match Type: Static Value
        2. Tested Value: true
        3. Operator: equals
        4. Lookup Field: Active_for_New_Quote_Lines__c
      4.  Query 4
        1. Match Type: Static Value
        2. Tested Value: 2026
        3. Operator: equals
        4. Lookup Field: APricing_Year__c
    4.  Price Actions
      1. Price Action 1
        1. Target Object: Quote Line
        2. Target Field: SBQQ__DiscountSchedule__c
      2. Price Action 2
        1. Target Object: Quote Line
        2. Target Field: SBQQ__DiscountSchedule__c
        3. Source Lookup Field: Id

Thank you. 

 

#Salesforce CPQ & Billing  #CPQ

0/9000