Loading
Salesforce now sends email only from verified domains. Read More
Communications Cloud
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
          Set Up Location-Based Pricing in Revenue Cloud for Communications

          Set Up Location-Based Pricing in Revenue Cloud for Communications

          Location-based pricing in Revenue Cloud for Communications is a reliable and easy-to-use pricing solution that helps you price products based on their assigned locations. Enable location-based pricing by setting up context definitions, custom objects, decision tables, pricing recipes, and pricing procedures. Price products accurately and consistently based on their location.

          Required Editions

          Available in: Lightning Experience
          Available in: Enterprise, Unlimited, and Developer Editions with Revenue Cloud for Communications
          User Permissions Needed
          To update context definitions: Context Service Admin
          To create decision tables: Rule Engine Designer

          To update pricing recipe:

          AND

          To configure pricing procedure:

          Salesforce Pricing Design Time User
          To set up Salesforce Pricing: Salesforce Pricing Admin

          Before you begin, make sure that you have an org with Revenue Cloud, Business Rules Engine, and Salesforce Pricing license enabled. See Revenue Cloud documentation.

          Update Context Definitions

          Before you update the context definitions, acquaint yourself with the various context definition elements. See Context Definitions and Map Context Definitions.

          1. Verify the default context definition used for pricing.
          2. From Setup, in the Quick Find box, enter Context Service, and select Context Definitions.
          3. If you have a context definition extending the SalesTransactionContext context definition, modify it. Otherwise, create a custom context definition by extending the SalesTransactionContext context definition.
          4. Enter a name for your context definition, and save your changes.
          5. On the Custom Definitions tab, select the context definition that you created, and click Edit.
          6. In SalesTransactionItem, add attributes such as RecipientCity__c of type STRING (INPUT OUTPUT) for locations, RecipientGroupMemberCount__c of type NUMBER (INPUT OUTPUT) for recipients count, RecipientGroupExpectedCount__c of type NUMBER (INPUT OUTPUT) for expected recipients count, and save your changes.
            Note
            Note Map the necessary fields from Quote Line Item Recipient, Order Product, or Quote Recipient Group.
          7. On the Map Data tab, for QuoteEntitiesMapping, click Edit SObject Mapping.
          8. Select Mark as Default, and click Map.
          9. On the ContextMapping page, map the attributes RecipientCity__c to QuoteLineItemRecipient.QuotelineitemRecipient.ServiceCity, RecipientGroupMemberCount__c to QuoteRecipientGroup.ActualMemberCount, and RecipientGroupExpectedCount__c to QuoteRecipientGroup.ExpectedMemberCount from the QuoteLineItem sObject lookup.
          10. Save your mappings.
          11. On the Map Data tab, for OrderEntitiesMapping, click Edit SObject Mapping, and then click Map.
          12. On the ContextMapping page, map the RecipientCity__c attribute to OrderItemRecipient.ServiceCity from the OrderItem sObject lookup.
          13. Save your mapping.
          14. On the Map Data tab, for OrderEntitiesMapping, click Edit Input Mapping, and then click Map.
          15. On the Edit Mapping page, add the input mapping for RecipientGroupMemberCount__c as RecipientGroupMemberCount__c, and RecipientGroupExpectedCount__c as RecipientGroupExpectedCount__c in your node.
          16. Save your mapping.
          17. Activate the context definition.

          Create Custom Object and Decision Tables

          1. Create the ItemLocationPrice custom object with the PriceBook, ProductSellingModel, Product, LocationCity, and UnitPrice fields.
            Field Label field name data type
            Price Book PriceBook__c Lookup(Price Book)
            Product Selling Model ProductSellingModel__c Master-Detail(Product Selling Model)
            Product Product__c Lookup(Product)
            Location LocationCity__c Text(255)
            Unit Price UnitPrice__c Currency(16, 2)
          2. Populate the product data into the custom object that you created.
          3. From Setup, in the Quick Find box, enter Decision Tables and select it.
          4. To create a decision table, click New.
          5. Enter a name and API name for the decision table.
          6. Select Pricing as the application usage.
          7. Select the decision table type.
            Note
            Note If the number of rows is less than 200, select Standard, and if the number of rows is more than 200, select Advanced.
          8. Select Create a Decision Table.
          9. Save your changes.
          10. Select Salesforce Object as the source to create the decision table.
          11. Select itemLocationPrice as the source object.
          12. In the Conditions section, select PriceBook__c, ProductSellingModel__c, Product__c, and LocationCity__c as the source object fields, and Equals as the operator.
          13. Similarly, click Add Condition, and add ProductSellingModel__c, Product__c, and LocationCity__c.
          14. Select All Conditions are met (AND) as the condition type.
          15. In the Results section, select UnitPrice and Id as the source object fields.
          16. Save your changes.
          17. On the Behaviors page, click Save & Next.
          18. Review the details, and click Finish.
          19. Activate the decision table.

          Update Pricing Recipes

          1. From Setup, in the Quick Find box, enter Pricing Recipes and select it.
          2. Click the default pricing recipe.
          3. On the Price Adjustment Matrix tab, click Modify.
          4. Click Create Decision Table to add the decision table that you created, and select List Price as the pricing component type.
          5. Expand the decision table, and in the List Price Variable Mapping section, select Unit_Price__c as the unit price.
          6. Save your changes.

          Add or Update Pricing Procedure

          Before you update the pricing procedure, acquaint yourself with the various pricing elements. See Pricing Elements.

          1. From the App Launcher, find and select Expression Set Templates.
          2. Click Revenue Management Default Pricing Procedure.
          3. Click Save As, and select New Pricing Procedure.
          4. Enter a name for the pricing procedure, and save your changes.
          5. For pricing recipient group-based quote line items, replace all occurrences of LineItemQuantity with ItemSalesTransactionRecipientScaledQuantity__std.
          6. If needed, to use attribute-based pricing, bundle-based pricing, and volume-based pricing, set the values of AttributePASIdConstant, BundlePASIdConstant, and VolumePASIdConstant from the resource manager to the corresponding price adjustment schedule IDs.
          7. If needed, to use tier-based pricing, extend the list group element used for volume discount entries. Then, replace the decision table and price adjustment schedule with tier adjustment-specific details. For a price adjustment schedule, create a constant TierPASIdConstant, and set its value as required.
          8. Add the Assignment element after the Pricing Setting element.
            1. Select LineItemQuantity as the input variable.
            2. Select ItemSalesTransactionRecipientScaledQuantity__std as the output variable.
          9. Add the List Group element after the Assignment element that you added.
            1. In the List Operation section, select All Conditions Are Met (AND) as the filter condition requirement.
            2. Select ItemSalesTransactionRecipientGroup__std as the resource, and Is Not Null as the operator.
            3. Click Add Condition.
            4. Select RecipientGroupMemberCount__c as the resource, and Is Null as the operator.
            5. Add the Formula Based Pricing element after a list operation within the List Group element.
            6. In the input variables section, enter 0 as the formula.
            7. Select RecipientGroupMemberCount__c as the output variable.
          10. Add the List Group element after the List Group element that you added.
            1. In the List Operation section, select Custom Condition Logic is Met as the filter condition requirement.
            2. Enter 1 AND (2 OR 3) as the custom condition logic.
            3. Select ItemSalesTransactionRecipientGroup__std as the resource, and Is Not Null as the operator.
            4. Click Add Condition.
            5. Select RecipientGroupExpectedCount__c as the resource, and Is Null as the operator.
            6. Click Add Condition.
            7. Select RecipientGroupExpectedCount__c as the resource, and Less Than as the operator. Enter 1 as the value.
            8. Add the Formula Based Pricing element after a list operation within the List Group element.
            9. In the input variables section, enter 1 as the calculation formula.
            10. Select RecipientGroupExpectedCount__c as the output variable.
          11. Add the List Group element after the List Group element that you added.
            1. In the List Operation section, select All Conditions Are Met (AND) as the filter condition requirement.
            2. Select ItemSalesTransactionRecipientGroup__std as the resource, and Is Not Null as the operator.
            3. Add the Formula Based Pricing element after a list operation within the List Group element.
            4. In the input variable section, enter LineItemQuantity * MAX ( RecipientGroupExpectedCount__c , RecipientGroupMemberCount__c ) as the formula.
            5. Select ItemSalesTransactionRecipientScaledQuantity__std as the output variable.
          12. Add the List Price element after the List Group element that you added.
            1. Select the decision table that you created.
            2. In the input rule variables section, select PriceBooks, Product SellingModel, Product, and RecipientCity as the PriceBooks, ProductSellingModel, Product, and City variables, respectively.
            3. Select ItemSalesTransactionRecipientScaledQuantity__std as the quantity for the input variables.

              The auto-populated value of the list price field is Constant_UnitPrice_<DT Name>_LP.

            4. Select ListPrice as the list price for the output variables.
          13. Add the List Group element after the List Group element that you added.
            1. In the list operation section, select ListPrice as the resource, and Is Not Null as the operator.
            2. Add the Assignment element after a list operation within the List Group element.
            3. Add ListPrice as the input variable, and InputUnitPrice as the output variable.
          14. Add the List Group element after the List Group element that you added.
            1. In the list operation section, select ListPrice as the resource, and Is Null as the operator.
            2. Drag the Price Book Entries element to the List Group element after the list operation.
          15. Save your changes by assigning a version number, rank, and start date time.
            Note
            Note Select a Start Date Time that falls between the context definition's start time and the current date time.
          16. Activate your pricing procedure.

          Set Default Pricing Procedure

          1. From Setup, in the Quick Find box, enter Revenue Cloud and select Revenue Settings.
          2. Select the pricing procedure that you created as the default pricing procedure.
          3. Save your changes.
           
          Loading
          Salesforce Help | Article