Many companies are shifting their business models to be more adaptive and flexible, and they often need assistance in managing their product pricing, quotation, and configuration. Salesforce CPQ helps such companies focus on their deliverables rather than wrap their heads around product configuration. This article focuses on the object model CPQ follows, and will give an overview of how things fall into place at the front.
The standard objects that CPQ uses are Accounts, to store information about customers, suppliers, partners and distributors, and Opportunity, to store qualified contacts and accounts.
Opportunity and its related objects
On each Opportunity, a primary Quote is defined along with multiple non-primary Quotes. Quote stores all the information related to a product. A Quote can have multiple line items; each line item is identified as a Product. Any product, option, accessory, add-on item, etc. must be added as a Product.
Products are goods or Services sold or offered by the Company. Under Product, a variety of objects are defined.
One of the most important objects is the Price book, which tracks the prices of goods and/or services that companies offer to their customers.
- The Standard Price book has all products listed along with their default prices regardless of any custom price books that include those products. When you start creating the product records, Salesforce starts creating the standard price book.
- The Custom Price book is a separate list that has products with their custom prices, or List Price. This list is helpful when the company offers different prices based on market region, market segment or subset of customers. For example, if the company offers different prices to national and international customers, then creating domestic and international price books can be very helpful.
Each record in the Price book is a Price Book Entry. Each price book entry specifies the price in a currency that business deals in. Along with the Price book, the other important objects are Feature, Product Option and Configuration Attribute.
Product Options are products that are bundled together to help identify products that can be sold together. The Product Option fields are important in creating and modifying Price Actions.
The Product Options fields include:
- The Number field represents the order in which the product option appears on the product configuration page. The lowest number is the most preferred option and appears on top of the list.
- Quantity represents the starting quantity.
- a. Min quantity, if filled, denotes the quantity of the product that must be selected on the configuration page.
- b. Max quantity defines maximum quantity that can be selected, if filled.
- Quantity Editable field, if set as True, means the quantity can be adjusted on the product configuration page.
- Selected means the product option is selected by default.
- Required indicates that the option cannot be deselected.
- Configured SKU field creates a lookup to the product that includes this option
- Optional SKU is a lookup to the product that this option represents.
- Feature field mentions the feature this option is included in.
- Type has three options:
a. Component : Reliant on the parent object and its quantity gets multiplied by the parent’s quantity.
b. Accessory : Reliant on the parent but default quantity is static.
c. Related Product : Not Reliant on parent, acts as an extra product.
- Bundled, if marked true, means the product is bundled with a main product. The price of bundled options are included in the main product, which means it has a fixed quantity, no discount applied, and a price of zero.
- Component Code & Component Code Position. When the bundle appears in the quote line editor, this code is shown on the bundle parent quote line’s Package Product Code field.
Another important object is Product Feature. Product Features are categories within a bundle. A bundle can have multiple or no Product Features and a feature can have multiple Product Options. The fields on Features help in defining the logic by using Minimum and Maximum Options. The Minimum Options field sets the number of products that need to be sold with the main product and Maximum Option means the maximum number of products that can be added. The Number field represents the order in which product option appears on the product configuration page.
Another object is Configuration Attribute. These are associated with Features, in a lookup relationship with Feature, and can be a different set of attributes under each feature. For example, they can be used to define the region or country in which the product is getting quoted.
Apart from all the important objects stated above, one of the most important features of CPQ is defining pricing rules and product rules. With Price Rule, which targets Quote, Quote Line and Product Options, automating price calculation and updating single or multiple Quote Line fields becomes easier. Price Rules helps in setting discounts on selected products based on the criteria defined. You can set as many conditions are required for the action to trigger. Multiple price rules can run, but the order of the evaluation of price rules is important.
Product rules and price rules contain the Lookup Object field, which is populated with the object containing the fields that you want to evaluate.
Price Rules has three related objects :
- Price Condition – defining the condition that triggers the price rule.
- Lookup Query – allows mapping record on Quote Line to record in the object defined in the Lookup Object field. It finds a matching record with the same values, and retrieves a related field value from the matched record.
- Price Action – the action to be performed on the target object’s field if the conditions are satisfied.
Similar to Price Rules, CPQ also has Product Rules which evaluate the product options within the bundle based on defined conditions and perform actions in response.
Product Rules has three related objects:
- Error Condition – when the rule should fire.
- Action – defining the action, such as select or deselect the option within the bundle, or hide the option.
- Configuration Rule – defines which bundle/product the rule is applied to.
If your business demands heavy product configuration and uses various pricing models, CPQ makes the process simple while remaining powerful enough to meet your needs.
Atrium is a trusted Salesforce partner. Learn more about our Salesforce CPQ consulting services to see how we can help you.