Chapter 4 of 13
Products & Inventory
Building your catalog: items with two prices, variants, kits, scale barcodes, shelf labels, cycle counts, and finding the dead stock tying up your money.
All chapters
Items and the two prices
Everything starts at Items. Only the Name is required to save an item, but a well-built item carries a SKU, UPC and/or PLU, a category and department, a tax group, and — because HeroPOS is dual-pricing native — two real prices: List (card) and Cash. You set both yourself; the cash price shows in green everywhere it appears.
The editor is tabbed: General (name, category, vendor, tax group, sold by each/weight, age restriction, EBT eligible, shelf/bin location, consignment split), Pricing (list/cash prices, costs, margin, markup helpers), Identifiers & Barcodes (SKU/UPC/PLU, vendor item #, container volume for excise taxes, minimum price floor, and alternate barcodes — add every code a product might scan under), and for saved items Stock, Variants, and History (every price/cost change, who and when).
Variants (sizes, colors)
For anything that comes in sizes or colors, set the item's Kind to Parent (has variants) and open the Variants tab. Define option axes ("Size: Small, Medium, Large" and "Color: Red, Blue"), then hit Generate Variants — HeroPOS creates every combination as its own child item ("Tee — Medium / Red"), inheriting the parent's prices, category, and tax group, ready for you to fill in SKUs.
At the register, scanning or tapping the parent opens a variant picker; each variant tracks its own stock. Re-running generation later only adds combinations that don't exist yet.
Kits and bundles
Set Kind to Kit / Bundle to sell a set of items in one tap — a gift basket, a starter pack. Add components with a quantity per kit; the editor shows how many kits are buildable now from component stock. Kits never hold their own stock: selling one pulls each component from inventory, and the reorder forecast counts kit sales as component demand. A kit can't contain another kit or a variant parent.
There's also Misc — an open-price catch-all — and the register's + Add Open Item for true one-offs.
Scale barcodes (embedded price or weight)
Deli and produce labels that embed the price or weight in the barcode ring correctly if you switch on Scale barcodes in Settings → Register & Receipts: set the prefix digit (usually 2) and whether the embedded value is a price in cents or a weight. Then check "Scale barcode w/ embedded price" on each item, and make sure its 5-digit code matches the item's PLU or SKU. UPC-A and EAN-13 formats are both supported; a scanned label with an embedded price rings one unit at exactly that price.
Shelf and item labels
Labels holds your label templates — start with Create starter set to get four ready-made sizes (Basic Price 2.25×1.25", Shelf 3×1", Clothing Tag, Jewelry Tag), then open any template to drag elements around the canvas: name, SKU, barcode, QR code, brand, and the Dual Price element that prints list and cash prices side by side, so the shelf tells the same story the register does.
Print Labels builds a run: search and add items, set a quantity per item, pick a template, and print through your browser's print dialog to any label printer. Receiving links straight here so new stock gets labeled the day it arrives.
Adjustments and cycle counts
Quick fixes happen on the item's Stock tab: pick a location, a +/− quantity, and a reason (Cycle count, Damaged, Theft / shrink, Received without PO, Transfer, Correction). Every adjustment is audited.
For systematic counting, use Inventory → Cycle Counts:
- + New Count — pick a location, and optionally narrow to a category or a shelf prefix ("B" covers B1, B2, B12…). HeroPOS snapshots the expected on-hand for every matching item (up to 2,000 per count).
- Count with the scan box — every scan adds one; type "12*" before scanning to add twelve. Filter to Uncounted or Variances as you go, and use Zero-fill uncounted for "I looked, there were none."
- Post Count ✓ — sets on-hand to your counted numbers. Posting re-reads live stock first, so sales that happened while you counted don't corrupt the math. Blank lines are left untouched, and the posted sheet keeps a printable variance summary in dollars.
Posting is irreversible, so save early and often — partial saves are fine.
Low stock and dead stock
Give items a Low Level, Reorder Qty, and Safe Qty on the Stock tab — they power the low-stock report and the reorder tools in the next chapter.
Reports → Dead Stock answers the opposite question: what's sitting on the shelf with zero sales in 30/60/90/180 days, ranked by the cost tied up. An item marked "Never (12 mo)" under Last Sale is your strongest clearance candidate.