Loading
Get Started with Communications, Media, and Energy & Utilities (CME)...
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
          Attribute-Based Pricing for Summer '23

          Attribute-Based Pricing for Summer '23

          The Attribute Based Pricing Summer '23 now supports Business Rules Engine, and pricing matrices with more than 50,000 rows. You can also pass values between price plan steps, set attribute values and prices, and use attribute values in the pricing logic.

          Considerations for Attribute-Based Pricing Summer '23

          The Attribute-Based Pricing Summer '23 package provides a host of features that makes it easier to implement attribute-based pricing. Before you install the Attribute Based Pricing Summer '23 on your org, please read through these prerequisites and considerations.

          The Attribute Based Pricing Summer'23 DataPack is not installed by default. Go to the Industries CPQ folder of Salesforce Industries Process Library, and download the Attribute Based Pricing datapack. To deploy the AttributeBasedPricing.zip file to your org, follow these steps:

          1. In Workbench, click Migration, then click Deploy.
          2. Choose the AttributeBasedPricing.zip file.
          3. Select Single Package.
          4. Click Next, then click Deploy.
          5. In the Results section, click Verify, then click Success:True.

          Features of the latest version of Attribute-Based Pricing

          • You can integrate Business Rules Engine objects with Attribute-Based Pricing.

          • You can use pricing matrices that have upto 1 million rows.

          • You can pass attribute values into the pricing logic directly.

          • You can map variables to the input or output of pricing plan steps.

          • You can create custom fields in a product object, and use it in an expression set.

          • When you define an attribute or a variable, you can use it anywhere in the Expression Set. For example, you can use it in a condition, a formula, or an output.

          Upgrading to the latest Attribute-Based Pricing version

          • You must install Salesforce Communications, Media, and Energy, Summer '23 or later.
          • All customization done on the previous attribute-based pricing implementations must be done manually on the new attribute-based pricing.
          • Once you upgrade to the new attribute-based pricing version, you cannot revert to previous versions.
          • To use Business Rules Engine's decision matrices and expression sets, you must migrate all the calculation matrices and procedures from previous implementations. See: Calculation Matrix and Procedure Migration to Business Rules Engine

          Supported Features

          Attribute-Based Pricing Summer '23 is supported in the following configurations:

          Note
          Note Starting Winter '24, Attribute-Based Pricing in Standard Digital Commerce works with custom fields.
          Supported Features for Attribute-Based Pricing Summer '23
          Feature LWC CPQ Decision Matrix Calculation Matrix Standard Digital Commerce OmniStudio Enabled/Disabled
          Matrices larger than 50k rows Yes Yes Yes Yes Yes
          BRE support Yes Yes NA Yes Yes
          Pass values between pricing plan steps Yes Yes Yes Yes Yes
          Use attribute values in pricing logic Yes Yes Yes Yes Yes
          Set attribute values and prices Yes Yes Yes Yes Yes
          Custom fields Yes Yes Yes Not Supported Yes
          Note
          Note All the listed features are supported by JSON Attribute V1 and V2 schema, Classic Digital Commerce, and Hybrid Cart.
          Note
          Note The listed features are not supported in older implementations of Attribute-Based Pricing and Standard Cart-Based APIs.

          Configure Attribute-Based Pricing

          The Attribute-Based Pricing package comes with a range of features that makes it easy to implement.

          First, create a product that is then added to a cart (opportunity, quote or order). You can create custom fields, pricing variables, and pricing variable bindings.

          1. To create a product, follow these steps:
            1. In the App Launcher, go to All Items and click Vlocity Product Designer.
              For more information about creating products in Product Designer, see Create Products in Product Designer.
            2. From the Vlocity Product Designer, click the dropdown, and select Products.
            3. Click Create New Product.
              Enter the values depending on the type of product you want to create.
          2. For OmniStudio-Enabled orgs, complete the following steps to integrate Business Rules Engine:
            1. Migrate all the calculation matrices and procedures from previous Attribute-Based Pricing implementations to use Business Rules Engine's decision matrices and expression sets. See Calculation Matrix and Procedure Migration to Business Rules Engine.
            2. Enable Business Rules Engine's decision matrices and expression sets instead of calculation matrices and procedures, see Integrate Business Rules Engine with Attribute-Based Pricing.
            Note
            Note Calculation matrices and procedures are not supported for OmniStudio-Enabled orgs. You must use Business Rules Engine's decision matrices and expression sets instead.
          3. Configure product and pricing designer for your product objects. See Post-Install Steps for CME, Order Management, and Contract Lifecycle Management.
            To edit pricing plan steps in Vlocity Pricing Designer, you must assign Vlocity EPC Pricing Plan Layout to System Administrator.

          Integrate Business Rules Engine with Attribute-Based Pricing

          Business Rules Engine uses decision matrices and expression sets in place of calculation matrices and calculation procedures respectively. Set the decision matrix parameter to true in OmniScript-enabled orgs.

          Before you begin:

          • You must have a Business Rules Engine license.

          • You must migrate all the calculation matrices and procedures from previous implementations to use Business Rules Engine's decision matrices and expression sets. See: Calculation Matrix and Procedure Migration to Business Rules Engine

          • You must have a Comma Separated Value (CSV) file for the decision matrix you want to integrate into Attribute-Based Pricing.

          • In the decision matrix, your column names for Input Data must be SourceValueProductName (Text), SourceProductCode (Text), CharacteristicName (Text), CharacteristicValue (Text). The columns for Output Data can be customised.

          • In the expression set, to set the Output Variable of a calculation step to a standard CPQ price or cost, you must use the pricing variable code.

          The decision matrix parameter in a pricing plan controls the use of Business Rules Engine in Attribute-Based Pricing. First, create a custom pricing step in the Default Pricing Plan. Then, set the parameters in the pricing step. For more information about pricing plan step parameters, see Set Up a Custom Pricing Step for Attribute-Based Pricing.

          Note
          Note For OmniScript-Enabled orgs, you must use Business Rules Engine instead of calculation matrices and procedures.
          Note
          Note In the pricing plan step parameters, enter only the name of the Expression Set, not the API name.
          1. From the App Launcher, go to Vlocity Pricing Designer.
          2. Under Pricing Plans, click Default Pricing Plan.
          3. To create a new step, under Pricing Plan Steps, click New.
          4. To enable BRE decision matrices and expression sets, under Parameters, set DecisionMatrix to true.
            Decision Matrix parameter is set to true
          5. To provide guest users access to the decision matrices used in a pricing plan step, set up sharing rules for the decision matrix object:
            1. From Setup, in the Quick Find box, enter for Sharing Settings, and then click Sharing Settings.
            2. In Manage sharing settings for, select Decision Matrices.
            3. Under Sharing Rules, next to Decision Matrix Sharing Rules, click New.
            4. Enter the label name and rule name.
            5. For the rule type, select Guest user access, based on criteria.
            6. Under Criteria, set the fields to include the decision matrices in the pricing plan step. For example, if the names of your decision matrices contains "VEE", for Field, select Name, for Operator, select Contains, and for Value, enter VEE.
            7. For Share with, select the guest user that you have created for your application.
            8. For Access Level, select Read Only.
            9. Save your changes.

          Support Pricing Matrices Larger than 50K rows

          Increase the limit on the number of rows in a calculation matrix for your attribute-based pricing implementation.

          Previous versions of attribute-based pricing implementations could support a maximum of 50,000 rows in a calculation matrix. The latest Attribute-Based Pricing package uses MD5 hash on calculation matrices to increase their limit to 1 million rows.

          For more information about pricing plan step parameters, see Set Up a Custom Pricing Step for Attribute-Based Pricing.

          1. Create a custom partition. For more information, see Set Up Cache for Calculation Matrices for Performance.
            1. Go to Setup, and then in Quick Find, search platform cache.
            2. Click New Platform Cache Partition.
            3. In the Detail section, enter the following information.
              Field Value Description
              Label AttributePricingPartition The label to be displayed for this partition.
              Name AttributePricingPartition The name of this partition. This value must be entered in the CPQ Configuration custom setting
              Default Partition Do not select  
              Description Stores calculation matrices for attribute based pricing.  
            4. In the Capacity section, under Org Cache Allocation specify the amount of cache for the PricingPlanHelper Apex class to use.
              For a million rows, you can allocate a 2MB capacity.
            5. Save your changes.
          2. To add a new key in CPQ, follow these steps:
            1. In App Launcher search and select Vlocity CMT Administrator.
            2. Under Custom Settings, click CPQ Configuration Setup.
            3. Scroll down and click Add.
            4. In Name, enter AttrMatrixInfoCachePartition, and in Value enter AttributePricingPartition.
            5. Save your changes.
          3. To enable the large matrix feature for the custom pricing plan step, follow these steps:
            1. From the App Launcher, click Vlocity Pricing Designer.
            2. Under Pricing Plans, click Default Pricing Plan.
            3. In Pricing Plan Steps, click the same custom pricing plan step that uses matrices larger than 50,000 rows.
              Make a note of the Sequence number of this step.
            4. In Parameters, add LargeMatrix parameter with the value set to True.
              ABP-Large Matrix
          4. To execute the matrix cache batch job, follow these steps:
            1. Open the Developer Console.
            2. Click Debug | Open Executable Anonymous Window.
            3. Paste the following code block:
              Map<String, Object> input = new Map<String, Object>();
              input.put('PricingPlanCode','DEFAULT_PRICING_PLAN');
              input.put('PricingPlanStepSequenceNumbers',' 
              <Custom_Pricing_Plan_Step_Number>');
              AttributeMatrixInfoCacheBatch batch = new AttributeMatrixInfoCacheBatch(input);
              Database.executeBatch(batch,2000);
              
            4. In the code block, replace <Custom_Pricing_Plan_Step_Number> with the Sequence number of the custom step that uses matrices larger than 50,000 rows.
            5. Execute the code and wait for the batch job to complete.
          5. To refresh the cache after running these jobs, follow these steps:
            1. In App Launcher, search and select Vlocity CMT Administrator.
            2. Under Admin Console, click Maintenance Jobs.
            3. Run the following jobs:
              • Clear Managed Platform Cache

              • Product Hierarchy Maintenance. : Select Delete Old Data

              • Refresh Platform Cache

          Map Variables to the Input or Output of Pricing Plan Steps

          Add a configuration to the Input JSON of a pricing plan step to model attributes on products which are added to the cart.

          First, create a variable that should be used in the Input/Output Variable Map. The variable name must be the same as the Input Attribute name defined in a pricing plan step.

          Note
          Note Variable names can be referenced only inside the pricing plan steps.
          1. For an Expression Set in Business Rules Engine, follow these steps:
            1. Click App Launcher , and then find and select Business Rules Engine.
            2. Click the app navigation menu, and then select Expression Sets.
            3. Select an expression set in the list.
            4. On the record page for your new expression set, on the Related tab, click for the expression set version, and then select Open in Expression Set Builder.
            5. Create variables and constants for the expression set.
              New Resource
            6. Click Resource Manager.
            7. Click Add Resource, and then create a variable.
          2. Alternatively, for Calculation Procedures, follow these steps:
            1. In the App Launcher, click Vlocity Calculation Procedures.
            2. On the Vlocity Calculation Procedure page, in the Vlocity Calculation Procedure Versions related list, click the calculation procedure name.
            3. In the Variables section of the Pricing Calculation editor, create a variable.
          3. Go to Vlocity Product Console.
          4. In the Dashboard in the Pricing area, click the search icon next to Pricing Plan, and press Enter.
          5. The Default Pricing Plan is displayed.Click Default Pricing Plan.
          6. In the sidebar, click Pricing Plan Steps.
          7. Select a step for which you want to map variables.
          8. To map the output to a variable, in Parameters, in OutputVariableMap, set a variable that you can pass to another step.
            For example, you can set BoilerOutputFactor = BoilerOutputFactorVar.
            Note
            Note Note: OutputVariableMap is an array of key-value pairs that map an output from the Expression Set (or Calculation Procedure if your org does not use BRE) to a variable name. The variable name and value are available to Pricing Plan steps through the InputVariableMap.
            Rating Boiler age
          9. To map the input to a variable, in Parameters, in InputVariableMap, enter the variable from another step.
            For example, you can set BoilerOutputFactorVar = BoilerOutputFactor
            Note
            Note InputVariableMap is an array of key-value pairs that map an OutputVariable name to a variable in the Expression Set (or Calculation Procedure if your org does not use BRE).
            Rating- Risk area

          Pass Attribute Values into the Pricing Logic

          Add a configuration to the Input JSON of a pricing plan step map to attributes to an attribute name that can be used in the pricing logic.

          Note
          Note Attributes mapped to an attribute name can be referenced outside the pricing plan step. For example, you can use the same attribute name in an expression set to refer to the one created in the pricing plan step.

          For more information about pricing plan step parameters, see Set Up a Custom Pricing Step for Attribute-Based Pricing.

          1. From the App Launcher, click Vlocity Pricing Designer.
          2. Under Pricing Plans, click Default Pricing Plan.
          3. In Pricing Plan Steps, select a step for which you want to map attributes.
          4. To map the output to an attribute, in Parameters, in OutputAttributeMap, set an attribute name that you want to use in the pricing logic.
            For example, you can set RiskRatingFactor = Risk Rating Factor
            Note
            Note OutputAttributeMap is an array of key-value pairs that map an OutputAttribute name from an Expression Set response to an attribute name.
            Rating - Risk area

          Use a Custom Field for Attribute-Based Pricing

          Use custom fields in your attribute-based pricing implementation.

          To create and use a custom field, you must first determine which objects require the field. You must use the API Name of the custom field in the Destination Field API Name of the Pricing Variable Binding. You must use the Code of the pricing variable in the Output Variable of a calculation step in an expression set.

          Diagram of a custom field for pricing

          Note
          Note Custom fields are not supported by Standard Digital Commerce.
          1. To add a custom field in the product, follow these steps:
            1. Go to Setup.
            2. Click Object Manager.
            3. Click the product where you want to add the custom field.
            4. Click Fields & Relationships.
            5. Click New, then add the details of the new field.
          2. To bind the custom field to a pricing variable, follow these steps:
            1. Create a pricing variable in Pricing Designer. Enter a pricing variable code that can be used in the expression set. For example, enter a code TAX_SALES_ITEM.
            2. To bind this variable to the custom field, see Pricing Variable Bindings.
              In the Destination Field API Name, add the API Name of the custom field.
          3. To use a custom field in an expression set, follow these steps:
            1. From the App Launcher, go to Expression Sets.
            2. Select an expression set from the list.
            3. From the dropdown, click Open in Expression Set Builder.
            4. In a calculation step, enter the code of the pricing variable that is bound to the custom field in Output Variable.
              The formula sets the value of this custom field.
           
          Loading
          Salesforce Help | Article