B2B Catalog
B2B Catalog lets you view your product list from the perspective of a single Trade Account, mark individual products as B2B-only (hidden from regular retail sale), and set a per-account custom SKU / custom name (an "alias") — useful when a wholesale customer refers to your products by their own internal codes or names.
Overview
You must pick a Trade Account first — the whole table is scoped to one account at a time and shows that account's tier price and any aliases already set for it.
Tier Price is pulled from the active Price List entry matching that account's customerTier (falls back to STANDARD) — it is informational here, not editable on this page.
The B2B Only toggle (eye/eye-slash icon) is a global flag on the product itself, not scoped to the selected account — toggling it for one account's view changes visibility for all accounts and for regular retail sale.
The Listed indicator dot reflects the per-account alias's isListed flag; a product with no alias at all defaults to "listed" (green dot) even though no alias row exists yet.
Aliases (custom SKU / custom name / listed flag) are strictly per Trade Account — the same product can have a different custom SKU for every account.
Before You Start
- You must have the Billing feature enabled on your plan.
- At least one Trade Account must already exist (created from Wholesale → Trade Accounts) before this page shows anything besides the "Select a trade account" prompt.
Step-by-Step Guide
1 View a trade account's catalog
- Open Wholesale → B2B Catalog and choose a Trade Account from the dropdown (shown as "Business Name (Tier)").
- The table loads every active product for your store, each row showing its base SKU, any Account SKU / Account Name alias, its Tier Price for this account's tier, and Listed / B2B Only status.
- Use the search box to filter by product name, base SKU, or the account's custom SKU/name.
2 Restrict a product to B2B-only
- Click the eye icon in the "B2B Only" column for a product — the icon and tooltip flip between "Public — click to restrict to B2B" and "B2B only — click to make public".
- This calls PATCH /wholesale/catalog/products/:id/b2b immediately (no confirmation) and updates the shared Product record — the change is not specific to the account you currently have selected.
3 Set a custom SKU / name for one trade account
- Click the tag icon in the Actions column for a product to open "Custom SKU / Name".
- Enter a Custom SKU (what shows on this account's invoices) and/or a Custom Product Name, and toggle "Listed in this account's catalog" if you want to hide it from that account without touching the global B2B flag.
- Click "Save Alias" — this upserts a single WholesaleProductAlias row keyed by (Trade Account, Product), so re-opening and saving again for the same product/account updates the same row rather than creating a duplicate.
4 Remove a custom alias
- For any product that already has an alias (its row shows a trash icon next to the tag icon), click the trash icon and confirm.
- This deletes the alias row entirely — the product reverts to showing its base SKU/name and defaults back to "listed" for that account.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Trade Account selector | Required to load any data; switching accounts reloads the whole table scoped to the new account's aliases and tier. |
Search | Client-side filter across product name, base SKU, and the currently-loaded account's custom SKU/name — does not re-query the server. |
Product / SKU columns | The product's own name and base SKU, unaffected by any alias. |
Account SKU / Account Name columns | Show the alias's customSku/customName for the selected account if one exists, else a "—" placeholder. |
Tier Price | Best matching active Price List price for the selected account's customerTier (or STANDARD if the account has none); shows "—" when no matching price list entry exists — read-only here. |
Listed (dot indicator) | Green when the alias's isListed is true or no alias exists yet (default-listed); red when an alias exists with isListed explicitly set to false. |
B2B Only (eye icon) | Global per-product flag (Product.isB2BOnly); purple eye-slash icon = currently B2B only, grey eye icon = currently visible to all customers. Click to toggle. |
Tag icon (Actions) | Opens the Custom SKU / Name modal for that product, pre-filled with any existing alias for the selected account. |
Trash icon (Actions) | Only shown once an alias exists for that product/account; permanently deletes the alias after a confirm prompt. |
Custom SKU / Custom Product Name / Listed checkbox (modal) | The three editable alias fields; all optional — you can save an alias with just a custom SKU and no custom name, for example. |
Tips & Best Practices
- Remember the B2B Only toggle is global — if you need a product hidden from just one account but visible to others, use that account's alias "Listed" checkbox instead of the B2B Only eye icon.
- Set the custom SKU to whatever code appears on a customer's own purchase orders, so their staff and yours are looking at matching numbers on both sides of an order.
- Because Tier Price here is read-only, go to Price Lists to actually change what an account tier pays — this page only shows you what would apply.