Reimagining revenue management.

Reimagining revenue management.

Reimagining revenue management.

Set up Header Adjustment with Derived Pricing in Agentforce Revenue Management

In our previous blog post, we explained what header adjustment is in Agentforce Revenue Management (Revenue Cloud Advanced) and the steps to set it up if you are not using derived pricing.

In this article, we describe the steps required to set up Header Adjustment in Agentforce Revenue Management if you have products that use Derived Pricing.

Set up Header Adjustments when Derived Pricing is used.

Follow the steps below to use header adjustments when you have products that use derived pricing.

Create a Pricing Procedure

Step 1. From the App Launcher, find and select ‘Pricing Procedures’

Step 2. Click the New button to create a new pricing procedure.

Step 3. Enter an appropriate Name and press Tab to autopopulate the API Name.

Step 4. Select Pricing as the usage type

Step 5. Select your extended SalesTransactionContext as the context definition

Step 6. Click Save

Step 7. On the PP details page, under the Pricing Procedure Versions section, click the pricing procedure version to open it.

Add constants to the new Pricing Procedure

Step 1. Click Resource Manager.

Step 2. Click Add Resource

Step 3. Add the following resources.

Resource TypeResource NameData TypeValue
ConstantConstant_DDS_NetUnitPriceTextNetUnitPrice
ConstantConstant_DDS_AmountTextAmount
ConstantConstant_DDS_PercentageTextPercentage
ConstantConstant_DDS_OverrideTextOverride

Add a List Group to set up discount type = Amount

Step 1. After the last component in the pricing procedure, click (+)

Step 2. Select List Group. This will add a group along with the List Operation element.

Step 3. Set Filter Condition Requirements to All Conditions Are Met (AND).

Step 4. In the Resource field, select AppliedDiscountAmount__std, and in the Operator field, select Is Not Null

Step 5. Click Add Condition

Step 6. In the Resource field, select AppliedDiscount__std, and in the Operator field, select Is Null.

Step 7. Click Add Condition.

Step 8. In the Resource field, select TotalPriceOverride__std, and in the Operator field, select Is Null.

List Operation element

Step 9. Add an Assignment element after the List Operation component by clicking (+)

Step 10. For Input Variable, select AppliedDiscountAmount__std, and for Output Variable, select HeaderAdjustmentValue__std.

Step 11. Click Add more variables.

Step 12. For Input Variable, select Constant_DDS_Amount, and for Output Variable, select HeaderAdjustmentType__std.

Assignment element

Step 13. Save the changes to your Pricing Procedure.

Add a List Group to set up discount type = Percentage

Step 1. After the previous component we added in the pricing procedure, click (+)

Step 2. Select List Group. This will add a group along with the List Operation element.

Step 3. Set Filter Condition Requirements to All Conditions Are Met (AND).

Step 4. In the Resource field, select AppliedDiscount__std, and in the Operator field, select Is Not Null. 

Step 5. Click Add Condition

Step 6. In the Resource field, select AppliedDiscountAmount__std, and in the Operator field, select Is Null

Step 7. Click Add Condition.

Step 8. In the Resource field, select TotalPriceOverride__std, and in the Operator field, select Is Null.

List Operation element

Step 9. Add an Assignment element after the List Operation component by clicking (+)

Step 10. For Input Variable, select AppliedDiscount__std, and for Output Variable, select HeaderAdjustmentValue__std.

Step 11. Click Add more variables.

Step 12. For Input Variable, select Constant_DDS_Percentage, and for Output Variable, select HeaderAdjustmentType__std.

Assignment element

Step 13. Save the changes to your Pricing Procedure.

Add a List Group to set up discount type = Override

Step 1. After the previous component we added in the pricing procedure, click (+)

Step 2. Select List Group. This will add a group along with the List Operation element.

Step 3. Set Filter Condition Requirements to All Conditions Are Met (AND).

Step 4. In the Resource field, select TotalPriceOverride__std, and in the Operator field, select Is Not Null.

Step 5. Click Add Condition

Step 6. In the Resource field, select AppliedDiscount__std, and in the Operator field, select Is Null.

Step 7. Click Add Condition.

Step 8. In the Resource field, select AppliedDiscountAmount__std, and in the Operator field, select Is Null

List Operation element

Step 9. Add an Assignment element after the List Operation component by clicking (+)

Step 10. For Input Variable, select TotalPriceOverride__std, and for Output Variable, select HeaderAdjustmentValue__std.

Step 11. Click Add more variables.

Step 12. For Input Variable, select Constant_DDS_Override, and for Output Variable, select HeaderAdjustmentType__std.

Assignment element

Step 13. Save the changes to your Pricing Procedure.

Add the Discount Distribution Service element.

