HandyCafe Docs
owner cashier

Products

The product catalog lists the items your internet cafe or gaming center sells. This includes food, beverages, snacks, accessories and any other physical goods offered to customers. Each product has a defined price, category, tax rate and stock level. Products integrate with the order system, enabling cashiers to create orders, track sales and manage stock.

Products are managed on the Products tab of the Stock page in the main navigation. The tab offers a table view and a grid view. Grid cards show the product photo, price and an In Stock or Out of Stock badge.

Product Fields

Each product record contains the following information:

Field Description
name The product name displayed in the order interface. Must be unique (case-insensitive).
category A text label grouping related products (e.g., "Beverages", "Snacks", "Accessories"). Used for filtering and reporting.
unit The unit of measurement for stock tracking (e.g., "piece", "kg", "liter", "can", "bottle").
barcode An optional barcode value for scanner integration. Cashiers can scan a product's barcode to quickly add it to an order.
sale_price The selling price in minor currency units (e.g., cents). This is the amount charged to the customer per unit.
vat_rate The VAT (Value Added Tax) percentage applied to this product (e.g., 18 for 18% VAT). Used to calculate the tax component of each sale.
stock The current stock level as a decimal quantity. Updated automatically when orders are placed and when stock receipts are recorded. Stock is not edited on the product itself. Use the Stock Status tab of the Stock page.
min_stock The reorder threshold. When the stock level falls to or below this value the product is flagged as critical on the Stock Status tab. Zero means no threshold.
description An optional text description for additional product details.
photo An optional product photo shown on the grid view and in the cafeteria menu.

Removing a Product from Sale

A product that should no longer be offered is removed with the Remove from Sale action on the Products tab. A confirmation explains that this deletes the product from the catalog and cannot be undone. Past orders that included the product retain their line snapshots so historical sales data is preserved.

Stock Tracking

HandyCafe maintains a running stock count for every product. This value is automatically updated by the system in response to:

  • Sales: When a product is sold through an order, the stock decreases by the quantity ordered.
  • Stock receipts: When new stock is received and recorded on the Stock Receipt tab of the Stock page, the stock increases accordingly.
  • Manual adjustments: The Stock Status tab offers Fix stock, Waste and Count actions to account for spoilage, breakage, miscounts or other discrepancies.

Stock cannot be edited in the product editor. All stock changes go through the Stock Status tab so every change lands in the movement history.

Product Stock Log

Every change to a product's stock level is recorded in the product stock log, creating a complete audit trail:

Reason Description
sale Stock decreased due to a customer order. Links to the specific order record.
purchase Stock increased due to an inventory purchase. Links to the specific inventory entry.
adjustment Stock was manually adjusted by a cashier or administrator.
waste Stock decreased due to spoilage, breakage, or write-off.
return Stock increased due to a customer return or order cancellation.

Each log entry records the quantity change (positive for increases, negative for decreases), the new stock level after the change, who made the change, and an optional note explaining the reason.

Product Categories

Products are grouped by category using a free-text field. Common categories include:

  • Beverages (soft drinks, water, energy drinks)
  • Hot Drinks (coffee, tea, hot chocolate)
  • Snacks (chips, candy, chocolate bars)
  • Food (sandwiches, wraps, hot meals)
  • Accessories (headsets, USB drives, mouse pads)

Categories are used for filtering in the order interface. Cashiers can quickly switch between categories to find the right product. Categories also serve for grouping in sales reports.

There is no separate category management interface. Categories are created implicitly when you assign a category name to a product. To rename a category, update the category field on all products that use the old name.

Creating a Product

To add a new product to the catalog:

  1. Open the Stock page from the sidebar and switch to the Products tab.
  2. Click the New Product button.
  3. Enter the name (must be unique).
  4. Select or type a category.
  5. Choose the unit of measurement.
  6. Set the sale price (the amount charged to customers).
  7. Set the VAT rate.
  8. Optionally enter a barcode for scanner support and add a photo.
  9. Click Save.

Initial stock is not set here. Record the opening quantity with a stock receipt or the Count action on the Stock Status tab. A product can also be created directly from a receipt line when a delivery contains an item that is not in the catalog yet.

Editing a Product

Select a product from the list to open its editor. You can update any field including name, price, category, VAT rate, barcode and photo. Changes take effect immediately. If you update the price, the new price applies to all future orders. The Remove from Sale action deletes the product from the catalog after a confirmation.

Past orders are not affected by price changes. Each order item stores the unit_price at the time of sale as a snapshot.

Integration with Orders

When a cashier creates an order and adds a product:

  1. The product's current selling price and VAT rate are copied into the order item as snapshots.
  2. The line total is calculated as unit_price * qty.
  3. When the order is completed, the product's stock level is decremented by the ordered quantity.
  4. A stock log entry is created with reason = 'sale' linking to the order.

If the order is later cancelled or refunded, the stock can be restored through a return stock log entry.