Additional Questions Flashcards

1
Q

What features make-up the Attribution pricing framework?

A
  • Business Rules Engine, and pricing matrices. You can also pass values between price plan steps, set attribute values and prices, and use attribute values in the pricing logic.
  • The legacy option is to implement attribute-based pricing using pricing plans, calculation procedures, and standard calculation matrices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a Time Policy?

A
  • A time policy indicates when the pricing starts and stops being applied. You can set a time policy for a base price, adjustment, or override.
  • For example, you can determine that the pricing starts at the beginning of the month or cycle, or when the product is purchased. In the same way, you can set the pricing to end the last day of the month or at the end of the cycle.
  • Time policy requires Start Policy(ex. first day of month, activation start) and End Policy(ex. Cycle end Date, last day of policy)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a Time Plan?

A
  • A time plan defines the length of time that pricing applies to a product. Time plans apply to adjustments and overrides for products in bundles or promotions.
  • For example, a 2-year subscription to cellular service has a 24-month time plan. Settings for a time plan include the total duration of time and the unit of measure for the duration of time, such as monthly or yearly.
  • Time plan requires duration and effective date only
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the sequence of events that occurs before a price is displayed in the cart?

A

All attribute pricing steps must occur before the Initialize Pricing Context step; therefore, the sequence must be before 10

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is context scope?

A
  • Context scopes describe the relational path from a root sObject, such as an Order, to related sObjects. Context mappings use context scopes to identify the fields on the sObjects or computed data that is matched with context dimension variables. The Context Rule Service evaluates the information.
  • Currently, Vlocity supports the following root context scopes:
    • Order
    • Opportunity
    • Quote
    • Asset*
    • Any
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is context dimension?

A
  • Context dimensions are variables that describe the possible values to use in a context rule condition. You can reuse context dimensions across multiple rule conditions. Context dimensions are linked to one or more context mappings. The rules engine compares them to the linked context mappings.
  • Context dimensions must have aDomain Type, a property that specifies how the rule condition values appear when a user creates the rule condition. Valid domain types are:
    • Object Lookup: Select a specific record from an sObject.
    • Picklist: Select rule condition values from a Vlocity picklist.
    • Type In: Type in free form string values.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is context mapping?

A

Context mappings allow the rules engine to compare context dimensions to data stored in an sObject, calculated using a function, or entered during design time within a specified context scope

The context mapping for the AccountType
context dimension should have a Source Expression with no spaces, as shown below. RecordType.Name

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What settings should be checked for translation in CPQ?

A
  • Enable Translation in Workbench
  • Choose User language - Locale and Language settings
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does the red clock icon indicate in the cart?

A

Retired products are products that have passed their end of life date, and they are indicated by a red clock icon

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does the yellow clock icon indicate in the cart?

A

Past products are products that have passed theirSelling End Datebut have not passed theirEnd of Lifedate. They are indicated by a yellow clock icon

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does the green clock icon indicate in the cart?

A

Future products are indicated with a green clock icon

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How do you enable the the “Cost to Margin” feature?

A
  • Enable the feature
  • Create pricing element for a price
  • Create pricing element for cost
  • Configure the price for a product
  • Stored in Price Lists
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the “Cost to Margin” feature in CPQ?

A
  • You can define margin ranges using the pricing plan so that the cost does not exceed the price. This is optional. If you do not set up a validation process, users aren’t notified when a margin range has been violated.
  • Margins for each line item can be validated using a LoadMarginRange step in your pricing plan. The LoadMarginRange step invokes a calculation procedure and matrix. This is similar to how attribute-based pricing is implemented using pricing plans.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are context rules?

A
  • Use thecontext rules frameworkto determine what products, promotions, and prices appear in the Industries Cart. You can specify when to apply a penalty for cancellations and what the penalty will be.
    • Qualification rules determine customer eligibility for products, promotions, price lists, price list entries, and pricing adjustments at run time
    • Penalty rules determine whether a penalty applies and what the penalty is when a customer cancels a promotion or deletes or disconnects an asset linked to a contract during its commitment period
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are advanced rules?

