Inventory — products, barcodes, stock counts

Get your catalogue in, get barcodes on the shelf, and keep counted stock and recorded stock the same number.

Add a product

The product form is tabbed so you can save early and fill in detail later. Only Basic Info and Pricing are required.

Basic Info
Name, category, SKU, barcode, supplier, image
Pricing
Cost price, selling price, tax treatment
Inventory
Opening quantity, reorder point, unit
Attributes
Pack-specific fields — hidden when your pack defines none

SKUs and barcodes

You do not have to invent codes. On the product form:

  1. 1Generate SKU builds one from the category and product name plus a numeric suffix.
  2. 2Generate Barcode creates an internal code for items that arrive without one.
  3. 3Generate EAN-13 creates a valid EAN-13, check digit included, for items you will scan on a normal retail scanner.
  4. 4A live preview of the barcode appears under the field, and Print labels sends it to your label printer.

Products scanned at the till are matched on SKU, barcode and OEM/part number, so a supplier’s own number works at the counter without re-keying — see POS basics.

Correcting stock after a count

Counted stock and recorded stock drift — breakage, theft, miscounts, deliveries booked twice. The stock adjustment dialog gives three explicit modes, so the intent is recorded rather than inferred:

Set To
You counted the shelf. This is the true number.
Add
Stock arrived that was not booked in.
Remove
Breakage, samples, write-off.

Each adjustment takes a reason, and the new level is shown before you confirm. Quick buttons cover the common amounts.

Use Set To after a physical count and Add / Remove for known events. Mixing them up makes the stock history unreadable later, even though the resulting number looks right today.

Sample data

If you loaded sample data during setup, everything it created is tagged as sample and can be removed in one action from Settings → Business Pack → Clear Sample Data. Your real products, customers and suppliers are not touched.

Something here not match what the app does? Tell us — this page documents shipped behaviour only, so a mismatch is a bug in one of them.