CPQ Training 2022-2023
CPQ Training 2022-2023
1
Schedule & Prerequisite
2
Program Agenda
➔ Classroom, Labwork, Homework, Trailhead, CPQ dev
org, Questions Practise, Quiz
➔ Week 1 - Intro, End2end flow, Products Concept
➔ Week 2 - Guided Selling& Price Waterfalls,
➔ Week 3 - Bundles, Discounts
➔ Week 4 - Contracts, Subs,Renewals, Amends, Returns
➔ Week 5 - Templates, Approvals
➔ Week 6 - Practical scenarios
3
Program Overview
➔ Class Trailmix
➔ Exam Outline
➔ Online QA
➔ Sample questions Community
➔ bit/sfdcfreedumps
➔ READ full guide
➔ Helpdoc online
4
WEEK - 1
5
Week-1 Agenda
❖ Wednesday
➢ CPQ Intro, CPQ pkg Settings, CPQ objects & ERD
➢ CPQ End2End Demo
➢ CPQ Products Settings
❖ Friday
➢ Multi Dimensions, Subscriptions Settings, Renewal settings
➢ Field Sets ,Twin fields and Special Fields
Trailhead:
https://trailhead.salesforce.com/users/spusuluri2/trailmixes/mycpq
6
Wednesday
7
What is CPQ
● Configure
● Price
● Quote
8
CONFIGURE
9
PRICE
10
QUOTE
11
12
13
14
CPQ DATA FLOW
15
End2End Demo
16
CPQ CYCLE SEQUENCE
❖ CONVERT LEAD
➢ CREATE OPP
■ CREATE QUOTE
■ APPROVE QUOTE
◆ SYNC PRIMARY QUOTE
➢ CLOSE OPP
■ ORDERED/CREATE ORDER/Activate Order
● CONTRACTED/CREATE CONTRACT
◆ BILL NOW/GENERATE INVOICE
◆ ADDON CONTRACT
◆ RENEW FORECAST
◆ RENEW QUOTE
17
CPQ
19
Sample Product
Product Fields
● Pricing Fields ● Renewal Fields
● Subscription Fields ● Workflow Fields
● Quantity Fields ● Bundle Fields
● Discount Fields ● Billing Fields
MDQ
20
Product Attributes
● Family,Category&Type
● Activate,Pricebooks
● Quantity, Term
● Price Types
● Subscription Types
● Renewal Behaviour
● Multi Year Behaviour
● Renewal Product
● Bundles(next class)
21
Product Pricing Methods
● List Price
● Cost&Markup
● Block Price
● Percent of Total
● Contracted Price
● Editable Price
22
Pricing Influenced by
● Discount schedules,
● Block pricing,
● Contracted prices,
● Subscription pricing,
● Percent-of-total
● Bundle Pricing
23
Subscription proration
24
25
DISCOUNT TYPES
● Volume discounts
● Term Discounts
● Contracted Discount
26
CPQ SPECIAL FIELDS
https://help.salesforce.com/s/articleView?id=000312751&type=1
27
COST + MARKUP PRICE
28
BLOCK PRICING (with Overage)
29
Week1 Labwork(PART A - Kalpana)
QUIZ:
Create a quote SOLUTION
● LIST
● COST +MARKUP ● Configure Product
● BLOCK
● % of total (add another product
●
to show % based on)
30
WEEK - 2
31
Product Rules & Price
Rules
32
PRICE RULE VS PRODUCT RULE
➔ PRICE RULES ➔ PRODUCT RULES
◆ CONDITIONS MET ◆ CONDITIONS MET
◆ EVALUATION SCOPE ◆ PRODUCT RULE TYPE
◆ EVALUATION EVENT ◆ OBJECT SCOPE
◆ EVALUATION ORDER ◆ EVALUATION EVENT
◆ PRODUCT ◆ EVALUATION ORDER
◆ LOOKUP OBJECT ◆ LOOKUP OBJECT
*IMPACTS PRICE *IMPACTS PRODUCT
33
Product Rules and do Trailhead
34
Price rules
● Evaluation Sequence
● Evaluation Methods
● Save Methods
● Summary Variables
● Formula fields
● Lookup Table
● Price Guidance*
35
Configure price rules
36
WEEK - 2(day2)
37
Price Rule with Lookup
● Create Lookup Object with Fields(Key-Value)
● Price Rule add Lookup Object
● Create Matched QuoteLine Picklist in Tested
Field, and matched Key in lookup object as
Lookup Field in Lookup Query Object
● Price Action Add Picklist in Source LookUp Field
(Mapped Value in lookup Object)
38
Guided Selling
● Create Quote Process
● Create Mapping Fields on Process Input
● Create Picklist Fields Process Input Input Field
● Update Quote with Quote Process ID (flow)
● We may Add multiple Process Inputs
● Optionally Add Process Input Conditions
39
Fieldset
● Quote Line
● Quote Header
● Quote Calculating Fields
● Quote Line Segments(not available)
40
https://fireship.io/courses/
QCPPluginV1.1:
/**
* This method is called by the calculator before calculation begins, but after formula fields have been evaluated.
* @param {QuoteModel} quoteModel JS representation of the quote being evaluated
* @param {QuoteLineModel[]} quoteLineModels An array containing JS representations of all lines in the quote
* @returns {Promise}
*/
export function onBeforeCalculate(quoteModel, quoteLineModels) {
return new Promise((resolve, reject) => {
//Loop all Quote Lines
quoteLineModels.forEach((quoteLine) => {
//Loop all components. If there aren't components, it is not going to execute the code below
quoteLine.components.forEach(component => {
//accumulate the component quantity into the parent quote line custom field
quoteLine.record.Your_Custom_Field__c += component.record.SBQQ__Quantity__c;
});
});
resolve();
});
}
41
Other Price Related Info
43
Week2 Labwork
QUIZ:
SOLUTION
Create a cloud quote with AWS as
cloud Provider, US West Region, with Configure Custom Fieldset in
3 Zone Where the LIST price of cloud with 3 custom fields input in QLI
sku should be calculated
automatically !! Instead of $20 it Configure Lookup Price Rule
should be $25!! With 20% overhead
44
WEEK - 3
BUNDLES
45
BUNDLE TYPES
46
BUNDLE = MAIN PRODUCT + OPTION PRODUCT
47
Product Options
48
Product FEATURES
49
Complex Config :
Features (min option/max options)
Option Product: Required/Quantity Editable/Mim quantity/max quantity
50
SELECTOR-> CONFIGURATOR -> EDITOR
Step-1
Step-2
Step-3
51
52
CONFIGURATION TYPES & CONFIGURATION EVENTS
53
OPTION LAYOUTS
1- SELECTIONS 2- TABS
3 - WIZARD
54
OPTION SELECTION METHOD
55
Product Option Type
[Component is default]
Each combination of values of the
Product Option Type and the
Product Option Quantity Editable
checkbox provide a unique user
experience.
56
CONFIG ATTRIBUTES
57
Config Attributes (country)
Step1 : Create a
Matching API name in
product option(s) &
Quote Line
58
Dynamic Bundle
Step1 : Create a
Matching API name in
Product&Product
Options
Step2: Create a Matching
Feature
Step3: Create Product
Rules (FILTER)
59
Attributes (Inline -within
feature)
Inline:
Step1 : Create a Matching API name in product option(s) & Quote Line
60
Attributes ( Global)
Global:
Step1 : Create a Matching API name in product option(s) & No need
Quote Line to create
Step2: Create Global Attribute these in
Step3: Create Attribute Sets &Attribute Items each
Step4: link product options to product attribute sets product
option
61
Dynamic Code &Description Trailhead
62
Recap& Trailhead
● Products,Pricebooks,MDQ ● Bundles-Options-Features
● Pricing Methods,Discounts ● Bundle Config Type, Config
● Subscriptions<Renewals event
● Option selection, Option
Config,Prorated Pricing layout
● Price Rules ● Option Types
● Product Rules -component/related/accesso
● Guided Selling ry
● Attributes
● Twin Fields ● Dynamic Bundles
63
Week3 Labwork
QUIZ:
Configure Complex Bundle With
Config Attributes For example
Laptops sold in US will have different
SOLUTIO
option products those were sold in
UK (like keyboards are of different
N
types)
64
WEEK - 4
Quote Template
65
Global Settings(Package Level)
66
● your company [1],
● your customer [2],
● the sales rep [3],
● the products and their
prices [4], a signature
block [5]
And
6
● Terms & Conditions [6]
68
Shipto &Billto from Quote
69
Contact Info ( Quote)
70
71
Template Bottom
72
Merge Fields Example
73
74
Quote Template Logo&watermark
75
Quote with Template ID
76
77
78
Quote Terms
79
Quote Term Object Fields
80
Quote Term with Conditions
81
Other Resources
Trailhead
https://trailhead.salesforce.com/en/content/learn/modules/quote-tem
plates-in-salesforce-cpq
82
Quote PDF
● Dynamic Terms
● Conditional Format
● Watermark & Logo
● Modify Terms
● Docusign
83
Quote Templates
● Watermark
● Logo
● Multiple templates
● Term conditions
● quote terms,
● Document format
● line columns,
● Conditional print
● template sections and
● Add docs for quote
● template content
● Add docs to template
● Dynamic terms
● Modify terms
84
WEEK - 5
85
Amends Renewals and
Subscriptions
86
WEEK - 6 (Approvals)
87
Advanced Approvals
88
TYPES OF TRANSACTIONS
❖ New business
❖ Renewal
❖ Addon/expansion
❖ Early Renewal
❖ Partial Cancellation
❖ Full cancellation
❖ Debook&Rebook
❖ Product replacements
❖ Multi Year expansion
❖ Partial addons
89
N
E
W
A
M
E
N
D
R
E
N
E
W
A
L
90
ADVANCED APPROVALS
91
ADVANCED APPROVALS
❖ Trailhead link
https://trailhead.salesforce.com/content/learn/modules/advanced-approvals-for-admins
92
93
94
Advanced Approvals
95
ADVANCED APPROVALS
96
97
EXAM Questions
● Exam Guide
98
EXAM Questions
WEEK 2 REVIEW
99
PRICING
METHODS
A. Block Pricing
B. List Pricing
C. Rollback Pricing
D. Cost Pricing
100
PRICE RULE
B. Price Display
C. Price Action
D. Price Condition
101
PKG CONFIG
While making changes in the Quote Line Editor, sales reps have mentioned that
clicking the Calculate button after each set of changes is too slow. Management has
asked the Admin to Streamline the Quote Line Editor so calculations occur
automatically after each change is made.
Which Managed Package setting should the Admin enable to meet this requirement?
A . Calculate Immediately
B . Use Legacy Calculator
C . Use Inactive Prices
D . Enable Quick Calculate
102
PRODUCT
CONFIG
UC sells a product which must be priced as 10% of the total of all other fixed-priced
products present on a quote.
103
PRICEBOOK
CURRENCY
Universal Containers has a single Price Book for several currencies. The Admin is creating a
Primary Quote from an Opportunity and notices the Quote inherits the Price Book from the
Opportunity. Which Product will be available within the Product Selection page?
B. All Products with Price Book Entries when Dated Exchange Rates are enabled.
104
PRICE RULE
(CUSTOM
CONDITION)
Universal Containers wants to apply an additional discount of 15% to the Quote when Payment
Frequency is Monthly or Bi-Weekly and Product A is added or User Count greater than 25 is
defined.
a. One Price Rule with Conditions Met set to Custom, three Price Conditions, and one Price
Action.
b. Four Price Rules with Conditions Met set to All, one Price Condition each and one Price Action
each.
c. One Price Rule with Conditions Met set to All, four Price Conditions, and one Price Action.
d. Two Price Rules with Conditions Met set to All, one Price Condition on one rule and two on the
other, and one Price Action each.
105
PRICE RULE
Bolt.Today wants to update the Quantity of a Product in the Line Editor with a Price Rule. The rule should
apply only for this one specific Product. What should the Admin do to ensure that the Price Rule only
changes Quote Lines referencing this Product?
A. Create a Price Condition against a Quote Line field that contains a value that is unique to the product
selected.
B. Create an Error Condition against a Quote Line field that contains a value that is unique to the product
selected.
C. Fill in the Product field on the Price Rule with the Product.
D. Fill in the Lookup Object field on the Price Rule with the Product.
106
PRODUCT
CONFIG
Bolt.Today wants its premier service, Shipping Plus, to appear at the top of
Product Selection when users add Products to the Quote.
How can the Admin Configure the Shipping Plus Product record to meet this requirement?
A . Set the Product’s Sort Order as the only null Sort Order of any Product.
B . Set the Sort Order as the lowest numerical value of any Product’s Sort Order.
C . Set the Product Code as the first alphabetically of any Product’s Product Code.
D . Set the Product’s Product Code as the only null Product Code of any Produc
107
FIELDSETS
To which Field Set does the Admin need to add the Additional Discount field?
A . The Quote Line object’s Summary Fields Field Set
B . The Quote Line object’s Line Editor Field Set
C . The Quote Line Group object’s Line Editor Field Set
D . The Quote object’s Line Editor Field Set
108
TWIN FIELDS
Universal Containers wants to default information on the Quote Line from a Product
field. How should this information be transferred?
a. Create a cross-object formula field that stores the Product Field’s value in the
Quote Line field.
b. Create two fields with the same API name and type on the Product and Quote Line.
c. Create a Price Rule that stores the Product field’s value in the Quote Line field.
d. Create a Workflow Rule that stores the Product field’s value in the Quote Line filed.
109
Bundle
Product
110
Bundle
Product
Bolt.Today (UC) has Product Options in a bundle that must be displayed in the
Quote Line Editor to the User. However, UC does not want these Product Options
to display on the Quote Document that is generated and presented to the
Customer. How should the Admin set up the bundle to meet these requirements?
C. Set the Quote Line Visibility field to Editor Only on the Product Option.
D. Set the Quote Line Visibility field to Always on the Product Option.
111
Configuration
Attribute
112
Bundle
Product
The Admin at Bolt.Today wants to add Maintenance and Support products to the parent bundle.
Maintenance and Support products should display in separate sections during configuration, with
the Support products displaying above the Maintenance products.
How should the Admin set up the Product to meet both requirements?
A.Create two Production Options Maintenance and Support. Maintenance will always display
first, due to alphabetical ordering.
B.Create two Product Features, Maintenance and Support. The Support feature should have a
lower value in the “Number” filed.
C.Create two Product Features, Maintenance and Support. Maintenance will always display
first, due to alphabetical ordering.
D.Create two Product Options, Maintenance and Support. The Support option should have a
lower value in the “Number” field.
113
Bundle
Product
Bolt.Today wants to prevent users from selecting a Product Option when a conflicting one
has been chosen. The Product Options that should not be selected should not be displayed
to the users. The Admin needs to set up a Product Selection Rule to meet this requirement.
Which Type should be used for the product Action?
A.Hide
B.Disable
114
Bundle
Product
Bolt.Today requires that all users add at least one Product Option from the Maintenance
Feature to a bundle. Additionally, users must select at least one and no more than two
Product Options from the Support Feature.
How should the Admin set up these requirements for the users?
A.Set Min Options and Max Options to zero for Maintenance. Set Min Options to zero
and Max Options to two for Support.
B.Set Max Options for Maintenance to one. Set Min Options to one and Max Options to
two for Support.
C.Set Min Options for Maintenance to one. Set Min Options to one and Max Options to
two for Support.
D.Set Min Options for Maintenance to one. Set Min Options to zero and Max Options to
two for Support.
115
CPQ Settings
Bolt.Today uses over 45,000 different Container Product records with CPQ. When a sales rep views
the Add Products page, a list of the first 2,000 Products is displayed in a disorganized manner. The
product management team wants the products to display in collapsible groups based on the
product family.
How should a CPQ Specialist enable this functionality from the Salesforce CPQ managed package
configuration settings?
A.Add the Product Family field to the Search Results Field Set on the Product object.
B.Check the Solution Groups Enabled checkbox, set Object to Quote Line and set Name Field
to Product Family.
D.Select Product Family in the Product Results Group Field Name field in Additional Settings.
116
CPQ Settings
Bolt.Today wants to default the value of the Location process input based on the location
determined on the Quote.
How should the Admin fulfill this requirement?
A.Add the API name of the Location field on the Quote to the Default Field picklist on
process input.
B.Create a Process Input field called Location and add the API name of the Location
field on the quote to its picklist.
C.Add the API name of the Location field on the Quote to the Default Field picklist on
the quote process.
D.Create twin fields that map between the Location field on the Quote to the Location
process input.
117
CPQ Settings
Bolt.Today plans to sell a configurable group of products but does not want to show the
bundle’s Parent Product to the Client.
What should the Admin do to meet this requirement?
118
Product Rule
Bolt.Today has created a new bundle, and a Product Rule associated with it. Universal
Containers want the Product Rule to fire within this specific bundle.
Which is a valid setup for the Configuration Rule?
A.The Configuration Rule must be associated with the Product Option records used in
Product Actions.
B.The Configuration Rule must be associated with Product records used in Product
Actions.
C.The Configuration Rule must be associated with the Parent Product in the bundle.
D.The Configuration Rule must be associated with the Product Feature used within the
bundle.
119
Product Rule
Bolt.Today has created a validation product rule that must display an error message upon
clicking Save if a product option is selected while a configuration attribute is set to a
specific value. When the user chooses the product option, then sets the configuration
attribute to the specific value, the error message appears before Save is clicked. Which two
should the Admin change the rule or configuration attributes so that the error message only
appears upon clicking Save?
120
Bundle
Product
Bolt.Today has a new product that they wish to include in one of their bundles. When
a User is configuring the bundle, however, the product does not show up. No Product
Rules have been configured in this Org. What is a plausible explanation for why this
Product is not present?
121
Quote
Template
Bolt.Today wants to display specific customer information from the Account object
onto the output document. Which object should this information be referenced on to
be pulled into an HTML Template Content record?
A. Quote Line
B. Quote
C. Opportunity
D. Template
122
Quote
Template
B. Quote Term, Template Content with Type set to HTML, Template Section
C. Quote Term, Template Content with Type set to Quote Terms, Terms and
Conditions
D. Quote Term, Template Content with Type set to Quote Terms, Template Section
123
Quote
Template
Bolt.Today has made numerous changes to a Template Content record over the course of a day,
and now finds that the "Failed to Load PDF" error message appear when the output document is
generated. Which steps should the Admin perform to diagnose the error?
A. Copy and paste the content into a text editor and run a syntax checker, modify and replace
HTML until the template renders.
B. Clone the record, reference the clone in place of the original record, then delete elements
(such as table rows) until the template renders.
C. Download the template content via Dataloader and analyze the HTML source, modify and
replace HTML until the template renders.
D. Edit the template content and view as source, then modify HTML until clicking Check Syntax
results in "NO Errors".
124