A

-Design product compatibility rules based on conditions in order line items and related objects. You can also create advanced pricing, availability, and eligibility rules.

  • Compatibility rules: Use product relationships to ensure products ordered in Industries Cart are compatible based on conditions in order line items and related objects. They are also known as Configuration or Validation rules.
  • Pricing ruleschange standard pricing and operate on order line items in Industries Cart.
  • Availability & Eligibility rulesare legacy rules that display or hide products in Industries Cart’s product list based on conditions in opportunity, quote or order header data or data in related objects such as Accounts or Assets. (Except in certain circumstances, these rules have been replaced by context rules.)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the Object Type architecture in Industries CPQ?

A

Designed as an “Is A” inheritance architecture, meaning you can create relationships between abstractions, where one object type is a subtype of another object type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

How many layers can be included in the product structure of a product or bundle?

A

Products are bundled using a “Has-A” Containment relationship as either a child or a realization. A product can have one or more product child items (or PCIs), and you can define cardinality for each. PCIs can be a single product or a product bundle, which allows you to create product bundles within product bundles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What fields have to be populated to see a product in the cart?

A
  • Name
    -Product Code
  • Active = True
  • Selling start date (within range)
  • Price (assigned)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What background jobs have to be run to see products in cart?

A
  • The Cart uses price lists and Industries CPQ rules to determine which products to display in the PRODUCTS list.
  • The price list provides the base or list prices, and they appear in the PRODUCTS list on the left. Once the product is added to the cart, the Cart calculates the price for each item based on any active pricing rules or promotions that have been applied, and so the price in the cart may be
    different than the base price.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

When to use advanced rules vs context rules?

A
  • Always prefer context rules unless key functionality is not supported.

-Use Advanced Rules to apply to a large number of products (in the thousands)

  • Order Line item is not supported by Context Rules
  • To automatically add products based on other products in the cart use Advanced Rules

https://help.salesforce.com/s/articleView?id=ind.comms_context_rules_or_advanced_rules__what_type_to_use_.htm&type=5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the sales catalog?

A

A sales catalog in this context refers to a repository or a collection of products or services that a company offers. In Salesforce Industries CPQ and Communications Cloud, the sales catalog is an important component as it holds all the products, services, and bundles that the sales team can use to create quotes for customers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How to get attribute value to show depending on another attribute field?

A
  • When you associate the attribute with an object type, child object types and products inherit the attribute but can override it.
    -At the product level, you can only change the attribute value for a product that was created from the object type. For an attribute that uses a picklist, you can select a different value, but you cannot change or replace the picklist itself.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is the naming convention for a Context Dimension?

A

You cannot use spaces in a context dimension name due to rules parsing engine requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

How do you modify the display text when there is a price adjustment?

A
  • Product Pricing >Adjustments> Display Text / Display Name

-Display Name: Enter the name of the adjustment or override. This name is shown in the cart.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

When should a promotion be implemented vs. a discount?

A
  • Typically, promotions are product bundles with discounts applied to one or more products in the bundle. Designed for a limited time, limited customer group or limited subset of products

-Contractual discounts are typically tied to an account or contract and are used to change
product prices in both current and future orders based upon contracted discount
agreements, thereby maximizing sales intended to be executed in the future.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What is the CPQAppHandler?

A

CPQ functionality is managed by a global interface called CpqAppHandler. It includes a wide range of methods to perform CPQ processes in Industries CPQ Cart. (These methods are also available as a RESTful API, called the Cart-based APIs.) So, when you need to change the default behavior or processing of a CPQ operation, you create a custom implementation in the CpqAppHandler hook interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What is the Product Hierarchy Maintenance job?

