HandyCafe Docs
owner cashier

Produkte

Die Produktseite verwaltet den Katalog der Artikel, die Ihr Internetcafe oder Gaming-Center verkauft. Dazu gehören Speisen, Getränke, Snacks, Zubehör und alle anderen physischen Waren, die Kunden angeboten werden. Jedes Produkt hat einen definierten Preis, eine Kategorie, einen Steuersatz und einen Lagerbestand. Produkte sind mit dem Bestellsystem integriert, sodass Kassierer Bestellungen erstellen, Verkäufe verfolgen und den Bestand verwalten können.

Produktfelder

Jeder Produktdatensatz enthält folgende Informationen:

Feld Beschreibung
name Der Produktname, der in der Bestelloberfläche angezeigt wird. Muss eindeutig sein (ohne Berücksichtigung der Groß-/Kleinschreibung).
category Eine Textbezeichnung zur Gruppierung verwandter Produkte (z. B. "Getränke", "Snacks", "Zubehör"). Für Filterung und Berichterstattung.
unit Die Maßeinheit für die Bestandsverfolgung (z. B. "Stück", "kg", "Liter", "Dose", "Flasche").
barcode Ein optionaler Barcode-Wert für Scanner-Integration. Kassierer können den Barcode eines Produkts scannen, um es schnell einer Bestellung hinzuzufügen.
sale_price Der Verkaufspreis in Währungsuntereinheiten (z. B. Cent). Dies ist der dem Kunden pro Einheit berechnete Betrag.
vat_rate Der MwSt.-Satz (Mehrwertsteuer) für dieses Produkt (z. B. 18 für 18% MwSt.). Zur Berechnung des Steueranteils jedes Verkaufs.
stock Der aktuelle Lagerbestand als Dezimalzahl. Wird automatisch aktualisiert, wenn Bestellungen aufgegeben und Inventareinkäufe erfasst werden.
active Ein Schalter, der steuert, ob das Produkt in der Bestelloberfläche erscheint. Inaktive Produkte werden vor Kassierern verborgen, bleiben aber in der Datenbank für historische Berichte erhalten.
description Eine optionale Textbeschreibung für zusätzliche Produktdetails.

Aktiv/Inaktiv-Schalter

Produkte können zwischen aktivem und inaktivem Zustand umgeschaltet werden:

  • Aktive Produkte erscheinen in der Bestelloberfläche und können zu neuen Bestellungen hinzugefügt werden.
  • Inaktive Produkte sind in der Bestelloberfläche verborgen, bleiben aber in der Datenbank. Vergangene Bestellungen, die das Produkt enthielten, behalten ihre Verweise, sodass historische Verkaufsdaten erhalten bleiben.

Dies ist nützlich für saisonale Artikel, eingestellte Produkte oder Artikel, die vorübergehend nicht vorrätig sind und Kunden nicht angeboten werden sollen.

Bestandsverfolgung

HandyCafe führt einen laufenden Lagerbestand für jedes Produkt. Dieser Wert wird automatisch vom System aktualisiert als Reaktion auf:

  • Verkäufe: Wenn ein Produkt über eine Bestellung verkauft wird, sinkt der Bestand um die bestellte Menge.
  • Inventareinkäufe: Wenn neuer Bestand empfangen und auf der Inventarseite erfasst wird, steigt der Bestand entsprechend.
  • Manuelle Anpassungen: Kassierer oder Administratoren können den Lagerbestand manuell anpassen, um Schwund, Bruch, Fehlzählungen oder andere Abweichungen zu berücksichtigen.

Produktbestandsprotokoll

Jede Änderung des Lagerbestands eines Produkts wird im Produktbestandsprotokoll erfasst und erstellt eine vollständige Prüfspur:

