---
schema_version: "1"
id: a728352633384e3c940a25761c9fcba1df1512a25cced1c51d3beb4a9a0b1ee5
title: Setting Up Pricing Matrices Using the PricingRulesImplementation
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_setting_up_pricing_matrices_using_the_pricingrulesimplementation.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_setting_up_pricing_matrices_using_the_pricingrulesimplementation.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 8f47be62c7e196e8f43ea9845aeaec725f17fa53d391f914c9c9855b919032a9
description: This topic is for deployments using the PricingRulesImplementation and/or ​Salesforce Industries Communications, Media, and Energy Releases 15 and earlier.
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# Setting Up Pricing Matrices Using the PricingRulesImplementation

This topic is for deployments using the PricingRulesImplementation and/or ​Salesforce Industries Communications, Media, and Energy Releases 15 and earlier.

Attribute-based pricing requires a matrix. Within the matrix, the calculation can be simple or attribute-based. A charge matrix is also a Vlocity calculations matrix. You define the pricing action in the product specification. A pricing specification is the definition of the physical product.

A pricing matrix requires Omnistudio Data Mapper input and output bundles, a calculation matrix, and a calculation procedure. You associate rules, entity filters, and flows with the pricing matrix.

You create a Data Mapper of the type Extract(JSON). The extract object must be a line item, such as OpportunityLineItem, OrderItem, or QuoteLineItem. You must transform the Data Mapper data to match the pricing matrix column headers.

Next, you create a Data Mapper of the type Load(JSON). This Data Mapper uses generated values from the calculation procedure to input into the line item. For example, you could create a field named OneTimeTotal that appears as a nonrecurring charge on the line item. In Data Mapper, use the picklist to select the destination for the uploaded JSON values.

The following is a sample JSON input structure in which the ID equals the extracting object ID and the UnitPrice (also called the calculated price) is equal to the result output.

Example: JSON Input Structure

```
{
   "ID": null,
   "UnitPrice": null
}
```

A pricing matrix uses a calculation matrix. The headers in the calculation matrix correspond to product attribute values, for example, Speed and Brand. For more information about calculation matrices, see [Calculation Matrices](https://help.salesforce.com/s/articleView?id=xcloud.os_calculation_matrices.htm&type=5&language=en_US).

Attaching a product to a price or price matrix binds the columns.

Create the pricing matrix before creating the pricing component. Connect the pricing matrix to the pricing component and the pricing component to the product.

To set up a pricing matrix, you complete the following steps:

1. Create a Data Mapper of type Extract(JSON). For more information, see [Create a Pricing Matrix Data Mapper Extract(JSON)](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_pricing_matrix_dataraptor_extract__json_.htm&release=264.0.0&type=5 "To create a pricing matrix, first create a Data Mapper of type Extract (JSON).").
2. Create a Data Mapper of type Load(JSON). For more information, see [Create a Pricing Matrix Data Mapper of Type Load(JSON)](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_pricing_matrix_dataraptor_of_type_load_json_.htm&release=264.0.0&type=5 "The second step in creating a pricing matrix is creating a Data Mapper of type Load(JSON). The Data Mapper uses generated values from the calculation procedure and puts it into the order item or other object. The example in this topic uses the OneTimeTotal field with the nonrecurring charge value on the line item object.").
3. Create a calculation matrix. For more information, see [Creating a Calculation Matrix](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_calculation_matrix_to_look_across_multiple_inputs.htm&release=264.0.0&type=5 "Use a calculation matrix to perform a lookup across multiple inputs and return the corresponding output. In calculation matrices, headers are inputs or outputs—at least one output must be defined. Input column data types must exactly match the incoming data types or the lookup won’t work. Input rows must be unique and resolve to a single output.").
4. Create a declarative calculation procedure. For more information, see [Create a Calculation Procedure for a Pricing Matrix](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_calculation_procedure_for_a_pricing_matrix.htm&release=264.0.0&type=5 "To create a pricing matrix, you must create a declarative calculation procedure.").
5. Create an entity filter. For more information, see [Create an Entity Filter for a Pricing Matrix](https://help.salesforce.com/s/articleView?id=ind.comms_create_an_entity_filter_for_a_pricing_matrix.htm&release=264.0.0&type=5 "When creating a pricing matrix, you must create a rule action entity filter that invokes the pricing flow under specific conditions. In this example, the rule action entity filter specifies that quantities correspond to pricing actions.").
6. Create a pricing rule on a line item object. For more information, see [Create a Rule for a Pricing Matrix](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_rule_for_a_pricing_matrix.htm&release=264.0.0&type=5 "When using a pricing matrix, you must create a rule that invokes the rule action entity filter. The rule connects the calculation procedure and entity filter.").
7. Create a pricing rules flow. For more information, see [Create a Pricing Rules Flow](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_pricing_rules_flow.htm&release=264.0.0&type=5 "To use a pricing matrix, you must create a pricing rules workflow, or flow.").
8. Activate the PricingRulesFlowmplementation. For more information, see [Set an Implementation](https://help.salesforce.com/s/articleView?id=ind.v_dev_t_setting_an_implementation_658086.htm&language=en_US).
9. Add the pricing matrix custom settings.
    
    **Vlocity Calculation Matrix for a Pricing Matrix**
    
    ![Quantity Matrix V1 matches Discount values 1, 2, 3, 4, and 5 to Quantity values 5.00, 10.00, 15.00, 20.00, and 25.00.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/resources-product/images/salesforce_calculationmatrix_pricingmatrix.jpg)