You must define (explicitly) which contracts to be used in quotes.
You can define the contracts to be used in a quote at:
- Quote Level: Use a specific contract or a set of contracts to explicitly pass the contract number(s) in the Configure Products action. You must create a custom button and add the parameter cntrNbr_1 to the button formula. CPQ determines the contract pricing for quotes based on the parameter in the cart.
- Quote Line Item Level: Sales Representatives can add the contract number at the quote line item level. The Contract Numbers field is available on the Line Item record. This applies contract pricing on specific line item only. This parameter is useful when users want to use different contracts for different products. They can apply contract pricing on specific set of products or some other criteria based on condition and not on all products.
When the quote is priced, for each line item, first the price list associated with the first contract on the list is evaluated. If the part is not found on the price list, then the next contract number is evaluated, and so on. If part is not found in any of the price lists associated with the contracts on the list, then the standard price list is used.
Prerequisites
- The contract must be active.
- Contract has the contract number populated and a Price List associated with it (the Related List will have the Price List).
- The contract number on the price list must be the same as the contract number on the Contract.
To define a contract to be used in quote
You must be in the Quote/Proposal object.
- In CPQ Console, go to Setup > App Setup > Create > Objects.
- Scroll down the list and click Quote/Proposal.
- From Custom Fields & Relationships, click New.
- From Data Type, select Formula and click Next.
- Enter a mandatory Field Label and press Tab on your keyboard, the Field Name is auto-populated. For example: In Field Label, enter Configure Products (Contract Pricing), the Field Name is auto-populated with Configure_Products_Contract_Pricing.
- From Formula Return Type, select Text and click Next. The Step 3. Enter formula page is displayed.
- Type the code in the area displayed and click Next. See example code.
![](/cpq/files/202407.2.0/salesforce/143197355/143198291/1/1614939163364/newcontractpricingcode.PNG)
- On Step 4. Establish field-level security page, make the necessary changes and click Next.
- On Step 5. Add to page layouts page, select the page layout that should include this field and click Save.
The Configure Products (Contract Pricing) action button is displayed on the Quote/Proposal page.
Alternately, you can also create a field on the Quote header and enter comma separated contract numbers in that field. Use the following formula text for the Configure Products button. The system automatically looks into contract numbers provided in sequence.
IF ( LEN( Apttus_QPConfig__PriceListId__c ) > 0 , HYPERLINK("/apex/Apttus_QPConfig__ProposalConfiguration?id=" &Id& "&cntrNbr_1="&Contract_price_list_1__c,IMAGE ("/resource/Apttus_QPConfig__Button_Configure", "Configure Products"),"_self"), NULL)
CODE