All guides

Inventory & stock items

Build your stock file with the four-step item wizard: pricing, reorder thresholds, unit conversions, batches and variants — plus bulk CSV import.

12 min readOwnerInventory manager

Create categories first

Dashboard → Inventory → Categories

Every item belongs to a category. Categories drive the filter chips at the till, category-scoped discounts, and the category breakdown in the profit report. Ten to twenty categories is usually right — one per aisle or section, not one per product.

  1. Open Dashboard → Inventory → Categories and click Create.

  2. Enter the Category Name and pick an icon.

  3. Click Create.

Add an item — the four-step wizard

Dashboard → Inventory → Items → Create

The item wizard, step by stepnoyesClick Create1. DetailsName, on hand, unit, price,average cost, categoryStep valid?Fix the highlightedfield2. Stock controlMinimum, reorder, safety,maximum, MOQ3. Units &classificationBase unit, purchase unit,conversion, SKU, location4. VariantsSizes and portions soldfrom this stockItem is sellable

Only step 1 is compulsory. Next validates the step you are on, so you can save a sellable item in a minute and come back for the rest.

Read this diagram as text
  • Click Create 1. Details
  • 1. Details Step valid?
  • Step valid? Fix the highlighted field (no)
  • Fix the highlighted field 1. Details
  • Step valid? 2. Stock control (yes)
  • 2. Stock control 3. Units & classification
  • 3. Units & classification 4. Variants
  • 4. Variants Item is sellable

Next validates the current step before moving on, and Back never loses what you typed. Only step 1 is compulsory — an item saved with just those fields is sellable immediately, and you can return to fill in the rest.

Step 1 — Details

Namerequired
What the cashier searches for. Put the distinguishing word first.
Descriptionoptional
Longer note shown on the item record.
Quantity On Handrequired
Current stock in base units. Sales decrement it automatically; receipts and transfers increment it.
Unit of Measurerequired
How the item is counted — piece, kg, litre, packet.
Pricerequired
Selling price per unit. This is the authoritative price the till charges; a cashier can only change it if they hold the Change prices permission.
Average Costrequired
What one unit costs you. Drives cost of goods sold, gross profit and margin in reports — a wrong cost silently corrupts every profit figure.
Spoilt and Soldoptional
Running counters. Record spoilage here so waste is visible instead of hiding as a stock discrepancy.
Categoryrequired
The category you created above.

Barcodes make the till fast

Put the product's barcode on the item. A hardware scanner then adds it to the cart with one beep — no searching, no mis-taps.

Step 2 — Stock control

These thresholds are what turn a stock list into a reorder system. They are all in base units and all optional, but without them low-stock alerts have nothing to fire on.

Minimum stock
The floor. Below this you are at risk of disappointing a customer.
Reorder level
The trigger. When on-hand falls to this number it is time to raise a purchase order — set it to cover supplier lead time plus a buffer.
Safety stock
Cushion held for demand spikes and late deliveries.
Maximum stock
The ceiling. Stops over-ordering perishables and tying up cash.
Min. order qty
The smallest quantity your supplier will sell. Used when drafting purchase orders.

A worked example

A supplier delivers weekly and you sell about 20 crates a week. Reorder level 25 gives you a week of cover plus a few days of slack; minimum stock 10 is the point at which you chase the order; maximum stock 60 stops a well-meaning manager buying a month of stock at once.

Step 3 — Units & classification

This step exists because you rarely buy in the unit you sell in. You buy a 750 ml bottle and sell 30 ml tots; you buy a crate and sell a bottle. Model that here once and every receipt, sale and report converts itself.

Buying in one unit, selling in anotherPurchase unitBottle — how you buy itBase units per purchaseunit750Base unitml — how on-hand is countedReceive 2 bottlesOn hand rises by 1,500 mlVariant base quantityA 30 ml totSell 5 totsOn hand falls by 150 ml,not by 5

A 750 ml bottle bought by the crate and sold as 30 ml tots: three different units, one stock number.

Read this diagram as text
  • Purchase unit Base units per purchase unit
  • Base units per purchase unit Base unit
  • Purchase unit Receive 2 bottles
  • Base unit Variant base quantity
  • Variant base quantity Sell 5 tots
Base unit
The unit stock is actually counted in — ml, g, piece. On-hand is always expressed in this unit.
Purchase unit
The unit you buy in — Bottle, Crate, Carton.
Base units / purchase unit
How many base units one purchase unit contains. A 750 ml bottle with base unit ml is 750.
SKU
Your internal stock code, used on labels and supplier paperwork.
Storage location
Where it physically sits — Cold room A, Aisle 3 — so counts go faster.

Other classification fields on the item

Preferred supplier
Pre-selected when you raise a purchase order for this item.
Tax profile
A specific tax rate for this item. Left as Branch default, the branch VAT rate applies.
Assigned kitchen / bar
Routes the line to a station badge on the kitchen display: no station, kitchen, or bar.
Track expiry (batches)
Turns on batch tracking. Goods receipts then capture a batch number and expiry date for each delivery.
Product family, Brand, Warehouse
Grouping labels used as filters in the profit report.

Step 4 — Variants

A variant is a different way to sell the same stock: a Large, a double, a 30 ml tot. It carries a price difference and, optionally, how much stock one sale consumes.

Variant namerequired
What the cashier picks — Large, Double, 30 ml.
Price deltarequired
Added to the item's price. Use a negative number for a cheaper variant; 0 for same-price options.
Base quantityoptional
Base units consumed per unit sold. A 30 ml tot from a 750 ml bottle is 30 — sell 5 tots and on-hand falls by 150, not 5.
SKU and barcodeoptional
Variant-specific codes, so a scanner can pick the exact size.

Variants are validated against their item

The till will not apply a variant that belongs to a different product, and the price is always recomputed on the server as item price plus variant delta. A tampered request cannot understate the bill.

Bulk import from CSV

Dashboard → Inventory → Items → Import

  1. Prepare a CSV with the columns productName, price, quantity, category, averageCost, unitOfMeasure.

    category is optional; the rest are required on every row.

  2. Open the import dialog and upload the file. CSV only.

  3. Read the import summary before committing.

    Valid rows and invalid rows are listed separately, with the reason each bad row failed.

  4. Fix the invalid rows in your file and re-upload, then import.

    Import brings in the valid rows only — nothing partial is silently dropped without being shown to you.

Import is for the first load

Use CSV to seed a catalog on day one. Afterwards, let goods receipts and transfers move stock so the cost history stays intact.

Keeping stock honest day to day

  • Sales decrement on-hand automatically as orders are placed; refunds put stock back.
  • Receiving against a purchase order is the only way stock should ever go up from a supplier.
  • Move stock between locations with a stock transfer, never by editing two numbers.
  • Record breakage and waste in Spoilt so shrinkage is measured rather than discovered.
  • Set reorder levels on the lines you cannot run out of; low-stock notifications key off them.