Inventory & Catalog
Your inventory should ask about what you actually sell.
Most systems decide once, for everyone, what a product is. Roots HQ lets you decide — per product line — which details get collected, which reach customers, and how each thing is counted. Jam, ceramics, live plants and one-of-a-kind specimens can live in one catalog without pretending to be the same kind of object.


Product lines
Choose what you sell now. Add or change it any time.
A product line is a starting configuration, not a permanent classification. Activate one of the six starters — jam and preserves, baked goods, minerals and crystals, skincare, general merchandise, or a blank custom line — or build your own. Adding a line in December leaves everything you saved in June exactly as it was, and turning one off never deletes a product or a value.
- Six shared starters, or start from a blank line
- Duplicate and rename a line to branch from it
- Deactivate a line without touching a single item on it
- Starters stay shared: your copy is yours, and a platform update to a starter is offered, never applied over your changes
Five identical jars — one listing, one number
One parent, each size and scent tracked on its own
One of a kind — own SKU, QR, photos, price
Your own fields
Ask about glaze and kiln temperature. Or locality and formation. Or neither.
Each product line carries its own detail fields, in ten types — short and long text, numbers, numbers with a unit, currency, single and multi select, yes/no, dates and links. Add a field to one item, or to the whole line. Rename what a customer sees without touching the data behind it. Every field you mark reportable shows up in the report builder automatically.
- Ten field types, with units, options, help text and defaults
- Per-field control: collect internally, show on the website, or both
- Add a detail for this item only, or for the entire product line
- Reportable fields register with the report builder on their own


Adding an item
Quick Add first. Everything else folds away.
The minimum needed to save something sits at the top and never hides: name, product line, category, photos, price, how it's counted, a short description, and draft or active. Below it, six sections you open only when you need them. A draft saves with almost nothing filled in — the fuller requirements are checked when you publish, not while you're still typing.
- Save a draft from Quick Add alone
- Basics, Product Details, Price & Cost, Inventory & Identifiers, Selling & Fulfillment, Website/SEO/QR
- Slug and SEO generated for you, editable under Advanced
- QR codes point at a stable item reference, so changing a slug never kills a printed code
Visibility
Turning a field off stops asking for it. It never deletes it.
Website and Internal control presentation and collection, not whether the data exists. A value you stop collecting stays saved, stays reportable, and comes back exactly as it was the moment you switch the field on again. Cost, vendor and tax fields can't be published at all — not by a toggle, not by accident — and a blank field never renders an empty label on a product page.
- Website OFF hides a value publicly and keeps it internally and in reports
- Website can't be ON for a field you are not collecting
- Sensitive financial fields are never publishable, whatever the switches say
- Public labels can be renamed and reordered without changing the source data
Turning a field off stops asking for it.
It never deletes what's already there. The value stays saved, stays reportable, and comes back the moment you switch the field on again.
Cost, vendor and tax fields can't be published at all — not by a toggle, not by accident.
One of a kind
Five Amethyst Cathedrals are five records, not a quantity of five.
Individual-piece tracking gives every physical piece its own name, internal ID, SKU, URL, QR code, photos, dimensions, weight, locality, condition, grade, cost and price — with a quantity fixed at one — while keeping it linked to the family it came from, so shared information stays in one place. Enter a count and get that many editable draft records, followed by a bulk quick-edit table.
- Each piece gets its own identity and its own money
- Pieces stay linked to a shared source group
- A bulk quick-edit table right after creation
- The whole batch is one transaction — a partial failure leaves nothing half-made
Duplication with rules
A duplicate should not inherit another item's history.
Duplicate Listing copies what describes the kind of thing — template, category, tags, description, your own field values, pricing and cost defaults, and photos if you want them. It refuses to copy what identifies one physical object or its trading record. The result is always a draft, so nothing goes on sale because you pressed copy.
- Add Stock, Add Variants, Create Individual Pieces and Duplicate Listing are four distinct actions
- Duplicate never inherits a SKU, barcode, QR code, URL or batch number
- Stock, orders, sales history and event allocation stay with the original
- Every duplicate starts as a draft
Carried over
- Template & category
- Description & details
- Your own field values
- Pricing and cost defaults
- Tags & collections
Never copied
- SKU & barcode
- URL & QR code
- Stock and its history
- Orders & sales history
- Published state
Cottage food
A compliance profile, not a product type.
Switch it on, choose your own jurisdiction, and say which product lines it applies to — with a per-item override for the exceptions. It surfaces the label fields you need, applies your selling and fulfilment defaults, and checks for missing information before you publish. Roots HQ keeps the information together and records where the rules came from and when they were current. It does not certify your products.
- Your country and state — nothing assumed on your behalf
- Applies per product line, overridable per item
- A compliance checklist you work through at your own pace
- Source, version and effective date recorded, so a rule change can be applied deliberately


