Create Product & Price Lists

Show your products in structured tables — price lists, order forms, and indexes — with retail, wholesale, or tiered pricing.

Design custom price lists, order forms, product indexes, and more. Product lists give customers a structured way to view product details, pricing, and other information in a table format.

Multiple prices per product (wholesale / retail / tiered)? Yes — keep several prices as separate Money fields on the product's category (e.g. Retail Price, Wholesale Price, Sale Price), then show whichever you want as columns, or build a separate price list per audience (one for retail, one for wholesale). Define the fields in Products → Categories → Fields; add them as columns in the Fields tab below. This is the V2 way to do what the legacy "different price fields" workflow did.

Step 1: Adding a Product List

Choose your starting point:

Method 1: Pre-Designed Layout

Pre-designed product list layouts

In the Catalog Designer, click Add → Layouts → choose a layout. Available pre-designed layouts:

  • Basic Price List — simple product table with prices
  • Minimalistic Price List — clean, minimal design
  • Product Category Index — product index grouped by category with page links (for ToC/index pages)
  • Product Index — alphabetical product list with page links

Customize any layout as needed.

Method 2: From Scratch

Product List element

Drag and drop the Product List element onto a catalog page, then use the Product List Editor to configure.

Understanding the Two Methods

The two methods produce different editing experiences:

Pre-Designed LayoutProduct List Element
What it createsText elements with HTML and product expressionsA configurable Product List object
How to editDouble-click a cell → opens text editor with expressions like {{Name}}, {{Variants}}...{{/Variants}}Double-click the element → opens Product List Editor with tabs (Products, Fields, Design)
Adding columnsManually add HTML table cells with expressionsCheck/uncheck fields in the Fields tab
Adding productsEdit expressions or duplicate rowsSelect products in the Products tab
Variant handlingUse {{Variants}}...{{/Variants}} iterator in cell expressionsToggle Separate Variant Rows in Design tab
Best forFull design control, custom HTML layoutsEasy column/product management, auto-formatting

Tip: If you double-click and see a text cursor with expressions (like {{Name}}), you're using a pre-designed layout. If you see a popup editor with tabs, you're using a Product List element.

Step 2: The Product List Editor

Double-click the product list element to open the editor, or click the Edit Product List button in the designer toolbar above the page — it appears whenever the current page contains a product list. Either way you get the same editor, with three tabs: Products, Fields, and Design.

You don't need to drag a new Product List element to change an existing one. Open the list that's already on the page.

Product List Editor

Products Tab — Choose Your Products

Select Products

  • Select products individually: Pick specific items (the button carries this exact label)
  • Catalog Products: All products in the current catalog
  • All My Products: Entire product database
  • Collections: Use a single product collection (one collection per product list)
  • Product Category: Use products from a specific product category
  • In Stock Products Only: Toggle to show only items currently in stock
  • The last four options auto-update as you manage your products

Multiple collections in one list? A product list can only use one collection as its source. To combine products from several collections, either: (1) create a parent collection containing all the products you want and use that, or (2) choose Select products individually as the source and add products by filtering by each collection in turn.

Fields Tab — Select Columns

Select Fields

  • Category Fields: Standard fields (Name, Code, Price, Description) and custom fields from your categories
  • Special Fields:
    • Image — the product image
    • Product Page Link (also :Name / :Code variants) — clickable link to the page where the product appears in the catalog, used for index/ToC pages
    • Product Order Link — an Order link on every row, so customers can order that product straight from the list (see Clickable ordering below)
    • Quantity — an empty quantity box on every row, for order forms
  • Variant Fields: Display variant options as columns
  • Barcodes: Add with {{BarcodeImage}} or {{BarcodeImageExt}}

Clickable ordering — let customers order from the list

Ordering is a catalog-level switch plus a per-surface field. Both parts are needed:

  1. Turn on orders for the catalog. In the Catalog Designer open the catalog Settings → Orders and switch on Enable catalog orders. Optionally set an Orders Email to override the account default. (Catalogs imported from a Catalog Machine template may already have this on.)
  2. Make the products clickable, which works differently per page type:
    • Product card pages — nothing to add. With orders enabled, every product on the page automatically gets a select checkbox and a quantity control in the online catalog.
    • Product list / price list pages — add the Product Order Link field in the Fields tab. Every row then shows an Order link. Add the Quantity field too if you want customers to enter amounts.

Ordering only works in the online catalog, not in the PDF. The select controls and the Order link are interactive elements — they are absent from a downloaded or printed PDF, and the Product Order Link column renders empty there. Share the catalog link (or the showroom) when you want customers to order.

A catalog in Draft status is visible only to you while you're signed in. Publish it before sending the link to customers.

For the order form fields, notification emails, and Stripe payments, see the Online Orders & Payments article. Showrooms have their own separate orders setting.

Design Tab — Styling & Structure

Design Settings

List Settings

SettingPurpose
Sort by FieldSort products by any field (Name, Price, Code, etc.)
Descending orderToggle sort direction
Group Products ByGroup by Categories or Collections
Order Group BySort groups by Name or Rank
Hide List HeaderRemove the header row entirely
Separate Variant RowsShow each variant as a separate row

Header Row Design

Customize the table header appearance:

SettingDefaultPurpose
Text Color#ffffff (white)Header text color
Background#5A6685 (dark blue-gray)Header background color
Padding4pxSpace inside header cells
Font—Header font family
Font Size—Header font size

Tip: To change the header color, open the Product List Editor → Design tab → Header row design section → click the Background color picker.

Product Row Design

