You are here:
Discover Pricing Factors
To accurately calculate a product's derived price, discovery procedures gather contributing factors and store them within a defined context definition, ensuring precise data access.
Required Editions
| Available in: Lightning Experience |
| Available in: Enterprise, Unlimited, and Developer Editions of Revenue Cloud where Salesforce Pricing is enabled |
Derived pricing often requires specific, disparate data from various sources like products, assets, or quotes. Discovery procedures are essential for finding, collecting, and organizing this vital information into a structured format, making it readily available for the pricing engine.
Understand Discovery Procedure Elements
Every discovery procedure comes with three default elements, each serving a distinct purpose in locating pricing data for products or assets. Configuring a discovery procedure is the crucial first step in calculating a product's derived price.
| discovery element | description |
|---|---|
| Fetch Pricing Rules | This element locates and retrieves the specific pricing rules that apply to your derived price element. It acts as a lookup to find the correct derived price records, providing the pricing engine with the framework for accurate price calculation. |
| Map Product | This element defines and retrieves products involved in derived pricing calculations. It configures rules to identify and map source products to their corresponding derived products. |
| Asset Discovery | This element retrieves relevant data from customer assets, such as price, quantity, or contract terms, for derived pricing calculations. It is crucial for businesses, especially those with subscription or renewal models, where existing customer products or services influence pricing. |
Beyond the default elements, you can use the Map Line Item element in your discovery procedure to map tags for individual line item details using parent tags. When doing so, ensure that the Discovery Settings element is placed first, immediately followed by the Map Line Item element. For more information, refer to the Map Line Item section in Map Context Tags in Pricing Procedures.
Configure a Discovery Procedure
To calculate a product's derived price, configure a discovery procedure with the elements required to gather all contributing factors.
Required Editions
| User Permissions Needed | |
|---|---|
| To create discovery procedures: | Salesforce Pricing Design Time User |
| To run discovery procedures: | Salesforce Pricing Run Time |
- From the App Launcher, find and select Discovery Procedures.
- Click New.
-
Specify these details.
- Enter a name and then press Tab to autopopulate the API name.
- Select Pricing Discovery as the usage type.
- Associate the discovery procedure with a context definition.
In all our examples, we’ll use the SalesTransactionContext context definition. We also recommend using the predefined Default Discovery Procedure, or you can modify it with a context definition of your choice. - Save your changes.
-
On the Details tab, in the Discovery Procedure Versions section, click the discovery
procedure version that you want to work on.
The Discovery Procedure Builder opens in a new tab.
-
To add your discovery elements, click
.
- If you want to map commonly used input variables, such as line items or net unit price, add the Discovery Settings element, followed by the Map Line Item element. These are optional.
-
Add the Fetch Pricing Rules element and enter your
values.
Ensure that the Fetch Pricing Rules element is the first element in your pricing procedure.
-
Add the Map Products element.
The Map Products element uses the fixed input variables in the Fetch Pricing Rules element.For example, to derive the price of a contributing product within a single bundle in the quote line, use the Map Product element. Validate that the contributing product's parent bundle has the same ID by checking if the RootItem matches. If the contributing products share the same root product, then the derived price for the product is calculated.
-
If your derived price record has set the pricing scope as Non-Transactional or
Both, add the Asset Discovery element and map your
variables.
Non-transactional scope indicates that you can derive a product's derived from assets.
-
Click
, and enter 1 as the rank number.
Note When more than one enabled version matches a discovery procedure, choose the version with the highest rank. For example, if two enabled versions have rank values set to 1 and 2, choose the version with rank 2. -
Click
, select Include in Output, and save your pricing
procedure.
- Save your changes.
- Simulate your procedure to verify the queried data.
- On the Input tab, enter your values and click Simulate again.
- Activate your discovery procedure.

