# Catalogs

A **catalog** in <code class="expression">space.vars.productName</code> is a set of criteria that decides which NetSuite items appear in a portal — categories to include, optional data fields, filter rules, and how variants are displayed. The catalog is built (or rebuilt) into a snapshot the portals consume; the source data always lives in NetSuite.

## When you'd use this

Use this guide when you're creating a new catalog or editing an existing one. The Edit Catalog page is the same in both cases — *Create New Catalog* on the way in, *Edit Catalog* afterwards.

## Before you start

* You're a **Client Admin** on the right subsidiary (top-bar selector).
* The NetSuite categories you plan to include already exist. Ask your NetSuite Admin if you need new ones.
* For matrix items, the variant custom fields (e.g. `custitem59` for Color) are already populated on the NetSuite item records.

## Step by step

{% stepper %}
{% step %}

### Open the Catalogs page

Click **Catalogs** in the sidebar. The page heading reads *Catalogs* with subtitle *Manage your NetSuite product catalogs*. Existing catalogs appear in a searchable list with their build status.
{% endstep %}

{% step %}

### Click New

The **New** button (with a `+` icon) sits in the top-right of the Catalogs page. The Edit Catalog page opens with heading *Create New Catalog* and subtitle *Define criteria to control which products appear in your catalog*.

![Catalog edit page with sections](/files/0IphNHFTDZipznMyXUN0)
{% endstep %}

{% step %}

### Work top-to-bottom through the sections

The page is one long form, divided into the cards below. You can save at any time.
{% endstep %}

{% step %}

### Save (or Save & Update) when done

Two buttons in the top-right: **Save** stores the configuration without rebuilding. **Save & Update** stores *and* triggers a rebuild so the changes reach the portal.

**When you change settings on an existing catalog**, portal pages continue serving the previous catalog version while the rebuild runs — there's no downtime, but end users see the old data until the status returns to **Completed**. At that point, portals automatically pick up the new catalog on the next page load.

{% hint style="info" %}
Use **Save & Update** when changes need to be live now. Use **Save** to stage changes you want to review before rebuilding.
{% endhint %}
{% endstep %}
{% endstepper %}

## Sections of the Edit Catalog page

### Configuration

The catalog's identity.

| Field            | Required | What it does                |
| ---------------- | -------- | --------------------------- |
| **Catalog Name** | Yes      | Display name.               |
| **Description**  | No       | Optional short description. |

### Settings

Toggles that control which extra data is included in the catalog output. Each has a tooltip (the **?** icon) explaining what it pulls from NetSuite.

| Toggle                  | What it adds to the catalog                                | What it means for your portal                                                                                                                                                                                                                  |
| ----------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Price Levels**        | Multiple price tiers per item (Base, Wholesale, VIP, etc.) | Portal pages can display different prices for different customer types. Without this, only the base price shows — even if multiple price levels exist in NetSuite.                                                                             |
| **Quantity Breaks**     | Volume-based pricing tiers per item                        | Portal pages can show tiered pricing (e.g., "Buy 10+: $X"). Without this, a flat price shows regardless of order quantity.                                                                                                                     |
| **Item Vendor**         | Vendor name and details for each item                      | Vendor information becomes available to display on item detail pages. Useful for B2B portals where buyers need to know the supplier.                                                                                                           |
| **Locations**           | Per-location inventory levels for each item                | Portal pages can show stock availability by location — for example, "In stock at Warehouse A: 12". Without this, the portal cannot show location-specific inventory.                                                                           |
| **Catalog Categories**  | The category path assigned to each item                    | Required for category-based navigation to work in Page Builder. The Category Sidebar, Category Filter Bar, and Category Display components all depend on this data. Without it, those components have nothing to render.                       |
| **Add Pricing Fields**  | Supplemental pricing metadata beyond standard price levels | Makes additional pricing rates and fields available to display on portal pages.                                                                                                                                                                |
| **Enable Matrix Items** | Variant combinations (size, colour, etc.) for matrix items | End users can select variants (e.g., Red / Large) on item pages. Without this, matrix items either don't appear in the catalog or only the parent record shows with no variant selectors. Requires at least one row in the Attributes section. |

{% hint style="warning" %}
Each toggle adds data to the catalog output and time to the build. Enable only what your portal actually needs to display.
{% endhint %}

### Shopping Cart Settings

| Toggle                   | What it does                                  |
| ------------------------ | --------------------------------------------- |
| **Enable Shopping Cart** | Turns on cart functionality for this catalog. |

When enabled, a blue banner reads: *Shopping cart is enabled for this catalog. Users will be able to add items to their cart and place orders. Order form selection will be available when configuring the catalog component in your pages.*

What this means in practice:

* **When on** — portal pages built with this catalog can include an order form. The catalog component in Page Builder gains an "Order Form" option so you can wire up a checkout flow. End users will see an **Add to Cart** button on item pages.
* **When off** — cart and ordering functionality is unavailable on every portal page that references this catalog. End users can browse items but cannot add them to a cart or place an order.
* **Turning it off on an existing catalog** — the shopping cart disappears from all portal pages using this catalog as soon as the catalog is rebuilt. Orders already placed are unaffected; only new orders are blocked.

### Categories

Pick which NetSuite categories' items end up in this catalog. The section shows a tree with:

* **Search categories by name…** — filter long trees.
* **Expand All** / **Collapse All** — open or close every node.
* **Select All** / **Unselect All** — toggle every category at once.
* A **{count} selected** badge on the right.

Only items in the selected categories appear in the catalog output.

### Global Criteria (read-only)