Catalog Organization
What a shopper browses and how you organise stock are two different things.
Nearly every small-business platform collapses them into one word — "categories" — and then makes you choose between a shop that's easy to browse and a back office that's easy to report on. Roots HQ keeps them apart, and lets one feed the other.


Collections vs categories
Fourteen preserve families. One shop tab.
A Shop Collection is a department a customer browses. An Inventory Category is how you organise stock for reporting, filtering, product creation and accounting. A collection gathers many categories, and a product can appear in several collections without the product or its inventory record being duplicated anywhere.
- Your internal categories never become storefront clutter
- A category can belong to more than one collection
- A product in three collections is still one product and one stock count
- Categories become optional customer filters inside a collection
Shop Collection — what a shopper browses
Jams & Preserves
Inventory Categories — how you organise stock
Berry · Butter · Cacao Alchemy · Cocktail · Grape · Honey Pot · Reserve · Smoked Reserve · Spicy Reserve · Spoon & Swirl · Sweet Heat · Temple · Tropical · Tropical Reserve
Fourteen categories, one shop tab. The categories stay yours — for reporting, filtering and accounting — and become optional customer filters inside the collection.
Four ways to fill a collection
By category, by hand, from a source, or by rules that keep themselves current.
Tick the inventory categories a collection should gather. Or hand-pick items. Or pull straight from your mineral inventory. Or write grouped include and exclude conditions — category, type, tag, price, availability, seasonal, cottage-food status — evaluated against live inventory every time the shop loads, with the AND and OR spelled out as words rather than implied.
- Searchable category picker, selected first, with live product counts
- Grouped include/exclude conditions in plain language
- Mineral inventory stays in its own module — never duplicated into the catalog
- Hand-picked items reference the original record; nothing is copied
Scheduling & channels
A seasonal department that opens and closes on its own — in your time zone.
Set a start and an end, and say what should happen afterwards: hide it, keep it visible and marked Seasonal, or hand over to another collection. Visibility is controlled per sales channel, so a collection can be on the website and not the POS, or on event ordering and nowhere else. Changing a channel never deletes a product or alters stock.
- Start and end times shown in your workspace time zone, never an implied UTC
- Hide, keep as Seasonal, or replace with another collection
- Independent visibility for Website, POS, Event Ordering, Preorders, QR and Invoice catalogs
- Empty collections warn you, and behave the way you chose — hide, "Coming Soon", or browse-only
Sage
Sage finds the problems. You decide what happens next.
Ask for a review and Sage reports what it found: active products in no collection at all, visible collections with nothing purchasable in them, missing images, duplicate names and slugs, and large collections that would read better with customer filters. It never moves, renames, hides, publishes, archives or deletes anything — every suggestion is something you act on yourself.
- Nothing runs on page load; a review happens when you ask for one
- Findings name the collection and say what to do about it
- No silent changes — ever
- The same restraint applies across Roots HQ, not just here
Safe by default
Archiving, deleting, and everything that must survive both.
The trash icon is gone from the collection list. Inside the editor you can hide a collection from the shop, archive it — which preserves the products, categories and history and can be undone — or delete it permanently, which requires typing its name. Deleting a collection deletes the grouping and nothing else.
- Archive is reversible and preserves everything
- Permanent deletion requires the collection name typed out
- Products, minerals, categories, orders, sales history and reports are never deleted with a collection
- Reordering warns you before you navigate away, and never half-applies
Built once, shipped to everyone
Every workspace on Roots HQ runs the same code.
This wasn't built for one shop and back-ported. There is one codebase, and a feature that ships ships to every workspace — with its own templates, its own fields, its own jurisdiction and its own collections, scoped to it at the database layer rather than by what the screen happens to show. A ceramics studio and a preserves kitchen get the same software and describe entirely different things with it.
See how Roots HQ fits your business.
A guided walkthrough of the platform, mapped to how you sell.





