---
title: Configure the price matrix
slug: configured-commerce/docs/configure-the-price-matrix
docTags: 
createdAt: 2026-08-13T10:46:22.000Z
---

The Price Matrix creates a generic construct used for storing complex pricing information across various ERP systems. It intentionally is non-normalized data to create a data structure that can perform the calculations with minimal latency. It does have its limitations, such as a maximum of 10 price breaks.

Each ERP or custom application of the matrix can use different data in specific fields as needed to accommodate pricing functions.

## Configure the price matrix

Configure the appropriate settings to use the Price Matrix. Remember to correctly target the desired website using the **Configuring** menu on the left side of the screen.

| Setting             | Description                                                                                                                                                                                                                                                                                                                                               |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Pricing Service** | This sets the pricing service to use for the targeted website. Use the **Configuring** menu on the left side of the screen to select either global or a specific website. There are four default **Pricing Service** options:- **List** - only pricing values on the Product table are used- the Price Matrix will not be used if this selection is made. |

- **Generic** - the pricing service with C# code for Price Matrix calculations is used.
- **StoredProcedure** - the pricing service with a SQL stored procedure for Price Matrix calculations is used.
- **RealTime** - a real-time call to an external service will be used.This requires a Real-Time pricing plug-in to be developed.The default value is **Generic.** |
  \| **ERP Pricing Stored Procedure**                                 | This field only displays if the **Pricing Service** is set to **StoredProcedure**. Enter the name of the stored procedure to run to calculate pricing. Default value: **PriceCalculator\_Generic**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  \| If **RealTime** is selected, the following fields are displayed: |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  \| **Real-time Pricing Service**                                    | The real-time pricing service name. Default value: Insite                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  \| **Real-time Service Timeout Seconds**                            | Time to wait for real-time pricing service to return. Default value: 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  \| **Real-time Service Cache Minutes**                              | Number of minutes that prices from an real-time service will be cached. Default value: 60                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  \| **Real-time Service Unavailable Retry Minutes**                  | Number of minutes to wait if the real-time service timed out. Default value: 5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  \| **Real-time Service Delay Seconds**                              | Number of seconds to delay the real-time pricing. This is used for testing and should be set to 0 in a production environment. Default value: 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

## Set up a price matrix record

Set up a Price Matrix record to create pricing information for a product, a customer, or both.

### Price matrix details section

1. Within the **Admin Console**, go to **Catalog** > **Price Matrix**.
2. Click **Add Price Matrix**.
3. Select a **Record Type** from the drop-down- record types are listed in evaluation order from most specific to most general:
   - Customer/Product
   - Customer/Product Price Code
   - Customer Price Code/Product
   - Customer Price Code/Product Price Code
   - Customer
   - Customer Price Code
   - Product
   - Product Price Code
   - Product Sale
4. Then, select one or multiple options from the corresponding fields.

| Record Type Option                     | Description                                                                                                                                                    | Corresponding Fields                                                    |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| Product                                | Correlates to a Product record.                                                                                                                                | Product select drop-down                                                |
| Product Sale                           | Correlates to a Product record. When used, puts the product on sale and includes any possible price breaks.                                                    | Product select drop-down                                                |
| Product Price Code                     | Correlates to a Product Price Code. Functions like record type Product, but allows the user to select a wider array of products by assigning them price codes. | Product Price Code select drop-down                                     |
| Customer                               | Correlates to a Customer record.                                                                                                                               | Customer select drop-down                                               |
| Customer/Product                       | Assign both a Customer record and a Product record.                                                                                                            | Product select drop-downCustomer select drop-down                       |
| Customer/Product Price Code            | Assign both a Customer record and a Product Price Code.                                                                                                        | Customer select drop-downProduct Price Code select drop-down            |
| Customer Price Code                    | Correlates to a Customer Price Code.                                                                                                                           | Customer Price Code select drop-down                                    |
| Customer Price Code/Product            | Assign both a Customer Price Code and a Product.                                                                                                               | Customer Price Code select drop-downProduct select drop-down            |
| Customer Price Code/Product Price Code | Assign both a Customer Price Code and a Product Price Code.                                                                                                    | Customer Price Code select drop-downProduct Price Code select drop-down |

