Skip to content
Infotech

Stock on hand and the stock ledger

Stock on hand shows what each warehouse holds, what it cost and what it is worth, and the full history of every movement. Open it from Inventory Management › Warehouse Management › Stock on hand.

Stock on hand is available to every shop, with or without the Inventory add-on, because every sale moves stock and the till needs stock levels to stop overselling.

What the page shows

  • Value per warehouse: the stock value of each warehouse and the total.
  • Items: each item with its quantity on hand, average cost, value and alert quantity. Search by name, SKU or barcode, filter by warehouse, or show only items that are low on stock.
  • Movements: open an item to see every movement, newest first, with a link to the document that caused it.

Staff see only the warehouses they are assigned to.

The stock ledger

Every change to stock is a line in the stock ledger. Nothing changes a quantity without one. Each line records:

  • the document that moved the stock, with its number;
  • the business day;
  • the quantity in or out and the quantity left after it;
  • the cost per unit and the value moved.
Number starts withDocumentPage
Sale invoice numberSale or sale returnSales list, Returns and credit notes
OS-Opening stockOpening stock
PUR-PurchasePurchases
PR-Purchase returnPurchase returns
WST-WasteWaste and adjustments
MEAL-Staff mealWaste and adjustments
ADJ-CorrectionWaste and adjustments
CNT-Stock countStock counts
TRF-TransferTransfers between warehouses

Because the ledger is never edited, a mistake is fixed with a new document (a void, a correction or a count), and the history stays complete.

How the average cost works

Infotech POS values stock at its moving weighted average cost, per item and warehouse. The cost is captured when goods move, so cost of goods sold, profit and stock value are always up to date.

  • Goods coming in with a cost (a purchase, opening stock) update the average: new average = (quantity on hand × average + quantity received × cost) ÷ (quantity on hand + quantity received). When the stock was zero or below, the cost of the goods received becomes the average.
  • Goods going out (a sale, waste, a transfer) leave at the current average, which does not change.
  • A return to the supplier leaves at the cost the goods came in at, and the average of what stays is recalculated so its value remains right.
  • No average yet: the item's purchase price is used, otherwise the product cost, so cost is never silently zero.

Example

A café has 10 kg of coffee beans at an average of 40.00 per kg (value 400.00). It buys 10 kg more at 50.00 per kg. The new average is (400.00 + 500.00) ÷ 20 = 45.00 per kg. When 2 kg are used in drinks, they leave at 45.00 per kg, a cost of 90.00, and the average stays at 45.00.

Selling below zero

By default, a sale or document that would take more than the stock shows is refused, and the message says how much there is. If Allow oversell is switched on in General settings, the quantity can go below zero. When goods arrive later, the stock comes back up.

If the system quantity is wrong, do a stock count to correct it.

Where costs appear

The cost recorded when goods leave is used in the reports: cost, profit and margin in the sales reports, and the value lost in the Stock losses report. Only members allowed to see costs see these figures.

Last updated 17 Oct 2026