Contracted Pricing

by Community Manager on ‎08-06-2015 10:44 AM - edited on ‎11-30-2017 02:17 PM by Community Manager


The Contracted Price object refers to prices you've negotiated with a specific customer and that should automatically take precedence over default Price Book prices on all quotes for that customer. These prices are referenced on the Account object and can be applied to any product in any price book.



Contracted Price Field Definitions

Field Description
Account Account for which the price was negotiated.
Contract Sales Contract that governs this price. This field will be automatically populated when you auto-generate a Contracted Price that has been included in a contract.
Discount Schedule Select a volume discount schedule to use for this product, with this customer.
Description Enter a description of the contracted price. Note: This will be copied into the Special Price Description of Quote line items using this price.
Product Select a product from any price book that you want to apply to this discount.
Filter Field Select a field to use in a filter, such as Product Family, if you want to apply this price to a set of products. If you are using a custom field, add the API name to the Filter Field as a picklist value.
Filter Value Enter the value the Filter Field should have for a product to be included in this filter.
Operator Select the operator to use when matching the contents of the Filter Field with the Filter Value.
Discount (%) Enter the percentage you want to be discounted from the product.
Price Enter the price that has been negotiated with the customer. Any value you enter here supersedes all other prices, such as lit prices or price rule applied unit pricing.
Original Quote Line The Quote Line that originated this Contracted Price. This field will be automatically populated when you auto-generate a Contracted Price.
Effective Date Enter a start date if the contracted price is temporary.
Expiration Date Enter an end date if the contracted price is temporary.


Contracted Price Functionality

Contracted Prices are only applied after adding a Product to a Quote. Recalculating will not pull in newly-created Contracted Prices.


SteelBrick CPQ automatically pulls all Contracted Prices from the Parent Accounts of the quoted Account. A widget can also be added to the Account page; this gives you an insight into all Contracted Prices that will be applicable to a Child Account. To do this, you must navigate to your Account Layout and add the "EffectiveContractedPrices" field from the "Visualforce Pages" section to your layout.


You must have a separate Contracted Price for each currency you use.


Customer Discounts

If you want to give customer discounts on individual quotes, enter the discount percent in the Customer Discount field on the quote. Any product line items on the quote that do not have a discount specified will receive the discount entered in this field. Note that this discount is calculated after any contracted prices for any products on the related Account.


Contracted Price Inheritance

Your contracted prices automatically adopt the prices of their parent accounts, unless any of the related account has different contracted prices from its own parent. To prevent an account from automatically applying its parent's contracted prices, enter 0 discount amounts manually for each product in the contracted prices listed for that account.


An inherited contracted price can conflict with another one enforced on the account itself. When a conflict exists, the contracted price on the account overrides the inherited one. When conflicts exist amongst the inherited contracted prices, the one for the immediate parent overrides any further up in the hierarchy.


Note: When you add to a quote a percent of total product that has a Contracted Percent (%) discount, Salesforce CPQ stores the percentage discount value on the quote line’s Special Price field.



Admins may need to modify the following page layouts:

  1. Add the Contracted Prices related list to the Account object Page Layout
  2. On the Account Page Layout, navigate to the Contracted Prices related list and add the Contract and Original Quote Line Fields
  3. Add the Original Quote Line Field to the Contracted Prices object Page Layout.


Inheriting Contracted Pricing

If your organization uses the Parent Account field on accounts, contracted prices can be inherited from that parent account, a grandparent account, or any account up through the hierarchy.

To view the inherited contracted prices: 

  1. Edit your Account Page Layout.
  2. Create a new section to show contracted prices from the parent account. It should be 1 column wide.
  3. Drag-and-drop the EffectiveContractedPrice VisualForce page to this new section o your Account Page Layout.
  4. Set the height at enough space to view the appropriate number of contracted prices for any account (i.e. 200px).
  5. Select Show Scrollbars, if necessary.