A
  • This job builds a streamlined version of the product hierarchies in the Data Store sObjects, enabling theRefresh Platform Cache (Full), Refresh PricebookandRefresh Platform Cache (Incremental) job to use the hierarchy data
  • After any changes to the product hierarchy or product cardinality in the Vlocity Product Console
  • After upgrading Vlocity Communications
  • After spinning a new org
  • Before running theRefresh Platform Cache (Full) job.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What does it mean when “Not Assetizable” is marked on a product?

A

TheIs Not Assetizableattribute metadata flag is useful for transitory information that shouldn’t persist or doesn’t need to persist beyond completion of order management where assetization would usually occur. This metadata flag is stored in Order Management, not in the Salesforce platform.

29
Q

What is attribute binding?

A

The Attribute Binding binds an attribute to the usage quantity field so that when you change the attribute’s value, you change the field’s value as well. This enables you to update the usage quantity of an Industries CPQ Cart line item which in turn updates the usage pricing of the product.

30
Q

When are child price lists used?

A
  • You can assign qualification rules to price list entries or to a child price list, which acts as a container for a group of price list entries

-Specific pricing for certain geographies or customer segments, in addition to base pricing

31
Q

What is the Fix JSON Attributes Job in the Admin console?

A
  • Each Product object contains a JSONAttributes field. In some cases, the JSONAttributes fields can be out of sync with the attributes that are assigned to the products. When this happens, there are batch jobs that you can run to sync up the Product JSONAttributes fields with the product attributes.
32
Q

What are the various action statuses of product line items ?

A
  • A line item can have an action status of Add, Existing, Change, Disconnect,
    Suspend, or Resume.
    Add = Order has been placed but the product or service has not been
    provisioned or activated.
    Existing = Asset has been provisioned to the customer, and no changes have
    been requested.
    Change = A change has been requested for the asset.
    Disconnect = A request has been made to terminate the service or asset.
    Suspend = A request has been made to temporarily halt the service.
    Resume = A request has been made to reinstate the temporarily halted
    service.
33
Q

What is the “Change to Order” button ?

A

Change to Order Action button invokes the MACD/FDO “Future Dated Orders” > Action status = Existing

34
Q

What is a promotion “manual opt-in” ?

A

At the end of the promotional period, service ends unless the customer explicitly continues the promotional service at the regular price.

35
Q

What is a promotion “manual opt-out”?

A

At the end of the promotional period, service continues at the regular price for the service until the customer explicitly ends the service.

36
Q

What is a promotion “shallow delete”?

A

When you delete the promotion, it only deletes the promotion and its changes (discounts and cardinality). The products that the promotion applies to remain in the Cart.

37
Q

What is a promotion “deep delete”?

A

Removes the promotion and its changes along with the products pertaining to the promotion. This is the default setting.

38
Q

What are the series of steps to produce the final price of a product in the cart?

A

The validation and pricing engine checks for several items:

  • All price list entries that apply to the product and their effectivity date ranges.
  • Any pricing changes from promotions.
  • Any pricing changes due to manual changes in the cart.
  • Any context rules that apply to the product’s price.

When the customer’s account is eligible for more than one product price because of context rules, the system chooses one of the following based on the implementation being used:

  • The best matching price list entry for the product
  • The first matching price list entry for the product

As you add more products to the cart, Vlocity performs validation in one of the following ways:

  • Recalculate the prices of all products in the cart.
  • Recalculate only the prices of products that have been added to the cart and the prices that have changed, such as manual changes by the agent.
39
Q

What is MACD ?

A
  • Move, Add, Change, Delete
  • Changing an asset to an order or a quote initiates a guided process that moves one or more assets between service locations.
  • Service Asset Management on Account > Change to Quote, Change to Order, Move
  • Move launches wizard> Move in date, Move Out date, New Address
40
Q

What is the field mapper?

A
  • Industries CPQ processes move order information between objects and support moving data to or from
    any object. Field Mapper is the tool that is used to configure this data movement
41
Q

Where are picklists in Industries CPQ used?

A

Picklists are designed to be globally reusable across attributes assigned at the object type level or at the product level

