HandyCafe Docs
owner

Inventory

The Inventory page records purchases of goods and materials for your cafe. Every time you receive a shipment of products from a supplier (whether it is canned drinks, snack boxes, cleaning supplies, or any other item) you record the purchase in the inventory system. This creates a permanent log of what was bought, how much was paid, and where it came from.

Inventory Entry Fields

Each inventory entry represents a single line item on a purchase:

Field Description
invoice_no The invoice or receipt number from the supplier. Multiple inventory entries can share the same invoice number when they all came on the same delivery.
supplier_name The name of the supplier or vendor. This is a text field that can be linked to a supplier record in the Suppliers page.
name The name or description of the item purchased (e.g., "Cola 330ml", "Sandwich Bread", "Paper Cups").
unit The unit of measurement for the quantity (e.g., "piece", "kg", "liter", "box", "case").
quantity The number of units purchased. This is a decimal field to support fractional quantities (e.g., 2.5 kg).
unit_price The cost per unit in minor currency units (e.g., cents). The total cost of this entry is quantity * unit_price.
currency The currency of the purchase. Defaults to the system currency.
category An optional category label for grouping (e.g., "Beverages", "Food", "Cleaning", "Equipment").
notes A free-text field for additional information such as lot numbers, brand names, quality notes, or expiration dates.

Linking to Suppliers

The supplier_name field on an inventory entry corresponds to a supplier record in the Suppliers page. While the field is a text entry (not a strict foreign key), the system suggests existing supplier names as you type, encouraging consistency.

By maintaining consistent supplier names across inventory entries, you can later filter purchase history by supplier and understand your spending patterns with each vendor.

Recording a New Purchase

To record a new inventory purchase:

  1. Navigate to the Inventory page from the sidebar.
  2. Click Add Entry (or a similar action button in the toolbar).
  3. Enter the invoice number from the supplier's receipt. If you are recording multiple items from the same invoice, use the same invoice number for each entry.
  4. Select or type the supplier name. The system suggests existing suppliers as you type.
  5. Enter the item name, unit, quantity, and unit price.
  6. Optionally set the category and add notes (lot numbers, brand, quality observations).
  7. Save the entry.

The system records the entry with a creation timestamp. If the purchased item corresponds to a product in the Products catalog, the product's stock level can be updated accordingly through the stock log system.

Viewing Inventory History

The Inventory page displays all purchase records in chronological order (newest first). You can:

  • Search by item name, supplier name, or invoice number.
  • Filter by category to see only purchases in a specific category (e.g., all beverage purchases).
  • Filter by date range to view purchases within a specific period.
  • Filter by supplier to see all purchases from a particular vendor.

Inventory and Product Stock Integration

When an inventory purchase is recorded for an item that matches a product in the catalog, the system can create a corresponding stock log entry with reason = 'purchase' on the product. This increases the product's in_stock value by the purchased quantity and links the stock log entry back to the inventory record for traceability.

This integration means that recording a delivery in the Inventory page can automatically update the product stock levels visible to cashiers in the order interface.

Using the Notes Field

The notes field on inventory entries serves as a flexible annotation area. Common uses include:

  • Lot or batch numbers: Record the manufacturer's lot number for traceability, especially for food items.
  • Brand information: Note the specific brand when the item name is generic (e.g., "Cola" might be from different brands on different purchases).
  • Quality observations: Flag any issues noticed during receipt (e.g., "2 cans dented", "near expiry date").
  • Expiration dates: Record the best-before date for perishable goods.