---
sourceDocument: Australia Sales Customer Relationship Management
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/order-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Sales Customer Relationship Management

ft:clusterId :

    - omgmt

bundleId :

    - omgmt

workflow :

    - Customer and Industry


---

# Product lists in layouts

# Product lists in layouts {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Product lists in layouts

In ServiceNow CPQ, product lists are configurable layout components used to display products and related details from bills of materials (BOMs).
These lists help present structured product and pricing information clearly to end users within CPQ layouts.
Layouts are defined primarily through CSV files or via the layout editor in the CPQ UI.
Show full answer Show less  

## Defining Product Lists

Product lists are declared in the layout CSV file with the **type** column set to `productlist`. Placement of the product list can be set by leaving the **path** column blank for standard positioning or specifying a tier-relative path. Product lists support various properties configured in JSON format, including:

* **location:** Position in the layout (right, left, bottom, or modal)
* **type:** Filters products by BOM type (e.g., sales, manufacturing, or custom BOM types)
* **totalLocation:** Where cart totals display (bottom, top, both, or none)
* **hierarchyColumn:** Column that shows expand/collapse arrows for child products
* **displayZeroPriceAs** and **displayNullPriceAs:** Custom text display for zero or null prices (e.g., "On Request")

## Configuring Product List Columns

Columns within a product list are defined as child rows in the CSV with **type** set to `productlistcolumn`, and paths relative to the parent product list. Key configuration aspects include:

* **variablename:** References the product data field to display; supports extended fields via `extended.columnName`
* **classname:** Use `allow-wrap` to enable content wrapping in a column
* **value:** Defines visual styling such as column width, preferably using percentages for modal or bottom layouts and pixels for left/right docked lists

## Using the Layout Editor

The layout editor within ServiceNow CPQ provides a UI to edit product list components and their properties. Features include:

* Access product list settings via the gear icon in the product list layout element
* Enable **Use resizable columns** for advanced BOMs to allow column resizing
* Control column management options such as disabling column freeze, reorder, or hide features globally or per column

## Practical Benefits for ServiceNow Customers

By configuring product lists and columns precisely, ServiceNow customers can tailor how BOM products and pricing details appear in CPQ layouts. This enables clear, customized presentation of product data, improved user experience during quoting, and flexibility in managing complex BOM structures through multiple product lists and configurable columns.  
Define and customize product lists in ServiceNow CPQ layouts to display data from bills of materials (BOMs) and product details. Configure list placement, columns, and display settings in the layout CSV file or the layout editor to present clear, structured
product and pricing information to end users.

In ServiceNow CPQ, layout definition is accomplished via CSV file. Product lists are components that can show products and related information in the bill of materials (BOM). There are 2 types of columns in the layout to
control the product list component: productlist and productlistcolumns. Multiple product lists can be included in a layout to display products of different BOM types.

## Defining a product list {#cpq-product-lists-in-layouts__section_lzs_kf5_rgc}

In the layout CSV file, define your product list row with the following column guidelines:

* Type (column A in the layout CSV file) for the product list is defined as productlist
* Path (column B in the layout CSV file) is not required for the product list. When left blank, this places the product list in the standard position. To place the product list in a tier, specify the path relative to the tier. For example, `/layout/tiers/myTier/myProductList`

{#cpq-product-lists-in-layouts__ul_m5h_qf5_rgc}

A product list has many properties that can be controlled by setting the value field in JSON format.

Example:

    {
      "location": "right",
      "type": "sales",
      "totalLocation": "bottom",
      "hierarchyColumn": "displayName",
      "displayZeroPriceAs": "On Request",
      "displayNullPriceAs": ""
    }

## Available options {#cpq-product-lists-in-layouts__section_rbw_dg5_rgc}

* `location` indicates where you want the product list component to display in the layout. The value can be right (default), left, bottom, or modal.
* `type` determines which products are included in this product list, based on the bomType field in the product. Values can be sales, manufacturing, or any custom type specified in the products by the admin. Multiple BOM types can be included. For example, `type: sales, customBOMTypeA, customBOMTypeB`, `type: all`
* `totalLocation` determines where the cart total is shown. Valid values are bottom, top, both, and none.
* `hierarchyColumn` determines which column shows an expand arrow or collapse arrow when a product has child products.
* `displayZeroPriceAs` and `displayNullPriceAs` determine how to display zero and null prices in the product list. The display value can be any string, such as "On Request". If 0 (zero) is provided, a zero price is shown with locale and symbol or code (for example, USD 0.00). Blank is the default, and will be the behavior if not specified.
{#cpq-product-lists-in-layouts__ul_yz5_2g5_rgc}

## Product list columns {#cpq-product-lists-in-layouts__section_mgw_pg5_rgc}

Product list columns are children of the product list and define what columns of data are displayed, with the data coming from the products that are displayed in the BOM. For each column of product data you want to display, create a
product list column.

In the layout CSV file, define your product list column rows with the following column guidelines:

* type (column A in the layout CSV file) for the product list column rows are defined as productlistcolumn.
* path (column B in the layout CSV file) for product list columns are defined relative to the product list. For example, /productList/columns.
* variablename (column E in the layout CSV file) determines what data to display based on the matching field from the product. Extended product list values can be displayed by putting `extended.columnName` in the variablename column. For example, `extended.taxExempt` displays the value of `ProductList.extended.taxExempt`.
* classname (column H in the layout CSV file) can be set to `allow-wrap` to allow content in that column in the layout to wrap. value (column I in the layout CSV file) defines the visual styling of the column in the layout.
  * The value column can specify a width. For example: `{"width":"10%"}`.
  * If specifying a width, using a percentage is recommended for a modal or bottom-docked product list.
  * The use of fixed units such as px (pixels) is recommended for left-docked or right-docked product lists, since the width of the product list is fixed. Using ch is not recommended.
  {#cpq-product-lists-in-layouts__ul_ht1_ch5_rgc}

{#cpq-product-lists-in-layouts__ul_gvj_tg5_rgc}

## Layout editor {#cpq-product-lists-in-layouts__section_axf_2h5_rgc}

The product list and its properties can be edited by using the layout editor in the ServiceNow CPQ UI. The product list layout element is at the bottom of the page:

You can edit Product List element by selecting the gear that appears in the top right of the product list layout element. The product list has a settings screen that contains all the properties referenced
earlier.  
For advanced BOM, enable Use resizable columns option to allow re-sizable columns. Control column management features in the product list using these properties:

* `disableColumnFreeze`: Disable column freeze option
* `disableColumnReorder`: Disable column reorder option on product list or an individual column
* `disableHide`: Disable column hide option for an individual column
{#cpq-product-lists-in-layouts__ul_ej3_nzs_dkc}

For more information, see [Displaying multiple product lists in layouts](https://www.servicenow.com/docs/mh3I9v2s3Spl4FwZZMjcMw "You can configure multiple product lists for a single layout by creating and importing a layout CSV file.").

