Skip to content
DocumentationInventory

Inventory

Stock levels, barcodes, photos, weighted-average or opt-in FIFO costing, and bulk CSV import.

What it does

A stocked-item catalogue with quantity on hand, sale price, barcode, photo, and per-item GL account mapping. By default an item is costed on a simple weighted-average as stock is received; turning on Track Batches for an item switches it to lot-tracked FIFO instead - each receipt keeps its own cost and expiry date, and a sale consumes the oldest lot first, so cost of goods sold reflects exactly what that unit cost rather than a blended average. An item can also be marked Sold by Weight for produce, deli, or bulk goods weighed at the register - the item's Unit becomes the weight unit (kg, lb, g), and Point of Sale prompts for a weight instead of adding one fixed unit per tap; a bulk CSV import can set this per row too, with the same weight-unit convention. Items can be marked unlimited (services, made-to-order work) or unlisted (kept in the books but hidden from the POS grid). Optional Product Details (brand, category, country of origin, weight, dimensions, units per case, tags, storage notes) round out the catalog for anyone who wants it, and a promotional price (with a start/end date) or a scheduled future price change can be set per item, taking effect automatically without manual on/off toggling. Sending stock back to a supplier has its own Return to Vendor action, separate from a stock-count adjustment — it reduces what you owe the vendor (or records money/credit coming back) and never touches Cost of Goods Sold, since nothing was sold or lost. And any historical receive, adjustment, or shrinkage entry can be undone with a "Reverse this movement" action on the item's page — it posts a proper offsetting entry and restores the quantity, for fixing a bad count, a wrong-cost data-entry mistake, or anything else that shouldn't have hit the books the way it did.

Why it matters

Stock is usually the second-largest number on a small business's balance sheet and the easiest one to get wrong. Tracking it in the same system that sells it means the count, the cost, and the books never disagree. And a sale price that changes on a schedule — a weekend promo, a supplier cost increase taking effect next month — is easy to forget to revert or apply on the day; automating it removes that risk. A vendor return or a data-entry mistake are common, and forcing either one through a generic stock-count adjustment silently distorts Cost of Goods Sold on a perfectly balanced trial balance — having a dedicated, reversible way to handle both keeps that from happening quietly.

How to use it

  1. Open Inventory from the Purchasing section.
  2. Add items one at a time, or bulk-import a CSV with opening stock.
  3. Set a barcode and photo so the item is scannable and tappable at the till.
  4. Use Bulk Adjust for a stock-take, or record shrinkage for waste, spoilage, and damage.
  5. Set a promotional or scheduled price on an item's page when its price needs to change automatically on a date.
  6. Use Return to Vendor on an item's page when stock is physically going back to a supplier.
  7. Use "Reverse this movement" on a past receive/adjustment/shrinkage row to undo it if it was wrong.

Main buttons and actions

  • + Add Item
  • Import CSV
  • Bulk Adjust
  • Record Shrinkage
  • Return to Vendor
  • Reverse a movement
  • Toggle listing
  • Set promotional/scheduled price

Example workflow

  1. Items are created with an opening stock level, which posts to the books.
  2. Purchase orders and receiving increase stock; sales decrease it, oldest lot first for a Track Batches item, weighted-average otherwise.
  3. Shrinkage is recorded with a reason so waste is visible rather than a mystery variance.
  4. A physical return to a vendor is recorded with Return to Vendor, reducing stock and what's owed without touching COGS.
  5. A wrong historical entry is undone with a reversal rather than edited or deleted, leaving a full audit trail.
  6. Low-stock items surface in Reorder Suggestions.
  7. A promotional price automatically takes over at POS and on orders during its date window, then reverts on its own once it ends.