Loading
Feature degradation | Gmail Email delivery failureRead More
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Calculate Contract-Based Pricing

          Calculate Contract-Based Pricing

          Before you begin to calculate contracted prices, do the following.

          Required Editions

          Available in: Lightning Experience
          Available in: Enterprise, Unlimited, and Developer Editions of Revenue Cloud where Salesforce Pricing is enabled
          User Permissions Needed
          To create pricing procedures: Salesforce Pricing Design Time
          • Link your products to a contract.
          • Calculate the base contracted prices. Use the Contract Pricing Entries decision table for this calculation.
          • Enable contract-based pricing. In the relevant elements, select the Use contract-based pricing option.
          • Set the Contract Pricing variable. When you enable contract-based pricing, you must provide a value for your Contract Pricing boolean variable. This variable determines if contracted prices will be generated.
          • Filter the line items. Use the List Group element to filter out the line items that aren’t configured for additional discounts on their contracted price.

          Let’s consider a scenario where we provide our customer with a flat base price of $75 for every monitor purchased. We’ll provide an additional 5% manual discount if our customer purchases 100 monitors.

          Define Contracts

          1. From App Launcher, find and select Contracts.
          2. Click New.
          3. Specify these details.
            1. Account Name: GenePoint (This is based on our example only)
            2. Contract Start Date: 7/1/2025
            3. Contract Term (months): 12
          4. Save your changes.

          Define Contract Item Prices

          1. On the Related tab of the contract you just created, go to Contract Item Prices, and click New.
          2. Specify these details.
            1. Under Item, select Product.
              Search for and select Monitor.
            2. Product Selling Model: One Time
            3. Price: $75
            4. Start Date: 7/2/2025, 12:00 PM
            5. End Date: 10/31/2025, 12:00 PM
            6. Adjustment Method: Range
          3. Save your changes.

          Activate Your Contract

          1. From App Launcher, find and select Contracts.
          2. Select the contract you created.
          3. On the approval flow, select Activated.
          4. Select Mark Status as Complete.

          Refresh Your Decision Tables

          Refresh your decision table to ensure the latest contract-specific data is available for pricing.

          1. To refresh your decision table, from Setup, in the Quick Find box, search for and select Decision Tables.
          2. Select Contract Pricing Entries, and click Refresh.

          Calculate the Contract-Based Price Using a Pricing Procedure

          1. Create a pricing procedure. To create a pricing procedure, follow the first 5 steps in Configure Your Pricing Procedure.
          2. Click Add Element iconto add the Pricing Setting element and map these variables.
            • Input Variables
              • Line Item: LineItem
            • Output Variables
              • Price Waterfall: price_water_fall
              • Net Unit Price: NetUnitPrice.
              • Subtotal: ItemNetTotalPrice
          3. Add the List Price element to fetch the base price of the product.
            Under Lookup Table Details, select the Contract Pricing Entries decision table.
          4. Select Use contract-based pricing.
          5. Map these variables.
            • Input Rule Variables
              • Contract: ItemContract
              • Item: Product
              • Product Selling Model: ProductSellingModel
              • Selling Model Type: SellingModelType
              • Start Date: StartDate
            • Output Rule Variables
              • Discount Type: ItemContractDiscountType
              • Discount Value: ItemContractDiscountValue
            • Input Variables
              • Quantity: LineItemQuantity
            • Output Variables
              • List Price: NetUnitPrice
              • Contract Pricing: IsContracted
          6. Save your changes.
          7. Add the List Group element.
            Configure the list operation to filter out all the line items with the configured contract prices. Based on our example, define a condition where if a contracted base price is found, then look for a contract based volume discount and apply it.
            • Filter Condition Requirements: All Conditions Are Met (AND)
            • Resource: IsContracted
            • Operator: Equals
            • Value: true
          8. Within the list container, search for and add the Manual Discount element and map these variables.
            1. Adjustment Type: AdjustmentType.
            2. Adjustment Value: AdjustmentValue
            3. Quantity: LineItemQuantity
            4. Input Unit Price: NetUnitPrice
          9. To stop pricing, within the list container, and under the Manual Discount element, add the Stop Pricing element.
          10. Click Pricing Procedure Builder iconand select Include in Output.
          11. Finally, set your preferences to view pricing information, profile access, and rank information.
          12. Save your procedure.
          13. Click Simulate to test your procedure.
          14. Enter the input values for your monitor product and click Simulate again.
            The price waterfall shows the contracted price used to calculate the monitors' final price, including the flat 5% discount applied for purchasing over 100 units, confirming that your procedure is working as expected.
            Contract-based price waterfall view
           
          Loading
          Salesforce Help | Article