Having multiple contracts on one quote

CPQ supports passing multiple price lists on a Quote/Agreement/Order to see both Non-Contracted and Contracted Products. Sales Representatives may want to display contracted and/or non-contracted products. In this case, you can pass a list of comma-separated contracted price lists (sequence is important because CPQ follows the same sequence as you pass it).
CPQ uses the default price list whenever a user creates a proposal. CPQ creates an account-specific price list when a user creates an agreement. CPQ tries to search if any account specific price list available or not. If the account-specific price list is available, CPQ uses it; if the account-specific price list is not available, CPQ uses the default price list.

A proposal can have the default price list but the price list item on line item record displays the applied price list item information.

Use Case

A customer has multiple accounts based on locations.

  • ABC New York
  • ABC California
  • ABC USA Operations (parent account)

If you are quoting from ABC New York and a product’s pricing is available in ABC USA Operations, the pricing should be selected from ABC USA Operations and not from ABC New York. If there is parent account for ABC USA Operations, then look for applicable parent account pricing.


There are different price lists, that is, ABC New York, ABC California, and ABC USA Operations with contract number populated on each price list.

  • ABC New York Price List contract number is 23456789.
  • ABC California Price List contract number is 12345678.
  • ABC USA Operations Price List contract number is 01234567.

You must set the parameter cntrNbr_1 in the correct sequence using the Configure Products formula button as follows:

IF ( LEN( Apttus_Config2__PriceListId__c ) > 0 , HYPERLINK("/apex/Apttus_Config2__OrderConfiguration?id=" &Id &"&cntrNbr_1=23456789&cntrNbr_2=12345678"& "&flow=NGDefault", IMAGE("/resource/Apttus_Config2__Button_Configure", "Configure Products"),"_self"), NULL)

You can provide multiple contract numbers separated by ampersand (&). If the product is found in contract number 23456789, pricing will be applied from ABC New York Price List. If not, CPQ looks for another contract number 12345678. If pricing is found in contract number 12345678, pricing will be applied from ABC California Price List. If not, pricing will be applicable from the default price list.