Catalog
What the workspace sells and for how much. Separate from a connected CRM's catalogue because the first provider measured stores prices and publishes them through no read endpoint — identities live there, prices live here.
The tenant's own catalogue
What this workspace sells, and for how much.
Add something to the catalogue
Requires `catalog.manage` — its own permission, because a price here is
One catalogue item, in full
The editor's shape: media, variants, other-currency prices and
Edit a catalogue item
A row whose Catalogue domain belongs to a connected provider refuses a
Take an item out of the catalogue
**Deactivates rather than deletes.** Every quote that ever named this
One action over many catalogue rows
`adjust_price` skips provider-owned and unpriced rows and reports how
How many active items of each kind the workspace sells
The menu builds its doors from this — a services-only workspace never sees the word 'stock'.
The catalogue as a spreadsheet
One row per item plus one per variant; UTF-8 with BOM.
Load a spreadsheet into the catalogue
Matches by `id`, else `sku`, else creates. Only the columns present are
Pull a connected system's catalogue into ours
Creates a row for every item the connected CRM (or store) lists and
Add a picture to a catalogue item
PNG, JPEG or WebP, up to 4 MB and 4000 px; re-encoded server-side to
Reorder, caption, promote or attach a picture
Reorder, caption, promote or attach a picture
Remove a picture
Deletes the file for our own pictures; a store's picture is only forgotten here and returns on the next import.
Replace the item's other-currency and per-country prices
Wholesale. A duplicate scope is refused as `duplicate_price_scope` with the two row indexes.
Replace what the item is sold with
Package contents (`component`), add-ons, upsells, cross-sells, accessories. Wholesale; self and duplicates refused by name.
Create every combination of the given axes as variants
Existing combinations (same options) are kept; at most 200 combinations.
The category tree
The category tree
Add a category
Add a category
Edit a category
Moving a group under its own descendant is refused as `group_cycle`.
Remove a category
Refused with `409 group_not_empty` (and the counts) while items or
The workspace's vocabulary of variant axes and spec names
The workspace's vocabulary of variant axes and spec names
Add an attribute
Add an attribute
Edit an attribute
Edit an attribute
Remove an attribute
Remove an attribute
The feeds shopping platforms fetch this catalogue from
The feeds shopping platforms fetch this catalogue from
Create a feed
Google Merchant Center and Meta Commerce Manager both accept a
Edit a feed
Edit a feed
Remove a feed
Remove a feed
Issue a new URL for the feed
The old token stops answering immediately.
How many rows the feed will list, and why others will not
How many rows the feed will list, and why others will not
The public feed — fetched by Google or Meta, no session
RSS 2.0 with the `g:` namespace (Google Shopping; Meta accepts the
Who can do this service, and what it is done with
**Both lists empty is the normal state**, and it means 'anybody,
Set who performs it and what it uses
Replaces both sets wholesale — a screen edits the whole list, and
How this service is done, and what it uses up
A variant is **not a rule to be evaluated** — it is chosen by WHO is
Add a way of doing it
The **first** variant of a service becomes its default on its own —
Edit a variant
Edit a variant
Remove a variant
Remove a variant
What would this use up?
A dry answer: the variant is resolved for the resources given and the
Shelves
Not the same thing as a SITE: a branch may hold a back room and a
Add a shelf
The FIRST one becomes the default, so stock always has somewhere to go.
Edit a shelf
Edit a shelf
What is on hand
**A sum of the ledger, computed on every read.** There is no quantity
Why the number is what it is
Why the number is what it is
Record a movement
The **sign comes from the reason**, so the two cannot contradict each
Record what a count found
**Writes the DIFFERENCE, never the level.** Counting twelve when the
Move stock between shelves
Two rows, always both — one leg leaves both shelves wrong and nothing looking broken.
The concrete things on a shelf
Under a catalogue item: 't-shirt' is what a person sells, 't-shirt, M,
Add a stock item
Add a stock item
Edit a stock item
Edit a stock item
Retire a stock item
**Deactivates** — every recipe that names it still points at it, and