5. Use the **Activate On** and/or **Deactivate On** fields to select the date and time (or span of time) the Price Matrix is active. Leave **Deactivate On** blank if the Price Matrix record is active indefinitely.
6. For the **Currency Code** field, enter the appropriate currency.
7. The **Unit of Measure** and **Warehouse** fields are optional.

   :::hint{type="info"}
   **Note**

   If the **Warehouse** field is populated, the Price Matrix only displays pricing for products available from the warehouse identified in the Warehouse field.
   :::

   :::hint{type="info"}
   **Note**

   The **Unit of Measure** field is optional; however, if it is filled with a unit of measure that differs from the unit of measure listed on the product's **Detail** page, the Price Matrix record will not execute.
   :::

## Pricing details section

1. Modify the quantities in the **Break Qty** column. The first quantity always is 1. The second break level is the price or percentage to select for the break quantity (such as the second break quantity of 5 equates the first break level to purchases between 1 and 4 items, while the second break level equates to purchases of 5 items or more). Continue this process for each break quantity, up to ten fields.
2. Select a value from the **Price Basis** drop-down.

   :::hint{type="info"}
   **Note**

   This table is the same regardless of the selected Record Type.
   :::

| Price Basis Menu Option        | Description                                                                                                                                                        |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| List                           | Base list price of product +/- number entered in Amount field. Use - in front of the integer to apply a discount amount or percentage.                             |
| Override                       | Uses the Amount to override the product list price.Enter what the price should be in the Amount column to override all cost information for that specific product. |
| Cost                           | Multiplies unit cost of product (determined in Warehouse) by the Amount.                                                                                           |
| Margin                         | +/- adjustment from unit cost. This option only works with Amount adjustment type, not Percent adjustment type                                                     |
| Mark up                        | Unit cost of product + Amount.                                                                                                                                     |
| Base                           | Reserved for ERP-specific pricing                                                                                                                                  |
| Price 1                        | Reserved for ERP-specific pricing                                                                                                                                  |
| Price 2                        | Reserved for ERP-specific pricing                                                                                                                                  |
| Price 3                        | Reserved for ERP-specific pricing                                                                                                                                  |
| Price 4                        | Reserved for ERP-specific pricing                                                                                                                                  |
| Price 5                        | Reserved for ERP-specific pricing                                                                                                                                  |
| Price 6                        | Reserved for ERP-specific pricing                                                                                                                                  |
| Customer Level/Discount        | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level/List            | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level/Cost            | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level/Base            | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level/Margin          | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level/Override        | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level Discount/List   | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level Discount/Cost   | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level Discount/Base   | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |
| Customer Level Discount/Margin | Reserved for ERP-specific pricing; works with SX Price Calculator                                                                                                  |

3. Select a value from the **Adjustment Type** drop-down.

   :::hint{type="info"}
   **Note**

   This table is the same regardless of the selected Record Type.
   :::

| Adjustment Type Menu Option | Description                                                 |
| --------------------------- | ----------------------------------------------------------- |
| Amount                      | Recognizes the value in the Amount field as a whole number. |
| Percent                     | Recognizes the value in the Amount field as a percentage.   |

4. Enter an amount in the **Amount** field.
5. Repeat steps 1-4 for each Price Matrix break quantity.
6. Click **Save**.

:::hint{type="info"}
**Note**

**IMPORTANT:** Upon completion of configuring the Price Matrix, rebuild the **Product Search Index**. Go to **Admin Console** > **Marketing** > **Search** > **Indexing**, and click **Rebuild All** or rebuild just the **Product Index**.
:::

## Set up a price matrix record for a product

Set up a Price Matrix record to create pricing information for a product.

### Use a product's basic List price

Use the Product's **Basic List Price** as a basis for the Price Matrix record. In this example, the User selects a product with a Basic List Price of $37.00.

### Price matrix details section

1. Within the **Admin Console**, go to **Catalog** > **Price Matrix**.
2. Click the **Add Price Matrix**

   ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/XWvjl77XRScmqqdr7le6Z-20260720-144449.png)

:::Paragraph{indent="1"}
button.
:::

3. Select **Product** from the **Record Type** drop-down.
4. Select a **Product** from the **Product** drop-down.
5. Use the **Activate On** and/or **Deactivate On** fields to select the date and time (or span of time) the Price Matrix is active. Leave **Deactivate On** blank if the Price Matrix record is active indefinitely.
6. For the **Currency Code** field, enter the appropriate currency.
7. The **Unit of Measure** and **Warehouse** fields are optional.

   :::hint{type="info"}
   **Note**

   If the **Warehouse** field is populated, the Price Matrix only displays pricing for products available from the warehouse identified in the **Warehouse** field.
   :::

   :::hint{type="info"}
   **Note**

   The **Unit of Measure** field is optional; however, if it is filled with a unit of measure that differs from the unit of measure listed on the product's detail page, the Price Matrix record does not execute.
   :::