42
Q

How are attributes inherited within the object type hierarchy?

A

Within the object type hierarchy, attribute inheritance is a true dynamic inheritance. If you assign new attributes to an object type, all object subtypes and products linked to the
object type hierarchy will dynamically be assigned those attributes

43
Q

How are Object Type Layouts inherited within the Object Type Hierarchy?

A

Object type layouts use a “hybrid” inheritance model. When a new object subtype is created, the Vlocity Product Console creates a new layout for the object subtype via a deep copy.

44
Q

What job has to be completed after product selling data is adjusted?

A

Product selling period data is stored in the platform cache. After you make changes to product selling period fields, you must update the product hierarchy data in the platform cache by running Product Hierarchy Maintenance, Clear Managed Platform Cache, and Refresh Platform Cache in
this sequence.

45
Q

What is the default number of rows returned for each reference object when you use “find references” on a product?

A

Each reference object is 20, but the
limit can be increased by setting the FindReferencesRowCountLimit
custom setting in the CPQ Configuration Setup in the Vlocity CMT
Administration dashboard. The maximum number of rows returned is 1000

46
Q

What does the “Collapse Hierarchy Flag” accomplish on the product settings?

A

The Collapse Hierarchy flag, when checked, enables a Search Item dialog in
the Cart’s line items pane, allowing users to search items within the bundle
and then add additional products to the bundle. This is intended for use with
very large product bundles.

47
Q

What are the steps when you need to refresh or initialize the platform cache?

A
  1. Run the Product Hierarchy Maintenance job.
  2. Run the Clear Managed Platform Cache job.
  3. Run the Refresh Platform Cache job.
48
Q

How do you delete old product hierarchy data?

A

Check the Delete Old Data option in the Product Hierarchy Maintenance job if you want to
delete the older, inactive dataset. This saves storage space as only the new, rebuilt dataset is available.

49
Q

What is the primary platform cache?

A

Industries CPQ primarily caches data in a Salesforce platform cache called the “CPQPartition.”

50
Q

What is the job used to update product JSON attributes?

A
  • Apex batch job called EPCProductAttribJSONBatchJob to reprocess these product attributes and save the JSONAttribute field with your new org’s attribute record ids.
  • The EPCProductAttribJSONBatchJob should be run as needed for these situations:
    1. Attributes are not displayed as expected in Industries CPQ.
    2. Data has been imported to EPC from an external source.
    3. The JSON values displayed for an attribute are incorrect.
    By default, the batch job runs for all product attributes, but can be amended to run for a specific subset of data. Refer to your documentation for details
51
Q

What are some of the maintenance jobs available to an admin?

A

See picture

52
Q

How do you decrease the price of a product over time?

A

You can use the Effective From and Effective Until fields to assign a set of base prices that decrease over time. For example, this table shows a price reduced by 10% each month.

53
Q

How do you restrict a user from making manual adjustments in the cart?

A

Context rules

54
Q

How do you delete more than one promotion applied to the same bundle?

A

You must have DeleteServices set to No. Then you must delete each promotion separately.

55
Q

What are the three types of contextual discounts provided by Industries CPQ?

A

● Order-Based
● Account-Based
● Contract-Based

56
Q

What would a context rule condition formula look like?

A

Rule Condition = true WHEN {{Context Dimension}} == {{Context
Mapping[Context Scope.Source Expression]}}

57
Q

What are the accepted pick lists types ?

A

Text
Number
Boolean (True/False)
Date
Date/time

58
Q

What are the accepted root context scopes?

A

● Order
● Opportunity
● Quote
● Asset
● Any

59
Q

What job needs to be run after making changes to context rules?

A

Cached in the org cache of the CPQPartition platform cache. When troubleshooting, you will need to clear the cache in order for changes to be reflected at run time. To clear the cache click the Start button beside CLEAR MANAGED PACKAGE CACHE.

60
Q

What are some items to check when troubleshooting Context rules?

