In Salesforce Revenue Cloud, the Price Adjustment Matrix provides robust options for setting volume-based discounts based on multiple criteria.
This guide shows you how to configure the Price Adjustment Matrix to dynamically adjust prices on quotes using fields from the quote object, giving you flexibility beyond standard volume discounts.
Follow these steps to learn how to set up and use the Price Adjustment Matrix in your pricing procedures.
Step 1: Set Up Required Custom Objects and Fields
Start by creating two custom objects and setting fields on the quote to handle dynamic discount schedules.
- Create Custom Objects:
- Discount Schedule – Includes fields for Name, Country, and an Active toggle.
- Schedule Tiers – Stores lower and upper bounds for quantity, effective date ranges, and discount tier values.
- Add Fields to the Quote Object:
- Discount Schedule Lookup – Links to the Discount Schedule for use in the pricing matrix.
- Effective Pricing Date – DateTime field for determining discount applicability.
These setup steps will allow the Price Adjustment Matrix to calculate discounts based on both schedule and timing.
Step 2: Define the Context for Custom Fields in the Pricing Procedure
In Salesforce, ensure your custom fields are available to the pricing engine by extending the Context Definition:
- Clone the Standard Context Definition:
- Clone the Sales Transaction Context to avoid modifying Salesforce defaults.
- Add custom attributes: Pricing DateTime (DateTime) and Discount Schedule (String).
- Map Custom Fields to Context Tags:
- Link Discount Schedule and Pricing DateTime fields from the quote to the corresponding custom attributes in the context.
Mapping these fields ensures the pricing engine reads these values to apply the correct discounts in the Price Adjustment Matrix.
Step 3: Create the Lookup Table for Dynamic Discounts
Using the Decision Table in Salesforce, configure the Price Adjustment Matrix to pull tiered discounts dynamically:
- Define the Lookup Table:
- Source Object: Schedule Tier.
- Key Conditions:
- Discount Schedule – Matches the schedule on the quote.
- Effective From/To Dates – Uses Pricing DateTime to ensure validity.
- Quantity Bounds – Matches Lower Bound and Upper Bound to the quote’s line item quantity.
- Output Values: Return the Tier Value and Tier Type (e.g., percentage or fixed amount) for pricing calculations.
- Activate the Lookup Table
Once configured, activate the decision table to use it within the pricing procedure.
Step 4: Modify the Pricing Recipe
To integrate the lookup table into your pricing procedures, add it as an element within your Pricing Recipe:
- Select the Default Recipe or a Custom One:
- Navigate to Pricing Recipes in Setup.
- Add the Price Adjustment Matrix element, selecting your newly created lookup table.
- Assign Pricing Component:
- Set Pricing Component Type to Custom Discount for the lookup table to pull data during quote processing.
This setup lets you dynamically adjust prices based on the quote’s Discount Schedule and Effective Date.
Step 5 : Update and Activate the Pricing Procedure
Once your lookup table is set up in the Pricing Recipe, update the Pricing Procedure to connect it with your new context and dynamic discount setup.
- Activate the New Context Definition:
- Go to Context Definitions and activate your cloned definition to make it available in the Pricing Procedure.
- Modify the Assigned Pricing Procedure:
- Go to Pricing Procedures in the menu and open the version currently assigned to your transactions.
- If needed, deactivate the existing version to allow edits.
- Remove Existing Volume Discount Elements:
- In the standard Pricing Procedure, find and delete any Volume Discount elements that aren’t needed (e.g., for non-contracted pricing).
- Add Price Adjustment Matrix Element:
- Add a Price Adjustment Matrix element.
- Select your Discount Schedule lookup table and map it to fields in the pricing context:
- Discount Schedule – Links to the discount schedule on the quote.
- Pricing DateTime – Uses your quote’s effective pricing date.
- Quantity, Product, and Product Selling Model – Map to the respective quote line fields to ensure correct tier application.
- Map Additional Constants and Output Variables:
- Map constants like Adjustment Type and Tier Value from your Schedule Tiers custom object
- Set a default value for the constants as the field API name
- Define input and output variables to connect Net Unit Price and Subtotal.
- Map constants like Adjustment Type and Tier Value from your Schedule Tiers custom object
- Activate the Updated Pricing Procedure:
- Save and activate the new procedure version, making it effective from the start date of your new context definition.
This update allows your Pricing Procedure to use the Price Adjustment Matrix dynamically, applying correct volume discounts based on quote and line item data.
Step 6: Test the Price Adjustment Matrix
After activating the pricing procedure, test your Price Adjustment Matrix by creating quotes with various quantities and discount schedules:
- Set a Discount Schedule on the Quote:
- Manually or automatically assign Canada or USA discount schedules to the quote.
- Adjust Quantity and Observe Pricing Updates:
- For each quantity tier, confirm the matrix applies the correct discount as specified in the Schedule Tiers.
Conclusion
By following these steps, you enable dynamic, location-based volume discounts within Salesforce Revenue Cloud, providing flexibility to cater pricing strategies to specific business needs.
Implement this solution to enhance the precision and scalability of your quoting process.