Products
The catalogue a tenant sells from — products, services, skills, industries and territories. See Reading the tables for the conventions.
Capabilities
| Capability | Gate | Admin | CSM | SDM | Expert | Vendor | Customer |
|---|---|---|---|---|---|---|---|
| Browse the catalogue | taxonomy.view | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
| Create, edit and archive products, services and skills | taxonomy.manage | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
| Create, edit and archive industries | taxonomy.manage | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
| Link or unlink a service on a product | tenantConfig.manage | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Manage territories | tenantConfig.manage | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Managing the catalogue records and wiring the catalogue together are two different gates:
CSMs and SDMs maintain products, services, skills and industries under taxonomy.manage, but the
product↔service links are tenant configuration and stay admin-only. Skills carry no category
taxonomy of their own — a skill links many-to-many to the services it supports, chosen on the
skill form.
Deletes are soft archives and are dependency-guarded: a service with active product links or
skills, a product referenced by a lead or an expert, a skill held by a lead or an expert, and an
industry whose name matches a lead’s industry text all refuse to archive. Because leads store
industry as free text rather than a reference, that last guard only catches an exact name match
— renaming an industry does not update the leads carrying its old label.
Surfaces
| Page | Gate | Admin | CSM | SDM | Expert | Vendor | Customer |
|---|---|---|---|---|---|---|---|
/products, /services, /skills | derived from taxonomy.view | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
/admin/industries | derived from taxonomy.manage | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
/admin/settings/products, /admin/settings/services, /admin/settings/industries | derived from taxonomy.manage | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
/admin/territories | derived from tenantConfig.manage | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Territories are the one catalogue domain edited in a modal rather than on its own create and edit pages, so the list refreshes in place instead of redirecting after a save.