Product attributes
Most ERPs only carry one category field per product. Stokk lets you layer your own attributes on top — whichever ones matter to your business. A pet retailer might track Brand, Category, Sub category, and Pet type. A hardware retailer might track Material, Voltage, and Color. The keys are yours; Stokk just stores values per SKU.
Where attributes show up
- On the Sales report, each attribute becomes a multi-select filter at the top, and a tab in the monthly breakdown panel ("By Brand", "By Pet type"…).
- More views will pick attributes up over time. Once a value exists on a SKU it's available everywhere we report on that SKU.
Adding and editing attributes
Go to Product attributes under Admin. Each row is one attribute:
- Key — short identifier in lower_snake_case (e.g.
brand, pet_type). Used in URLs and reports. Pick it once; the key is hard to rename later. - Label — the human-readable name shown in filters and tabs. Rename freely whenever your taxonomy shifts.
- Source— "Operator" means Stokk owns the values (set via the bulk import script). Future ERP-mapped sources will show the connector field name.
- Coverage — the share of active products that have a value for the attribute. Low coverage means the filter will hide a lot of revenue — worth tagging more SKUs or rethinking the attribute.
Loading and editing values
Two paths today:
- Inline editing at Product attributes → Edit values — every SKU in one matrix, one column per attribute. Tab between cells, type a value, blur to save. Existing values show up as suggestions while you type. The Missing values only filter narrows to SKUs that came in without a tag — the usual workflow after an ERP sync pulls in a fresh batch.
- Bulk CSV import via the
scripts/import-product-attributes.mjsscript. Takes one column per attribute mapped to a key you've defined. Values are upserted by SKU code, so re-running with a corrected CSV is safe.
ERP-direct sync is coming for connectors that expose more than one product field (NetSuite, Microsoft Dynamics / Business Central). At that point an attribute with a sync source set will refresh automatically with the rest of the product sync.
Deleting an attribute
Deleting an attribute removes the key and every value across every product — the "Delete" button asks you to confirm because there's no undo. SKUs themselves are untouched; only the attribute tag disappears.