Product lists in layouts
Summarize
Summary of Product lists in layouts
ServiceNow CPQ allows you to define and customize product lists within layouts to present detailed product and bill of materials (BOM) information clearly to end users. Product lists are layout components configured through CSV files or the layout editor, enabling structured display of products, pricing, and related data in quotations and sales documents.
Show less
Defining Product Lists
In the layout CSV file, product lists are defined with a type of productlist. Placement is controlled via the path field, which can be left blank for a standard position or set relative to a tier (e.g., /layout/tiers/myTier/myProductList).
Product lists support multiple properties set in JSON format, including:
- location: Position of the product list in the layout (right, left, bottom, or modal).
- type: Filters products by
bomType(e.g., sales, manufacturing, or custom types). - totalLocation: Location of cart total display (bottom, top, both, or none).
- hierarchyColumn: Specifies which column shows expand/collapse arrows for child products.
- displayZeroPriceAs and displayNullPriceAs: Customizes the display of zero or null prices with specified strings or defaults.
Configuring Product List Columns
Each product list can include multiple columns defined as productlistcolumn entries in the CSV file, positioned relative to the product list (e.g., /productList/columns).
Key column settings include:
- variablename: Maps to product fields to display, including extended fields via
extended.columnNamenotation. - classname: Can be set to
allow-wrapto enable text wrapping within the column. - value: Defines visual styling such as column width, recommended as percentages for modal or bottom-docked lists and fixed units (px) for left/right docks.
Editing Product Lists in the Layout Editor
Beyond CSV configuration, the CPQ layout editor UI allows direct editing of product lists. The product list element is accessible at the bottom of the layout page, with a gear icon to open its settings. This editor exposes all configurable properties, facilitating easier customization without manual CSV edits.
Practical Benefits for ServiceNow Customers
- Enables tailored display of product and pricing details from BOMs within quotes and sales layouts.
- Supports multiple BOM types and customizable placement to match business needs.
- Improves end-user clarity with flexible column selection, styling, and hierarchical product views.
- Offers both CSV and UI-based configuration options for convenience and precision.
Define and customize product lists in 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 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
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
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
locationindicates where you want the product list component to display in the layout. The value can be right (default), left, bottom, or modal.typedetermines 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: alltotalLocationdetermines where the cart total is shown. Valid values are bottom, top, both, and none.hierarchyColumndetermines which column shows an expand arrow or collapse arrow when a product has child products.displayZeroPriceAsanddisplayNullPriceAsdetermine 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.
Product list columns
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.columnNamein the variablename column. For example,extended.taxExemptdisplays the value ofProductList.extended.taxExempt. - classname (column H in the layout CSV file) can be set to
allow-wrapto 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.
- The value column can specify a width. For example:
Layout editor
The product list and its properties can be edited by using the layout editor in the CPQ UI. The product list layout element is at the bottom of the page:
You can edit this part of the layout by clicking the gear that appears in the top right of the product list layout element when you move your mouse into it. The product list has a settings screen that contains all the properties referenced earlier.
For more information, see Displaying multiple product lists in layouts.