Skip to main content

Implement Derived Pricing

Learning Objectives

After completing this unit, you’ll be able to:

  • List the steps involved in setting up a derived product.
  • Create derived price records.
  • Add the Derived Price element to a pricing procedure.
  • Test the configured pricing on a quote.

Derived Product Setup Process

Now that you understand how derived pricing and discovery procedures work, it's time to look at the steps involved in setting up a derived product. Here's the typical process.

Click each box to learn more.

By following these steps, you can implement and manage complex derived pricing models, boosting pricing accuracy and efficiency.

Next, it’s time to bridge theory with practice. This unit guides you through each step of the derived product setup process, helping you implement derived pricing in your org. Keep following along!

Connect Your Developer Edition Org

Before you follow along, you must connect the Developer Edition org you signed up for in unit 1 to Trailhead.

  1. Make sure you’re logged in to your Trailhead account.
  2. In the Challenge section at the bottom of this page, click the playground name and then click Connect Org.
  3. On the login screen, enter the username and password for the Developer Edition you just set up.
  4. On the Allow Access? screen, click Allow.
  5. On the Want to connect this org for hands-on challenges? screen, click Yes! Save it.

You’re redirected back to the challenge page and ready to use your new Developer Edition to earn this badge.

Define a Derived Product

SmartBytes wants to boost sales of their Laptop product. To entice customers, they’ve decided to offer a laptop bag at a price directly tied to the laptop itself. This ensures the bag’s cost always scales proportionally with the laptop’s price. Richa is tasked with implementing this new pricing strategy.

  • Source Product: Laptop
  • Derived Product: Laptop bag
  • Pricing Rule: The laptop bag’s cost is 10% of the laptop’s list price.

She sets to work, configuring the laptop bag as a derived product.

For this use case, Richa uses the Default Discovery Procedure included in Salesforce Pricing. With that in place, she moves on to the next step, which is defining the derived product. Follow along on your Developer Edition org.

  1. From the App Launcher, find and select Price Management.
  2. On the Price Management home page, click the Products tile, and change the list view to All Products.
  3. Under Product Name, click Laptop Bag.
  4. On the Related tab, scroll down until you find the Price Books section.
  5. Click Add Standard Price.
  6. Enter these details:
  • Is Derived: Selected
  • List Price: 0
  • Product Selling Model: One Time

Corresponding image.

7. Click Save.

The list price of the laptop bag is set to zero indicating that it doesn't have a fixed base price. Instead, it uses the derived price feature to calculate the price dynamically.

Create a Derived Price Record

A derived price record is the central configuration object where you define the specific rules and formulas for calculating the price of a derived product. This record is the basis for determining the price.

Richa’s next task is to create a derived price record. Join her as she does that.

  1. From the App Launcher, find and select Derived Prices.
  2. Click New.
  3. On the New Derived Price page, add these details:
  • Derived Pricing Scope: Transactional
  • Pricing Source: Product
  • Price Book: Standard Price Book
  • Derived Product: Laptop Bag
  • Product: Laptop
  • Formula: ListPrice * 0.10
  • Effective From: Today’s date
  1. Click Save.

Corresponding image.

Note

You can only set a formula for the List Price, Net Unit Price, Subtotal, and Header parameters.

Refresh the page to see your newly created derived price record.

Sync Pricing Data

Follow these steps to ensure that the latest pricing data is available in the decision tables.

  1. From Setup, in the Quick Find box, search for and select Salesforce Pricing Setup.
  2. Under the Sync Pricing Data section, click Sync.

Sync Pricing Data section highlighting the Sync button.

  1. Confirm that you want to sync your org.

The pricing data sync takes a few minutes to complete, but you don’t have to wait. Proceed to the next section.

Add the Derived Price Element

After defining the derived price record, Richa's next task is to add the Derived Price element to a pricing procedure. When the pricing procedure runs, the Derived Price element calculates the product's derived price using the formula from the derived price record and the data gathered by the discovery procedure. The element then populates the calculated price to the relevant transaction line item.

To make sure derived pricing works, always use the same context definition in both your discovery procedure and your pricing procedure. The image shows an example where the context definition is the same in both records.

The same context definition is used in both the discovery and pricing procedures.

Your Developer Edition org comes preloaded with a pricing procedure called Pricing Procedure Demo_2, which already has the Pricing Setting and List Price elements added. However, Richa needs to make a couple updates to the List Price element so that it’s ready to use for derived pricing. After that, she’ll add the Derived Price element to this pricing procedure. Follow along using your Developer Edition org.