Filter rules that apply to *every* catalog on this subsidiary. Maintained at the global level. Always shown but not editable here.

The two default rules:

| Field                     | Operator | Value             | Logic |
| ------------------------- | -------- | ----------------- | ----- |
| `isinactive` (Inactive)   | Is       | False             | AND   |
| `subsidiary` (Subsidiary) | Any of   | *your subsidiary* | —     |

To change these, your NetSuite Admin updates the global criteria settings.

### Catalog-Specific Criteria

Extra filter rules that only apply to *this* catalog. Combined with Global Criteria using **AND** logic.

* **+ Add Criteria** — adds a row. Columns: Left Parens, Field, Operator, Value, Right Parens, Logic, Actions.
* **Preview Items** — runs the current criteria (global + catalog-specific) and shows which items match. Use this before saving to confirm the filter is doing what you expect.
* Empty state: *No rules defined. Click 'Add Criteria' to get started.*

### NetSuite Fields

Maps NetSuite item fields into the catalog output and lets you rename them for portal users.

* A badge shows the count (e.g. *17 configured*).
* **Filter configured fields…** — search the list when it gets long.
* **+ Add Field** — opens a picker.
* Each field card shows two parts: **NETSUITE FIELD** (the source field — click *Click to change ›* to swap it) and **OUTPUT LABEL** (the label your portal uses — editable).
* The trash icon on a card removes the field from the output.

### Image Fields

Maps NetSuite image fields into the catalog's images array.

* **+ Add Image Field** — adds a row.
* Columns: **URL**, **Field Name** (NetSuite field), **Display Name** (label in the output), **Actions**.
* A checkbox per row toggles between picking from a NetSuite field dropdown and entering a literal URL.
* Trash icon to remove the image field.

Common image fields: *Store Display Image*, *Website Featured Image URL*, *Spherical Main Image*.

### NetSuite Sublists

Maps NetSuite sublists onto each catalog item.

* **Add Sublist** — adds a row.
* Columns: **Sublist ID** (e.g. `item`), **Display Name**, **Actions**.
* Empty state: *No sublists configured. Click 'Add Sublist' to add NetSuite sublists to your catalog.*

Use this for sublists like spec sheets, certifications, or related accessories you want surfaced alongside each item.

### Attributes

Maps variant dimensions (Color, Size, etc.) to the NetSuite custom fields that hold their values, and controls how the dimension renders.

* **Add Attribute** — adds a row.
* Columns: **Label** (display name in the portal), **NetSuite Field** (the `custitem` field), **Direction**, **Actions**.

| Direction      | Effect                                              |
| -------------- | --------------------------------------------------- |
| **Horizontal** | Row of buttons or swatches.                         |
| **Vertical**   | Stacked list.                                       |
| **Dropdown**   | Single-select dropdown.                             |
| **None**       | Dimension data is included but no selector renders. |

For variants to render correctly, **Enable Matrix Items** must be on in Settings *and* an Attribute row must exist for each variant dimension. See [Product Variants](/client-admin-guide/creating-catalogs/product-variants.md).

## What success looks like

* The catalog appears in the Catalogs list with status **Completed** and an item count.
* **Preview Items** returns the items you expect.
* The catalog is referenced in a workflow's catalog module/component, and end users in that workflow see it.

## Common issues

* **Build is stuck at&#x20;*****Processing*** — wait; the list auto-refreshes status every few seconds for in-flight catalogs.
* **Preview Items returns nothing** — check the Catalog-Specific Criteria. Combined with the always-on Global Criteria (`isinactive = False` AND your subsidiary), an over-narrow rule can wipe the result set.
* **Variants don't render** — confirm both *Enable Matrix Items* is on **and** there's an Attribute row for each variant dimension.
* **A field renamed in NetSuite shows the old label** — open NetSuite Fields, find the card, click *Click to change ›* to re-pick it; update the output label as needed.
* **Save & Update didn't reach the portal** — the rebuild runs in the background. Check the catalog row's status badge in the list — once it shows *Completed* with a fresh timestamp, the portal will pick it up on the next refresh.

## Related

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Managing Catalogs</strong></td><td>The list page — search, statuses, row actions.</td><td><a href="/pages/oPkqFjI7D5rqe7O1Tktf">/pages/oPkqFjI7D5rqe7O1Tktf</a></td></tr><tr><td><strong>Pricing &#x26; Availability</strong></td><td>How each pricing toggle reaches the portal.</td><td><a href="/pages/XS6DzIqISW38kzuST0nO">/pages/XS6DzIqISW38kzuST0nO</a></td></tr><tr><td><strong>Inventory</strong></td><td>How the Locations toggle includes stock data.</td><td><a href="/pages/bTe9OOdZKbLt2hnXRIRb">/pages/bTe9OOdZKbLt2hnXRIRb</a></td></tr><tr><td><strong>Product Variants</strong></td><td>Configure matrix items and their attributes.</td><td><a href="/pages/NwQFMmcIsjECOIEI6IA9">/pages/NwQFMmcIsjECOIEI6IA9</a></td></tr><tr><td><strong>Categories</strong></td><td>Browse and understand the NetSuite category tree.</td><td><a href="/pages/Lhd78fJQEK4v1phG1c1F">/pages/Lhd78fJQEK4v1phG1c1F</a></td></tr><tr><td><strong>Best Practices</strong></td><td>Tips for keeping catalogs lean and accurate over time.</td><td><a href="/pages/NA4teeZGxH7G061cy5fd">/pages/NA4teeZGxH7G061cy5fd</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.in8sync.com/client-admin-guide/creating-catalogs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
