Salesforce Industries CPQ Product Console (formerly known as Vlocity Product Console) Explained.
What is Salesforce Industries CPQ Product Console?
The Product Console is the Hub for Salesforce Industries CPQ product catalog development.
The best customer 360 platforms leverage customer data in the CPQ process. Salesforce Industries provides a tailored order capture experience leveraging industry standards and best practices.
Using the Product Console, you can create products, pricing, rules, create foundational product-related elements, configure metadata and manage layouts.
Product management includes the creation of products, discounts, promotions, and offer migration plans.
Pricing of products is configured in the Vlocity Product Console. You can use price lists, pricing plans and variables, and time plans and policies to ensure accurate pricing based on your needs.
Functions, object level rules, and context rules are used to ensure product configurations are correct and aligned to business needs.
Attributes and picklists are created and assigned to products in the Product Console.
Additionally, metadata configurations for object classes and layouts are managed in the Vlocity Product console.
The product management section has actions for creating and viewing products, promotions, discounts, and offer migration plans.
A product is an object used to represent a commercial or technical product or service in the order capture process.
They are the core building block of a quote or order, used to capture what a customer would like to purchase.
Products are configured differently based on the purpose it needs to serve. Generally, the configuration will include product structure, product details, attribute assignment, and pricing.
There are many product modeling techniques and strategies which can be used in product modeling, however, that is not in the scope of this article.
Two ways to adjust the pricing of a product are discounts and promotions. These pricing adjustments are configured from the Vlocity Product Console.
Discounts are used to modify the price of a product. They can be applied at the Order level, Account level, or Contract level. Discounts can be applied one-time or on a recurring basis and deduct either a fixed amount or a percentage.
Order-level discounts will be applied to products on an order in isolation.
Account-level discounts can be applied to all orders related to the account with the associated discount.
Contract-level discounts work similarly to account-level discounts, but take advantage of frame agreements.
Promotions are also used to modify the price of products but differ slightly from discounts.
Most commonly, promotions are used to bundle products together and apply a discount to one or more products in the defined bundle.
Additionally, the promotion framework can limit the duration a bundle or specific offer in the bundle is discounted and the customer groups which are able to purchase the bundle.
Promotions are different from discounts such that penalty fees and continuation options can be defined for promotions while discounts support the application to sales catalogs and can automatically be applied to orders in the future (account-level and contract-level).
There are many additional differences between promotions and discounts which can be explored in the Salesforce documentation.
Offer Migration plans are used for product replacement. This is when a customer wants to replace existing assets with a new product or service in the same family.
Salesforce facilitates this process using the replace functionality. The underlying mappings for the products which can be replaced with one another are defined in the offer migration plan.
Pricing begins with the price list. Price lists are a way of grouping price list entries based on business needs.
One example of price list structure would be to have a separate price list for business and consumer segments to account for price discrepancies.
Price lists contain price list entries, which are individual prices for a product.
Pricing plans define the order of execution of the pricing engine.
Modifications to pricing plans are done through the Vlocity Product Console.
Typically you will add or remove pricing plan steps for the desired pricing plan to add additional functionality to the pricing calculation process.
For example, if you want to leverage attribute-based pricing then adding a step to the pricing plan you are using is necessary.
Pricing steps will be executed in sequential order, defined in the sequence field of the pricing plan step associated with the pricing plan.
Pricing variables are assigned to a price list entry and define if the price should be recurring or a one-time charge.
Recurring charge pricing variables can have a frequency defined which can be daily, weekly, monthly, or yearly.
Pricing elements use a pricing variable and an amount to specify the amount and frequency the price should be applied
A time plan is used to define how long a customer should be charged for a product or service. These can be applied to products and are useful when working with promotions.
Time policies can be assigned to a product’s price list entry and controls when pricing applies to the assigned product. They can be leveraged to customize promotion and discount behavior.
Time policy start policy values can include purchase date, activation date, cycle start date and first day of month.
End policy values include end of plan duration, cycle end date, set by order management and last day of month.
The overall process of assigning a price to a product begins with selecting the price list.
Once this is complete, a pricing variable is assigned to specify if the charge is one-time or recurring.
After the pricing variable is defined, the pricing element for the product is chosen.
If needed, a time plan or policy is specified.
Lastly, the effective date range is defined and the charge is marked as active.
Functions are used to specify the input and implementation name of APEX functions which can then be called in context mappings or rule conditions when complex calculation is needed.
Context rules are the most powerful rule engine configurable from the product console. These rules are used to either evaluate a condition or qualify a product based on a condition.
In order for a context rule to run, you must add it to a rule set, which is then associated with a product using the Vlocity Product Console.
Context rules have sub-elements that are used to assemble a rule. These are the context dimension, context scope, and context action.
The rule set containing context rules can be assigned to products, price list entries, promotions and discounts.
Below is a diagram of how these sub-components are combined to create a context rule assigned to a product.
Context scope is assigned to a context dimension and details the availability and visibility of variables that the context dimension can access.
When creating a context dimension you need to specify a context scope. The core OOTB context scopes are Any, Asset, Opportunity, Order, and Quote. It is best practice to use the narrowest context scope possible.
The context dimension is a dynamic value used in the context rule predicate. An action is defined based on the outcome of the comparison between the context dimension and a static value defined in the context rule.
When a contract is canceled, penalty rules and context actions define the fee for promotion or contract cancellation.
Context actions are configured to specify the fee, by referring to either a price element or using an APEX function to calculate the owed amount. The penalty rule will identify when the fee needs to apply.
Object-level rules can be used when a context rule needs to be applied to all records of a specific object.
Under the foundation section of the product console, you can define attributes and picklists.
Picklists will be assigned to attributes and attributes assigned to products.
Picklists as you are probably familiar, define a set of values that can be selected as a value for an attribute. In other contexts, you will see these picklists assigned to fields.
Attributes are assigned to products and can be configured for a specific product instance.
This is done by first creating an attribute, then assigning the attribute to the desired product object type.
Once you have added the attribute to the product object type, ensure this object is related to the product which you want to assign the attribute.
Finally, you should be able to assign the attribute to the product.
Objects can be used in product modeling to leverage abstraction and inheritance. The top level object is called an object type and children of this object type are called sub types.
Sub types will inherit characteristics from the parent object. This is commonly used for attributes and fields.
Object types and sub types can also be used as an identifier for certain types of products when they need to be identified in custom logic in the order capture process.
Objects are very useful for ensuring consistent behavior and layouts for products which are assigned the same object type.
String translations allows you to define and modify text translations for catalog components such as products, attributes and picklist values. This is a useful feature if your catalog needs to support multiple languages.
New facets and sections are created from the Product Console. Facets and sections are used to customize object layouts
Facets are the tabs on the left side of the screen. You can navigate to different facets based on what your want to configure.
Sections are contained within facets and display related fields which can be configured by a product administrator.
You can manage facets and sections for specific objects under the layout management facet.
The Vlocity Product Console is at the center of the Salesforce Industries order capture process.
The core functionality provides an interface to manage products, configure pricing and create rules.
Additionally there are tools for creating attributes and picklists, managing metadata such as objects and managing layouts within the product console.
Unfortunately, the partner learning camp exercises and Industries CPQ training environments are only available for Salesforce partners.
Disclaimer: The views and opinions expressed in this article are solely those of the author and do not reflect the views of DineshYadav.com. DineshYadav.com does not endorse any of the third party organizations or applications mentioned in the article, including their legality, integrity, quality, accuracy or any applicable intellectual property rights.