SettingPurpose
Text ColorProduct row text color
BackgroundProduct row background color
Alt BackgroundAlternating row background (even rows)
PaddingSpace inside product cells
Font / Font SizeProduct row typography

Group Row Design (when grouping is enabled)

SettingPurpose
Text ColorGroup header text color
BackgroundGroup header background color
Use Category/Collection colorAuto-color groups from category/collection settings
Show Group ThumbnailDisplay category/collection thumbnail image
Show Group DescriptionDisplay category/collection description text

Cell Border

SettingOptions
StyleNone, Grid, Bottom
ColorBorder color (when style ≠ None)

Step 3: Advanced Customization with HTML & Expressions

After the Product List is generated, you can customize it further by editing the text directly or switching to HTML code view.

Edit Text Directly

Click on any text in the generated list to modify field labels, headers, or content.

HTML Editing

For full control, switch to code view (code button in text editor toolbar) and edit the HTML. You can use product expressions inside the HTML:

Common expressions in product lists:

  • {{AltRow}} — flag for even rows (use for alternating row styles in CSS)
  • {{IsFirst}}, {{IsLast}} — first or last product flags
  • {{If Price > 0}}${{Price}}{{Else}}N/A{{/If}} — conditional display
  • {{Price:#,###.00}} — price formatting
  • {{Calc: Price * 1.13}} — calculated values (e.g., tax-inclusive price)
  • {{Image:Fit:50:50}} — product image sized to fit

Example: Custom HTML table with expressions:

<!--{{Categories: ProductCount > 0}}-->
{{Name}}
<table>
  <tr>
    <th>Name</th>
    <th>Price</th>
    <!--{{Options}}-->
    <th>{{OptionTitle}}</th>
    <!--{{/Options}}-->
  </tr>
  <!--{{Products}}-->
  <tr>
    <td>{{Name}}</td>
    <td>${{Price:#,###.00}}</td>
    <!--{{Options}}-->
    <td>{{Variants}}{{OptionValue}}{{/Variants}}</td>
    <!--{{/Options}}-->
  </tr>
  <!--{{/Products}}-->
</table>
<!--{{/Categories}}-->

Example: Alternating row colors with CSS:

<tr style="background-color: {{If AltRow}}#f5f5f5{{Else}}#ffffff{{/If}}">
  <td>{{Name}}</td>
  <td>{{Price}}</td>
</tr>

For full expression reference including iterators, conditions, sorting, and formatting, see the Product Expressions article.

Step 4: Using Lists in Layouts

  • Reusable Layouts: Save product list pages as layouts to reuse across catalogs
  • Save Pages: Convert any catalog page to a reusable layout

Common Questions

Q: My whole product list is on one page — how do I split it across multiple pages so I can print it? A: A long product list automatically flows across multiple pages in the downloaded PDF and when printed — there's nothing to set up. The online preview shows the list as one long scrolling page, which is normal and does not mean it won't paginate. To see and print the paged version, use Download → PDF (or your browser's Print). If rows look overcrowded on a page, reduce the Font Size or Padding under the Design tab so more rows fit cleanly.

Q: How do I re-open the Product List Editor? A: Easiest way: click the Edit Product List button in the designer toolbar above the page — it's there whenever the page has a product list. Otherwise click the outer edge/border of the Product List element (not inside a cell) to select the entire element, then double-click it. You should see selection handles around the whole table. If double-clicking opens a text cursor instead, you're using a pre-designed layout (see "Understanding the Two Methods" above) — edit the expressions directly in the text editor or switch to code view. Don't drag in a new Product List element to edit an existing one.

Q: How do I add clickable ordering to all my products? A: Two steps. First switch on Enable catalog orders in the catalog's Settings → Orders. Then: on product card pages every product becomes selectable automatically, with a quantity control; on product list pages open the Product List Editor → Fields tab and add Product Order Link (plus Quantity if you want an amount box). This works in the online catalog only — the controls do not appear in the PDF. See Clickable ordering above.

Q: I added Product Order Link but the Order link is missing. A: Check three things: (1) Enable catalog orders is on for that catalog, (2) you're looking at the online catalog, not the PDF or print view — order links never render in PDF, and (3) the catalog is Published if you're testing the link as a customer rather than signed in as the owner.

Q: How do I add a new field (e.g., from CSV import) to my product list? A: Product List element: Double-click to open the editor → Fields tab → check the new field. Pre-designed layout: Double-click a cell → switch to code view → add the expression (e.g., {{NETT Price}}) in a new <td> cell. Make sure to add a matching <th> header cell too. If the field doesn't appear, verify the CSV import created the field under your category.

Q: How do I change the header color? A: Open Product List Editor → Design tab → Header row design → click the Background color picker.

Q: How do I add alternating row colors? A: In Product List Editor → Design tab → Product row design → set Alt Background color. Or use {{AltRow}} expression in HTML for custom styling.

Q: How do I hide the header row? A: Product List Editor → Design tab → toggle Hide List Header on.

Q: Can I show variant options as separate rows? A: Yes — Product List Editor → Design tab → toggle Separate Variant Rows on.

Q: How do I display group headers with category colors? A: Group by Categories or Collections, then enable Use Category/Collection color in Group Row Design.

Q: How do I show products from multiple collections in one price list? A: Product lists support one collection at a time. Two workarounds: (1) Create a parent collection that includes products from all the collections you need, then select that parent collection. (2) Switch to Select products individually source, filter by one collection in the right panel, add those products, then filter by the next collection and add more. Use Group Products By → Collections to keep them organized under collection headers.