Step 1. After the previous component added in the pricing procedure, click (+)

Step 2. Select Discount Distribution Service. This will add the DDS element.

Discount Distribution Service element

Step 3. Expand the Input Variables section and map the input variables as follows:

Header Discount TypeHeaderAdjustmentType__std
Header Discount ValueHeaderAdjustmentValue__std
Header Distribution LogicAdjustmentDistributionLogic__std
Header Distribution TypeConstant_DDS_NetUnitPrice
List PriceNetUnitPrice
QuantityLineItemQuantity
Line ItemLineItem
Input Unit PriceNetUnitPrice
Header SubtotalTotalAmount
Minimum Net Unit PriceMinimumNetUnitPrice
Input Variables mapping

Step 4. Expand the Output Variables section and map the output variables as follows:

Discount ValueLineItemDiscountValue
Distribution TypeHeaderDistributionType
Discount TypeLineItemDiscountType
Net Unit PriceNetUnitPrice
SubtotalItemNetTotalPrice
Output Variables mapping

Enable Procedure Plan Orchestration

If you don’t already have the procedure plan definition enabled, then follow the steps below to do the same. 

Step 1. Navigate to Revenue Settings from the Setup menu.

Step 2. Find and enable Procedure Plan Orchestration for Pricing.

Step 3. Find and enable Exclude Default and Sales Transaction Type Pricing Procedures.

Create Procedure Plan Definitions

Now you need to create a procedure plan definition for quote object.

Step 1. Navigate to Procedure Plan Definitions from the Setup menu.

Step 2. Click New to create a new procedure plan definition and enter the following details:

TitleProcedure Plan for Quote Pricing
Developer Name<automatically populated>
Process TypeRevenue Cloud
Primary ObjectQuote
Context Definition<Select your extended SalesTransactionContext context definition>
DescriptionThis procedure plan contains a pricing procedure for header adjustment to be executed with a pricing procedure containing derived pricing element. 

Step 3. Click Save

Step 4. Now open this newly created procedure plan definition record. 

Step 5. Update Read Context Mapping to ‘QuoteEntitiesMapping’

Step 6. Update Save Context Mapping to ‘QuoteEntitiesMapping’

Step 7. Click ‘Add’ to create a new section for the default pricing procedure and enter the following details:

StandardTrue
NameDefault_PricingProcedure
Section TypePricing Procedure

Step 8. Click Save to save the changes. 

Step 9. Expand

  • Select ‘Pricing’ under the phases dropdown
  • Select ‘Default’ for resolution Type
  • Under Procedure, select your default procedure used for transaction management

Step 10. Click ‘Add’ to create a new section for the newly created discount distribution service pricing procedure and enter the following details:

StandardTrue
NameHeaderAdjustment_PricingProcedure
Section TypePricing Procedure

Step 11. Click Save to save the changes. 

Step 12. Expand

  • Select ‘Pricing’ under the phases dropdown
  • Select ‘Default’ for resolution Type
  • Under Procedure, select the newly created Pricing procedure with the Discount Distribution Service element setup. 

Step 13. Click Activate

3. Now it’s time to test

Step 1. Create a new quote and add multiple products to it.

Step 2. Click the ‘Manage Header Adjustment’ button

Manage Header Adjustment button

Step 3. Apply different adjustment types and distribution logic. 

Manage Header Adjustment in Revenue Cloud

Step 4. Hover over the Net Unit Price field to open the price waterfall and see the desired results. 

Header Adjustment in Revenue Cloud

FAQs

1. What are the limitations of Header Adjustment in Revenue Cloud?

Before using the Discount Distribution Service element, consider the following points.

  • The Discount Distribution Service (DDS) element must be the last element in the pricing procedure.
  • The DDS element can’t be used with the Derived Pricing element in the same PP.
  • The element can only be used once within a single pricing procedure.

2. Is the Header Adjustment applied before or after any system adjustments?

Header adjustments are always applied at the end, after all system adjustments have been used in the price waterfall.

3. What happens if a discount is applied to a quote line manually?

The header adjustments are applied on top of the manual discounts applied to any quote lines.

Manual discount with Header Adjustment in Revenue Cloud

Further reading

  1. Set up Header Adjustment without derived pricing
  2. Salesforce: Revenue Cloud Advanced overview
  3. Discount Distribution Service

Related insights

How to set up Promotions in Agentforce Revenue Management

Read

Set up Header Adjustment in Agentforce Revenue Management

Header Adjustment in Revenue Cloud enables sales reps to apply discounts or markups at the quote header level.
Read

Agentforce Revenue Management for CROs and CFOs

Revenue and finance leaders are moving to a single revenue management platform to speed up revenue, align sales with finance, and simplify quoting, billing, and contracts.
Read