Posted by Greg Coolidge, Senior Consultant
Have you had difficulty building out native block pricing and discount schedules calculated by list unit price, quantity and subscription term? If so, here are some steps to help you create a custom object to store your product prices and a price rule to populate the list unit price in the Quote Line Editor.
Modifying Your Product
Start by identifying which products will use the custom pricing. Create a checkbox field on the Product Object that can be selected for all of the products that will get their pricing from the custom object.
Ensure that the products are attached to your pricebook and the list price is $0.00. Make sure that the Pricing Method is set to List.
Create this same field on the Quote Line Object. This field should be a formula checkbox field and the formula will be the API name of the field you created on the Product Object.
Your Custom Pricing Object
Next, create a custom object. Name the object something such as Custom Product Pricing and set the Data Type to Auto Number. Since you may want to change the price over time without having to create a new record, check the Track Field History box to keep track of prior prices and when they changed.
On the object add fields such as:
- Product (Lookup to the product object) – used to link the custom price to the product
- Lower Bound (Number) – used in the price rule filter criteria
- Upper Bound (Number) – used in the price rule filter criteria
- List Price (Currency) – price of the product for this tier
- Price Tier (Text) – name of the tier/range
Your Price Rule
Finally, create a price rule that will populate the List Unit Price on the Quote Line Editor when your product is selected and added to the quote. The price rule Evaluation Scope should be set to Calculator, all conditions should be met. The Calculator Evaluation Event can be set to On Calculate and After Calculate. The Lookup Object should be the API Name of the custom object created above.
After creating the price rule, create a Price Condition to look at the quote line and look to see if the check box created on the Quote Line to indicate that the custom pricing should be used is set to true.
Next, you will need to create three lookup queries. The first lookup query will compare the Product Name on the quote line with the product name on the custom object. The second and third queries will compare the quantity against the upper and lower bounds to determine which pricing record to use for selecting the price.
Finally, you will create a Price Action to override the list price on the Quote Line Editor with the price from the custom pricing object.
How It Works
Once you have activated your price rule, you are ready to test. When you add a product that has been identified as one that uses the custom pricing to your quote, the rule will populate the List Price on the QLE with the related price from the custom pricing object. It should be noted that if the user changes the quantity, then the price will change to reflect the custom price associated with that new quantity upon calculate. If the List Unit Price field is editable on the quote line editor, and the user changes the price of an item that uses the custom pricing object, the original price will override the user’s changes upon calculate. To override the custom price, a check box field could be added to the quote line and a price condition added to the price rule stating that if the field is true do not fire the rule.
Buan Consulting Can Help
Questions about custom pricing or Salesforce CPQ? We can set you up on CPQ and find ways you can better your business. Fill out our contact form or give us a call at (410) 263-2707 to speak to our team today.