Tip: Consult the Salesforce Help & Training for information on editing page layouts and adding VisualForce pages to page layouts.

Note: The new VisualForce page includes contracted prices from the immediate parent in the Parent Account field on the account as well as their parent up through as many parents as each parent account has. 

by Sven
on ‎09-11-2015 12:51 AM

There is a typo on this page.


The first line in the "Inheriting Contract Pricing" states:

If you organization uses the Parent Account field on accounts, contracted prices can be inherited fro that parent account.


I believe the "fro" should be changed to "from"

by Community Manager
on ‎09-17-2015 04:01 PM

Hi @Sven, thanks for catching that, we have made the change so "fro" now reads "from".  Thanks again for notifying us of this mistake!

by Jason
on ‎08-16-2016 04:22 PM

I set up a Contracted Price but left the Discount Schedule field blank. However, the Discount Schedule on the product is being applied as well as the Contracted Price. How do I go about stopping that? If there is a Contracted price, I want the Discount Schedule to be ignored.

by wsupinski
on ‎08-16-2016 04:31 PM

*bump* I see the same thing Jason and wonder the best practices in this example.

by Community Manager
on ‎08-16-2016 04:36 PM

create a price rule to remove the discount schedule if a contracted price exists 

by wsupinski
on ‎08-16-2016 04:46 PM

@DGold Hello, just to clarify you mean a price rule that checks if the SBQQ__QuoteLine__c.SBQQ__GenerateContractedPrice__c and if it is not blank then set the following fields to blank:






by Community Manager
on ‎08-16-2016 04:48 PM

correct. you probably do not need to remove the Tier.  removing the schedule alone should work

by wsupinski
on ‎08-16-2016 04:50 PM

ah, thanks!

by Community Manager
on ‎08-16-2016 05:00 PM

the discount schedule is never automatically removed.  someone may want to have a contracted price to take $2 off the list price but they still want the discount schedule to fire

by eching
on ‎08-18-2016 04:11 PM

How do I configure Contracted prices in different currencies?

by glafagne
‎10-18-2016 08:27 AM - edited ‎10-25-2016 10:12 AM



The doc above says: 


  • Tip: You must have a separate Contracted Price for each currency you use.

By default, Contracted Price use the currency of the Account but you can also fill in a different currency. For this you you might have to add on the Contracted Price layout the Currency field.

by SummaTech
on ‎03-29-2017 08:45 AM
Can we do contracted prices based on custom fields added to the Contract Price object? We have another product category that our users want to use to update contract pricing. Is this possible by simply adding the custom field to the object and allowing the users to set the contracted price by this new custom field?
by wsupinski
on ‎03-29-2017 11:07 AM

@SummaTech that solution will partially work but you will need to update the Salesforce CPQ fields that control the price such as discount % or Price or maybe even discount schedule.

by glafagne
on ‎04-20-2017 03:32 AM



I cannot see anymore on this page what is the default value for the Currency when creating a Contracting Price.

Is it still the currency of the Account or has it changed?

Why isn't the Currency listed in the fields table?




on ‎05-10-2017 05:18 PM

Can someone please confirm if contracted price overides List Unit Price or Regular Price.


The following community article indicates that it overides Regular Price which indicates that the Proration Multiplier would be ignored when using Contracted Pricing.


by glafagne
on ‎05-11-2017 03:47 AM

Hello DanHansen,


Here is my understanding:




Hope it helps,

Gilles Lafagne

by Elissa
on ‎10-30-2017 09:04 PM

Contracted Prices are not being applied to my quote lines.  The Contracted Price field is populated when the line is created, but the List Price and the Special Price both contain the normal list price (which is stored in a custom table and inserted via Price Rule).  Is there something I need to do with my Price Rule to ensure that the Contracted Price "wins"?  (i.e., do I need to have a condition in the rule that sets List Price that prevents it from running if the Contracted Price lookup is populated?)