Grund Beschreibung
sale Bestand durch Kundenbestellung verringert. Verknüpft mit dem spezifischen Bestelldatensatz.
purchase Bestand durch Inventareinkauf erhöht. Verknüpft mit dem spezifischen Inventareintrag.
adjustment Bestand wurde manuell von einem Kassierer oder Administrator angepasst.
waste Bestand durch Verderb, Bruch oder Abschreibung verringert.
return Bestand durch Kundenrückgabe oder Bestellungsstornierung erhöht.

Jeder Protokolleintrag erfasst die Mengenänderung (positiv für Erhöhungen, negativ für Verringerungen), den neuen Lagerbestand nach der Änderung, wer die Änderung vorgenommen hat und eine optionale Notiz mit der Begründung.

Produktkategorien

Produkte werden nach Kategorie über ein Freitextfeld gruppiert. Gängige Kategorien sind:

  • Getränke (Softdrinks, Wasser, Energydrinks)
  • Heißgetränke (Kaffee, Tee, heiße Schokolade)
  • Snacks (Chips, Süßigkeiten, Schokoriegel)
  • Speisen (Sandwiches, Wraps, warme Gerichte)
  • Zubehör (Headsets, USB-Sticks, Mauspads)

Kategorien werden in der Bestelloberfläche zum Filtern verwendet. Kassierer können schnell zwischen Kategorien wechseln, um das richtige Produkt zu finden. Kategorien dienen auch der Gruppierung in Verkaufsberichten.

Es gibt keine separate Kategorieverwaltungsoberfläche. Kategorien werden implizit erstellt, wenn Sie einem Produkt einen Kategorienamen zuweisen. Um eine Kategorie umzubenennen, aktualisieren Sie das Kategoriefeld bei allen Produkten, die den alten Namen verwenden.

Produkt erstellen

So fügen Sie dem Katalog ein neues Produkt hinzu:

  1. Navigieren Sie zur Seite Produkte in der Seitenleiste.
  2. Klicken Sie auf die Schaltfläche Produkt hinzufügen in der Symbolleiste.
  3. Geben Sie den Namen ein (muss eindeutig sein).
  4. Wählen oder geben Sie eine Kategorie ein.
  5. Wählen Sie die Maßeinheit.
  6. Legen Sie den Verkaufspreis fest (der dem Kunden berechnete Betrag in Währungsuntereinheiten).
  7. Legen Sie den MwSt.-Satz fest (als Dezimalwert, z. B. 0,08 für 8%).
  8. Optional geben Sie einen Barcode für Scanner-Unterstützung ein.
  9. Legen Sie den anfänglichen Lagerbestand fest, falls zutreffend.
  10. Klicken Sie auf Speichern.

Produkt bearbeiten

Wählen Sie ein Produkt aus der Liste, um die Detailansicht zu öffnen. Sie können jedes Feld aktualisieren, einschließlich Name, Preis, Kategorie, MwSt.-Satz, Lagerbestand und Aktivstatus. Änderungen werden sofort wirksam. Bei einer Preisänderung gilt der neue Preis für alle zukünftigen Bestellungen.

Vergangene Bestellungen werden von Preisänderungen nicht beeinflusst. Jede Bestellposition speichert den unit_price zum Zeitpunkt des Verkaufs als Snapshot.

Integration mit Bestellungen

Wenn ein Kassierer eine Bestellung erstellt und ein Produkt hinzufügt:

  1. Der aktuelle Verkaufspreis und MwSt.-Satz des Produkts werden als Snapshots in die Bestellposition kopiert.
  2. Die Positionssumme wird als Stückpreis * Menge berechnet.
  3. Beim Abschluss der Bestellung wird der Lagerbestand des Produkts um die bestellte Menge verringert.
  4. Ein Bestandsprotokoll-Eintrag mit reason = 'sale' wird erstellt und mit der Bestellung verknüpft.

Bei späterer Stornierung oder Erstattung der Bestellung kann der Bestand durch einen Rückgabe-Bestandsprotokoll-Eintrag wiederhergestellt werden.