These are an advanced pricing concept used to define tiered pricing paradigms, or complex pricing structures with multiple criteria. Common examples are pricing tiers for a product based on user count or particular customer or transactional dimensions.

As an administrator, you can associate a cost (custom field) to each price matrix entry because the cost varies with the price and hence the margin is affected. The price matrix entries that are applied on a line item can be accessed in the line item. A price list can have more than one price matrix. CPQ supports multiple matrix entries within a matrix (cumulative range matrix) to be applied.

In CPQ Admin UI, you can use attributes from the out-of-the-box product attribute value (PAV) extension objects in the following ways:

  • To create price dimensions, which can be used to create price matrices
  • To create price matrices of type criteria

CPQ does not support custom PAV extension objects.

To create price matrices

You must have existing price dimensions.

  1. Select an existing price list item, click the more icon (), and click Advanced.
  2. On the MATRICES tab, click New Matrix.
  3. On the DETAILS tab, enter the following details.
    1. Matrix Name: Enter a name for the matrix.
    2. Sequence: Enter a sequence number for the matrix.
    3. Short Description: Enter a description for the matrix.
    4. Matrix Type: Select Dimension. If you choose Condition, note that the option or attribute pricing at the 1st level sub-bundle is not supported.

      If Price Type is Usage on a price line item, then the Matrix Type should also be Usage while creating a price matrix. CPQ supports only this combination. 

      If Price Type is Usage on a price line item and Matrix Type is Dimension, and you try to use the Adjustment Amount Source field, it will not work. CPQ does not support this combination.

    5. Stop Processing More Matrices: Select this checkbox to stop the system from evaluating further matrices if a match is found within this matrix.
    6. Enable Date Range: Select this checkbox to enable the start and end date for price matrix to execute.

      In Classic CPQ, the price matrix date is mapped with the start date of line item. If the start date of the line item on the Cart falls under the price matrix entry, CPQ applies the correct price matrix. 

  4. On the DIMENSIONS tab, enter the following details.
    1. From Dimension, select a price dimension. You can enter up to six dimensions, which bring in attributes from the line items or headers of any data type within Salesforce.
    2. From Dimension Value Type, select one of the following:

      OptionDescription
      Cumulative Range - Line Item

      The values will be evaluated cumulatively. For example: If quantity = 15 and price is $1 for a range of is 0-10, and price is $2 for a range of 11-15, then 10x$1+5x$2 = $20 will be the price of the product.

      As an administrator, you define step pricing so that users (sales representatives) can quote correct prices to customers. You can create a matrix where the Dimension Type is Cumulative Range. If the admin setting APTS_DisableCumulativeQuantityAcrossCart is set to True, CPQ applies the cumulative range matrix such that it does not span multiple line items of the same product.

      The Admin Setting APTS_DisableCumulativeQuantityAcrossCart is not available in Admin tab by default. You can add the entry by following the steps below:

      1. Go to All Tabs > Admin
      2. Click New, to create a new record.
      3. Fill the following details

        FieldValue
        NameAPTS_DisableCumulativeQuantityAcrossCart
        Valuetrue or false
        CodeLeave the field blank
      4. Click Save.
      When you have applied Cumulative Range - Line Item price matrix on a product, if you create ramps for that line item, those ramps will have the matrix applied by default. Ramps will inherit the matrix from that line item. (If you create five ramps, all five ramps will have the matrix.)
      DiscreteThe system only considers the specific matrix values.
      RangeThe system considers the matrix values as inclusive of the numbers in the range.
  5. Click Save. The price matrix is successfully created and listed under Matrices.
  6. Click the add icon () in the matrix detail section to add an adjustment to the price matrix. You can add more than one matrix rows by clicking  and delete rows by clicking . You can also move a row up or down by clicking  or .
  7.  Enter the following details and click Save
    1. In the <Dimension_Name> column, enter a value for the dimension you created. The values are inclusive. For example, the first line here indicates a range of 0-10. The second line indicates a range of 11-20, etc. All adjustments are adjusting the price list item-list price. To account for an infinite number of values, set the quantity to 999999, which will pull a range of “infinity.” In this example, setting 999999 indicates the range 41-999999.
    2. In the Adjustment Amount column, enter a percentage or a number to adjust the price.

      In this field you enter a static adjustment amount value. If you do not want the adjustment amount to be static, use the Adjustment Amount Source column.

    3. From Adjustment Type, select the kind of adjustment required, if the criteria is met. An example is an override to a list price, markup, or discount. 
    4. In the Adjustment Amount Source column, select a CPQ formula field.

      Use this column if you want to make the adjustment amount as a variable that is evaluated in run-time. If you want to provide a static adjustment amount, use the Adjustment Amount column. 

      In the Adjustment Amount Source column, you can select a CPQ formula field that fetches a value from a numeric or currency type of custom field on the line item object. For more information, see Managing CPQ Formula Fields.

      However, you must select such formula fields that return only numeric values. CPQ applies the adjustment on the list price to derive the base price. For more information on how to use a formula field in creating a price matrix, see Use Case: Using a CPQ Formula Field in Price Matrix.