### Pricing details section

1. Modify the quantities in the **Break Qty** column. The first quantity always is 1. The second break level is the price or percentage to select for the break quantity (such as the second break quantity of 5 equates the first break level to purchases between 1 and 4 items, while the second break level equates to purchases of 5 items or more). This user chooses to set break quantities at 1, 5, and 10.

   ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/JsikFsSx5c_bMepdZos5y-20260720-144450.png)
2. Select **List** from the **Price Basis** drop-down. List calculates the price of the item +/- the value entered in the **Amount** field.
3. Select **Percentage** from the **Adjustment Type** drop-down. This recognizes the value entered in the **Amount** field as a percentage.
4. Enter an amount in the **Amount** field. This user chooses to enter 0 for break quantity 1, -10 for break quantity 5, and -25 for break quantity 10.
5. Click **Save**.
6. Rebuild the **Product Search Index** by going to **Admin Console** > **Marketing** > **Search** > **Indexing**.
7. View the results on the commerce site.
8. Click **View Website** in the upper right corner of the **Admin Console**, and select the applicable website.
9. Browse or search for the product assigned in Step 4.
10. Click **Quantity Pricing** to view the Price Matrix pricing.

    ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/DWOdlyPCFFQHd9y3JWkF7-20260720-144450.png)

:::Paragraph{indent="1"}
This is the result of the exercise listed above. Since the user entered 0 for break quantity 1, the list price of the item was not altered. Entering -10 reduced the break quantity 5 cost by 10%, and -25 reduced the break quantity 10 cost by 25%.
:::

::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/L0LqOSjMerxwls_z0_HFk-20260720-144450.png" size="100" isUploading="false" showCaption="false" indent="2"}

### Use a product's unit price

Use the Product's Unit Price as a basis for the Price Matrix record. In this example, the user uses a product with a Unit Price of $1.00.

### Set unit price

1. Start by assigning a **Unit Price** to a Product. Within the **Admin Console**, go to **Catalog** > **Products**.
2. Click **Edit** for the desired Product.
3. Click the **Warehouses** finger tab.
4. Click **Add Product Warehouse**.
5. Assign the appropriate **Warehouse**, **ERP Qty Available**, **Qty On Order**, **Safety Stock**, and **Unit Price** to the product.

   ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/v4Xrp7vbvkaZx33kcd4AW-20260720-144450.png)
6. Click **Save**.

### Price matrix details section

1. Go to **Catalog** > **Price Matrix**.
2. Click **Add Price Matrix**.
3. Select **Product** from the **Record Type** drop-down.
4. Select a **Product** from the **Product** drop-down.
5. Use the **Activate On** and/or **Deactivate On** fields to select the date and time (or span of time) the Price Matrix is active. Leave **Deactivate On** blank if the Price Matrix record is active indefinitely.
6. Select the same Warehouse as was assigned to the Product in step 5.
7. For the **Currency Code** field, enter the appropriate currency.
8. The **Unit of Measure** field is optional.

   :::hint{type="info"}
   **Note**

   The **Unit of Measure** field is optional; however, if it is filled with a unit of measure that differs from the unit of measure listed on the product's detail page, the Price Matrix record does not execute.
   :::

### Pricing details section

1. Modify the quantities in the **Break Qty** column. The first quantity always is 1. The second break level is the price or percentage to select for the break quantity (such as the second break quantity of 5 equates the first break level to purchases between 1 and 4 items, while the second break level equates to purchases of 5 items or more). This user chooses to set break quantities at 1, 5, and 10.

   ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/5DTgArFVKlnPNvQdT3VYf-20260720-144450.png)