Update the Pricing Procedure

  1. From the App Launcher, find and select Price Management.
  2. Select Pricing Procedures from the navigation pulldown menu.
  3. Change the list view to All Pricing Procedures.
  4. Click Pricing Procedure Demo_2.
  5. Under Pricing Procedure Versions, click Pricing Procedure Demo_2 V1. This opens the Pricing Procedure Builder in a new browser tab.
  6. Expand the Pricing Setting element.
  7. Expand Input Variables, and add this mapping:
    • Is Derived: DerivedPricingAttribute
  8. Expand the List Price element.
  9. For Lookup Table Details, remove Price Book Entries. For Derived Pricing, you’ll use a different lookup table.
  10. In the Lookup Table Details field, search for and select Price Book Entries V2.
  11. In the Input Rule Variables section, map the variables to these context tags:
    • Product: Product
    • Price Book: PriceBooks
    • Product Selling Model: ProductSellingModel
  12. In the Output Rule Variables section, map the variables to these context tags:
    • Price Book Entry ID: ItemPricebookEntry
    • Is Derived: DerivedPricingAttribute

Your List Price element should look like this.

Corresponding List Price element.

Next, add the Derived Price element to your pricing procedure.

Add Derived Price Element

  1. Under the List Price element, click the + symbol.
  2. Search for and select Derived Price from the Add Element menu.
  3. Expand the Input Variables section and map the variables to these context tags:
    • Quantity: LineItemQuantity
    • Contributing Net Unit Price: ContributorUnitPrice
    • Contributing Sub Total: ContributorTotalPrice
    • Contributing Source: ContributorSource
    • Contributing Scope: ContributorScope
    • Transactional List Price: ListPrice
    • Non-Transactional List Price: ContributorListPrice
    • Derived Formula: ContributorFormulaInput
    • Contributor: Contributor
    • Contributing Product: ContributorProduct
    • Header Total: TotalAmount
  4. On the left panel of the Pricing Procedure Builder, click Element Details.
  5. Select the Include in Output checkbox.
  6. Click Save.
  7. Click Activate.

Here’s how your Derived Price element should look.

Corresponding Derived Price element.

You have successfully added the Derived Price element to your pricing procedure.

Test the Pricing Procedure on a Quote

As ‌best practice, test the pricing procedure before finalizing it. Richa tests the procedure on a quote to confirm it’s real time functionality. To start, she updates the pricing procedure name in her org setup, which involves changing it in one specific location.

  1. From Setup, in the Quick Find box, search for and select Revenue Settings.
  2. Under Set Up Salesforce Pricing, hover your mouse over the edge of the box until a “remove” icon appears. You may have to hold your mouse still to see the icon.
  3. Click the remove icon to delete the default pricing procedure.

Select the remove icon to delete the default pricing procedure.

  1. From the dropdown menu, select Pricing Procedure Demo_2.

Richa is now ready to test derived pricing on a quote.

  1. From the App Launcher, find and select Quotes.
  2. Change the list view to All Quotes.
  3. Click Advanced Pricing Demo.
  4. From the Advanced Pricing Demo quote page, click Browse Catalogs.
  5. In the All Catalogs list, select Hardware Catalog, and click Next.
  6. From the displayed products list, select the checkbox for Laptop and Laptop Bag.
  7. Click Add Selection to Quote.
  8. Click Save Quote.

Here’s how your quote should look.

The Advanced Pricing Demo quote with the newly added line items.

Notice that the laptop bag’s price automatically updates based on the price of the laptop. When you hover your mouse over the Net Unit Price field of the Laptop Bag, the price waterfall shows the derived price in action.

Price waterfall of the Laptop Bag.

Note

Derived Pricing always derives the Net Unit Price of the derived product in Salesforce Pricing.

Congratulations! Your derived pricing is working as expected.

Coming Up

In this unit, you learned how to implement derived pricing. You know how to define a derived product, create a derived price record, and configure the Derived Price element in your pricing procedure. Head to the next unit to discover another advanced pricing strategy: subscription pricing.

Resources

Condividi il tuo feedback su Trailhead dalla Guida di Salesforce.

Conoscere la tua esperienza su Trailhead è importante per noi. Ora puoi accedere al modulo per l'invio di feedback in qualsiasi momento dal sito della Guida di Salesforce.

Scopri di più Continua a condividere il tuo feedback