Loading
Salesforce Enforces New Security Requirements in Summer 2026Read More
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
          Pricing Matrices for Attribute-Based Pricing

          Pricing Matrices for Attribute-Based Pricing

          To speed your deployment, Salesforce provides pre-configured calculation procedures and matrices for attribute-based pricing.

          Starting in the Summer '18 release, you use pricing plans and calculation matrices to price products using attributes. The standard calculation matrices store the combinations of product configurations and their corresponding prices. The pricing plan service overrides the product's base price with the price specified for each permutation defined in the standard calculation matrix. If any permutations aren’t defined, the pricing plan service defaults to the base price listed in the shared catalog.

          An easy way to ensure that all permutations are captured in the calculation matrix is to set the product's base price to $100,000,000. That way, users quickly let you know if a permutation slips through the matrix!

          If you’ve installed the Attribute/Volume Based Pricing DataPack, you should have the following records in your org.

          Calculation Procedure

          Calculation Matrix

          DataPack

          AttributePricing

          AttributePricingMatrix

          AttributePricingDataPack.json

          SourceTargetAttributePricingProcedure

          SourceTargetAttributePricingMatrix

          SourceTargetAttributePricingDataPack.json

          RangeAttributePricingProcedure

          RangeAttributePricingMatrix

          RangeAttributePricingDataPack.json

          Each DataPack corresponds to a type of attribute-based pricing and has a standard calculation matrix that has been configured to support it. You can deploy one, two, or all of these matrices depending on the type of attribute-based pricing that you need. After importing the DataPacks into your org, go to Vlocity Calculation Matrices to add data to the matrices.

          Note
          Note

          Vlocity Communications supports only standard calculation matrices. It doesn’t currently support grouped calculation matrices, row-versioned calculation matrices, or wildcards in calculation matrices. For a description of each, see Calculation Matrices.

          Attribute-Based Pricing Calculation Matrices

          The pre-configured calculation matrices contain the following columns.

          Don’t change the header names of the columns in the calculation matrix. The PricingPlanHelper.cls expects these column names and fails if they aren’t found. The only header change you can make is to change the field names in the range attribute-based pricing matrix.

          Header Name

          Header Type

          Data Type

          Description

          Source Product Name

          Input

          Text

          Product name

          Source Product Code

          Input

          Text

          Product code is the key for the matching algorithm used in the PricingPlanHelper.cls.

          Characteristic Name

          Input

          Text

          Attribute name associated with the product. Specify multiple attributes using a semi-colon-delimited list.

          Characteristic Value

          Input

          Text

          Attribute value associated with the product attribute. Specify multiple attributes using a semi-colon-delimited list in the same order as the corresponding attributes. By default, PricingPlanHelper.cls evaluates attribute display labels when looking for a match, but you can change this behavior using the UseDisplayTextForValues parameter. To learn more, see Set Up a Custom Pricing Step for Attribute-Based Pricing.

          MRC

          Output

          Text

          Recurring monthly charge. Doesn’t need to match an existing pricing element value in the price list that is used for the order, quote, or opportunity order.

          NRC

          Output

          Text

          Non-recurring charge or one-time charge. Doesn’t need to match an existing pricing element value on the price list that is used for the order, quote, or opportunity order.

          Target Product Name

          Output

          Text

          Used only for source/target or range pricing. Specifies the target product name to which the pricing override is applied. If no path is specified in the pricing plan step, pricing override is applied to all target products that match the target product name. If a path is specified, however, pricing override is applied specifically to the path + Target Product Name that is defined.

          Note
          Note

          Range attribute-based pricing calculation matrices also can include any field or attribute of data type Number on order line item, quote product, or opportunity product sObjects. Create column headers in your matrix for those fields using the API field name, such as Quantity or vlocity_cmt__EffectiveQuantity__c.

          Set up the Calculation Matrices

          Each calculation matrix corresponds to a type of attribute-based pricing and includes all of the columns needed for each type. Before you deploy any of these matrices, you must populate them with data.

          Types of Attribute-Based Pricing and Their Calculation Matrices

          Types Of ABP

          If additional performance is required, see Caching Calculation Matrices for Performance.

          • Set Up AttributePricingMatrix
            The AttributePricingMatrix enables you to implement standard attribute-based pricing. This calculation matrix is pre-configured with the column headers that define the source products, the product attributes, the MRC, the NRC, and the usage prices.
          • Setting Up SourceTargetAttributePricingMatrix
            SourceTargetAttributePricingMatrix enables you to implement attribute-based pricing based on source and target products. Using this approach, you can adjust pricing for one product based upon the attributes of another product. You can also use a parameter on the pricing plan step to specify the path to specific products in a bundle.
          • Setting Up RangeAttributePricingMatrix
            The RangeAttributePricingMatrix enables you to implement attribute-based pricing that evaluates a range of numeric values in an attribute or a field. Using this approach, you can override pricing for a product when, for example, the Quantity field on the line item exceeds a certain threshold or the numeric value of an attribute falls within a certain range. You can also use this matrix to allow volume-based pricing simply based on quantity alone (no attributes necessary).
          • Set Up Cache for Calculation Matrices for Performance
            To optimize performance for large calculation matrices or pricing plans that have many attribute-based pricing steps, you can cache your calculation matrices in the platform cache.
           
          Loading
          Salesforce Help | Article