2. Select **Cost** from the **Price Basis** drop-down. Cost calculates the price of the item by either multiplying the unit cost by the value entered in the Amount field (if Adjustment Type = Percent), or adding the unit cost to the value entered in the Amount field (if Adjustment Type = Amount).
3. Select **Amount** from the **Adjustment Type** drop-down. This recognizes the value entered in the **Amount** field as a whole number.
4. Enter an amount in the **Amount** field. This User chooses to enter 15 for break quantity 1, 13 for break quantity 5, and 11 for break quantity 10.
5. Click **Save**.
6. Rebuild the **Product Search Index** by going to the **Admin Console** > **Marketing** > **Search** > **Indexing**.
7. View the results on the commerce site.
8. Click **View Website** in the upper right corner of the **Admin Console**, and select the applicable website.
9. Browse or search for the product assigned in Step 4.
10. Click **Quantity Pricing** to view the Price Matrix pricing.

    ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/UjF2PefdwO51VxoXDZDK1-20260720-144450.png)

:::Paragraph{indent="1"}
This is the result of the exercise listed above. Since the user entered 15 for break quantity 1, 15 + 1.00 = 16.00. Entering 13 for break quantity 5 added 13 + 1.00 = $14.00, and 11 for break quantity 10 added 11 + 1.00 = $12.00.
:::

::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Mx1oLSQLsb7KFcQimral3-20260720-144450.png" size="100" isUploading="false" showCaption="false" indent="2"}

### Using a product's price code

Use the Product's Price Code as a basis for the Price Matrix record. Set a Price Code for multiple items to apply one Price Matrix record to multiple items. In this example, the user has marked several accessory items with the Price Code of ACC.

### Set price code

1. Start by assigning a **Price Code** to a product. Within the **Admin Console**, go to **Catalog** > **Products**.
2. Click **Edit** for the desired Product.
3. On the **Details** tab, scroll down to the **Pricing** subsection.
4. Enter a code in the **Price Code** text box.
5. Click **Save**.

### Price matrix details section

1. Go to **Catalog** > **Price Matrix**.
2. Click **Add Price Matrix**.
3. Select **Product Price Cod**e from the **Record Type** drop-down.
4. Select a **Product Price Code** from the **Product Price Code**.
5. Use the **Activate On** and/or **Deactivate On** fields to select the date and time (or span of time) the Price Matrix record is active. Leave **Deactivate On** blank if the Price Matrix record is active indefinitely.
6. For the **Currency Code** field, enter the appropriate currency.
7. The **Warehouse** and **Unit of Measure** fields are optional.

   :::hint{type="info"}
   **Note**

   If the **Warehouse** field is populated, the Price Matrix only displays pricing for Products available from the Warehouse identified in the **Warehouse** field.
   :::

   :::hint{type="info"}
   **Note**

   The **Unit of Measure** field is optional; however, if it is filled with a unit of measure that differs from the unit of measure listed on the product's **Detail** page, the Price Matrix record will not execute.
   :::

### Pricing details section

1. Modify the quantities in the **Break Qty** column. The first quantity always is 1. The second break level is the price or percentage to select for the break quantity (such as the second break quantity of 5 equates the first break level to purchases between 1 and 4 items, while the second break level equates to purchases of 5 items or more). This user chooses to set break quantities at 1, 5, and 10.

   ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/6oZqv1HbbaTspXnvZVase-20260720-144450.png)
2. Select **Margin** from the **Price Basis** drop-down. Margin calculates the price of the item by adding the unit cost to the value entered in the **Amount** field.

   :::hint{type="info"}
   **Note**

   The **Margin** option does not work with the **Adjustment Type Percent**.
   :::
3. Select **Amount** from the **Adjustment Type** drop-down. This recognizes the value entered in the **Amount** field as a whole number.
4. Enter an amount in the **Amount** field. This user chooses to enter 20 for break quantity 1, 16 for break quantity 5, and 12 for break quantity 10.
5. Click **Save**.
6. Rebuild the **Product Search Index** by going to **Admin Console** > **Marketing** > **Search** > **Indexing**.
7. View the results on the commerce site.
8. Click **View Website** in the upper right corner of the **Admin Console**, and select the applicable website.
9. Browse or search for a Product with the applicable **Product Price Code**.
10. Click **Quantity Pricing** to view the Price Matrix pricing.

    ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/YjPoppiUUfnbiJ7egR9LI-20260720-144450.png)

:::Paragraph{indent="1"}
This is the result of the exercise listed above, for a product with a unit price of $1.00. Since the user entered 20 for break quantity 1, 20 + 1.00 = 21.00. Entering 16 for break quantity 5 added 16 + 1.00 = $17.00, and 12 for break quantity 10 added 12 + 2.00 = $13.00.
:::

::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/0BjsuT2TpuFzjbITtfJGX-20260720-144450.png" size="100" isUploading="false" showCaption="false" indent="2"}