A
  • Context Dimension - Name? The AccountStatus context dimension Name should have no spaces, as shown below.
  • Context Mapping - Source Expression? The context mapping for the AccountStatus context dimension should have a Source Expression with two underscores, as
    shown below.
  • Context Rule - Code? The Code should have no spaces, as shown below.
  • Context Mapping - Source Expression? The context mapping for the AccountType context dimension should have a Source Expression with no spaces, as shown below. RecordType.Name
61
Q

What is the FirstMatchImplementation ?

A

FirstMatchImplementation, as its name implies, ignores those weights and selects
the first match that it finds.

62
Q

What is the PricingPlanService implementation?

A

The PricingPlanService implementation is required when using pricing plans. It is the same implementation as the PricingElementServiceImplementation but the PricingPlanService allows you to manage all of its pricing steps using a pricing plan defined in Vlocity Product Console.

63
Q

What are all of the pricing plan steps?

A

All attribute pricing steps must occur before the Initialize Pricing Context step;
therefore, the sequence must be before 10.

64
Q

What are some troubleshooting items to check with regards to pricing plans?

A

Lookup Table (Decision Matrix)
● Check that all matrix row information and expression set variables are entered
correctly.
● Check that the matrix is enabled.

Expression Set
● Make sure you’ve set the Rank of the expression set version to 1.
● Check that each expression set element has the Include in Output checkbox selected in the Element Details tab in the Expression Set Builder.
● Make sure that the REC_MNTH_STD_PRC and OT_STD_PRC variables are configured
with the type Currency in the expression set.
● Check that the expression set is activated.

Pricing Plan Step
● Verify that all data input is spelled correctly and has proper spacing.
● Make sure each step is active.

65
Q

What are the tasks for an admin to update the digital commerce cache?

A
  1. Initialize the cache using the Load API MetaData job. This job is run when first setting up Digital Commerce
  2. Populate the cache using the Populate API Cache job. This job populates the cache with products, product bundles, and promotions defined in the sales catalogs.
  3. Regenerate the cache. When changes are made to any of the catalogs, products or
    promotions used in digital commerce, the cache must be regenerated
66
Q

What is the Context Dimension > Default value?

A

This is the value that will be used for the context dimension (and passed to
the context rules) when the input context parameters do not have a given value. The value
is used in cases of tightest match for price list entries. If this field is left empty, you will
receive an error message when you run cacheable API jobs.

67
Q

What is the basic flow of the digital commerce api?

A

The basic flow of API calls with the digital commerce APIs is as follows:

  1. Get eligible offers from a catalog: GET /v3/catalogs/{catalogcode}/offers
  2. Get the details of a specific offer retrieved from the previous call: GET /v3/catalogs/{catalogcode}/offers/{offercode}
  3. Get the details of a specific offer with attribute values specified: POST /v3/catalogs/{catalogcode}/offers/{offercode}

The above APIs retrieve eligible offers (products and/or promotions) from the specified catalog based on the customer context provided in the request, but these APIs only return default “starts-with” and base pricing information. To request more specific pricing and feedback on the validity of the configured bundle, use the basket APIs that follow.

  1. Get a basket containing a configured offer bundle using an offer details response (3 above): POST /v3/catalogs/{catalogcode}/basket
  2. Get a modification of the previous basket adding another bundle or deleting a bundle: POST /v3/catalogs/{catalogcode}/basket/{basketkey}

The basket APIs get specific pricing for the context given by executing the Industries CPQ pricing services. The API returns a basket key that is a hash form of a cart containing the chosen items as configured.

  1. Create a cart in Salesforce for a specific customer using the basket response (4 or 5 above): POST /v3/carts
68
Q

API Troubleshooting

A

Use the table in this topic to diagnose problems that occur when executing the Digital Commerce APIs.

https://www.notion.so/Industries-CPQ-Study-Notes-3f07ccbcc55c4a2487499913908489f8?pvs=4#9d05580648f84fdba12b1de190eec681