> For the complete documentation index, see [llms.txt](https://docs.in8sync.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.in8sync.com/client-admin-guide/creating-catalogs/best-practices.md).

# Best Practices

Tips for keeping catalogs lean, accurate, and easy to maintain over time.

The patterns below come from teams running catalogs in production. They aren't rules — just things that tend to keep catalogs healthy as they grow.

## Use multiple catalogs for different audiences

A single catalog doesn't have to serve every portal. It's usually cleaner to maintain a few small, focused catalogs than one giant one with conditional logic everywhere.

* A **retail catalog** with Shopping Cart enabled and only consumer-facing categories selected.
* A **wholesale catalog** with Quantity Breaks and Price Levels enabled, restricted by a Catalog-Specific Criteria rule on a custom field.
* A **limited catalog** for a specific product line or vendor.

Assign each catalog to the workflow that should use it. Different roles see different products and pricing without any per-item exclusion lists.

## Save vs Save & Update — pick deliberately

* **Save** stores the configuration without rebuilding. Use it when you're staging changes you want to review before publishing.
* **Save & Update** stores *and* rebuilds. Use it when changes need to reach the portal now.

Avoid repeatedly rebuilding large catalogs (thousands of items) during peak hours — each rebuild re-queries NetSuite for every matching item.

## Enable only the Settings you need

Each toggle in the Settings section adds data to the catalog output and time to the build. Be selective:

| Toggle                  | Turn on only when…                                                 |
| ----------------------- | ------------------------------------------------------------------ |
| **Price Levels**        | The portal shows customer-specific pricing.                        |
| **Quantity Breaks**     | The catalog is for B2B or wholesale workflows.                     |
| **Item Vendor**         | A portal page surfaces vendor information.                         |
| **Locations**           | A portal displays per-location availability.                       |
| **Add Pricing Fields**  | Your NetSuite items use supplemental rate fields the portal needs. |
| **Enable Matrix Items** | The catalog includes items with size/colour/etc. variants.         |

For a small catalog used in a single workflow, keeping settings minimal makes builds faster and outputs smaller.

## Use Catalog-Specific Criteria to narrow output

Rather than building separate catalogs for small variations, add criteria rules to filter within one catalog:

* Filter by a custom field — a specific product line, department, or class.
* Combine multiple rows using AND logic.
* Click **Preview Items** before saving to verify the filter does what you expect.

Remember: Global Criteria (`isinactive = False` AND your subsidiary) is always applied. You only need to add criteria that narrow beyond it.

## Keep the NetSuite Fields section accurate

This section tends to drift over time as NetSuite fields are renamed or retired. A periodic clean-up is worth it:

* Remove field cards you no longer need.
* Update **Output Labels** to match the language your portal users expect (e.g. rename `itemid` to *Item Number*).
* Use **Filter configured fields…** to find a specific card when the list gets long.

## Set up Attributes before enabling Matrix Items

Enabling **Enable Matrix Items** without configured Attributes results in variant data flowing through to the portal with no labels or selectors. The standard order:

1. Open the catalog.
2. In **Attributes**, add a row for each variant dimension your matrix items use.
3. Map each row to its NetSuite custom field and pick a Direction.
4. Then turn on **Enable Matrix Items** in Settings.
5. **Save & Update**.

## Rebuild after NetSuite data changes

The catalog is a snapshot built at a point in time. It does not auto-update when NetSuite data changes. Reprocess when:

* New items have been added to categories the catalog includes.
* Pricing or item field data has changed and you want the portal to reflect it.
* Categories have been restructured in NetSuite.

The 🔄 **Refresh** icon on a catalog row only refreshes its build status. To trigger a fresh rebuild, use **Reprocess** (the ▷ Play icon) on the row, or open the catalog and click **Save & Update**.

## Verify category selection after NetSuite changes

If your NetSuite Admin adds, renames, or restructures item categories, open the affected catalogs and review the **Categories** section. New categories aren't auto-selected — you have to check them manually and save. Use **Search categories by name…** in long trees.

## Review periodically

A short quarterly check-in keeps catalogs from quietly drifting:

* Are there any catalogs no one uses any more? Delete them.
* Are status badges consistently *Completed*? If a catalog is regularly *Failed*, fix the root cause.
* Are NetSuite Fields still mapped to fields that exist?
* Are Attributes still pointing at the right `custitem` fields after any NetSuite cleanup?

## 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>Creating a Catalog</strong></td><td>The full Edit Catalog page reference.</td><td><a href="/client-admin-guide/creating-catalogs.md">Catalogs</a></td></tr><tr><td><strong>Managing Catalogs</strong></td><td>The list page — search, statuses, row actions.</td><td><a href="/client-admin-guide/creating-catalogs/managing-catalogs.md">Managing Catalogs</a></td></tr></tbody></table>
