kasse library
Die Kasse am Tresen: Einstellungen, Warenkorb, Kassieren und Belege — gemeinsam von Browser-Kasse und App.
Zwilling von kasse/settings.ts bzw. client/receipts.ts im JS-Paket und
von functions/kasse-settings-core.js im Backend. Die Golden-Datei
fixtures/kasse-settings-standard.json hält die Standardwerte deckungsgleich.
Classes
- AbschlussPruefung
- Artikelgruppe
- Kategorie der Kachel-Kasse.
- Belegbediener
- Bediener an einem Beleg.
- Belegfilter
- Belegzusammenfassung
- Ein Beleg in der Liste — eine Zusammenfassung, kein vollständiger Beleg. Für Nachdruck oder Storno gehört der Beleg über RegisterReceiptClient.holen einzeln geholt.
- Kachelbuchung
- Ergebnis eines Kachelgriffs: der neue Korb und die betroffene Zeile.
- KasseArtikel
- Artikel, wie ihn die Kasse für Kacheln und Belegpositionen braucht.
- KasseEinstellungenClient
- KasseneckItem
- KasseneckReceipt
- KasseSettings
- KasseSettingsBetrieb
- Was für den ganzen Betrieb gilt (im Panel eingestellt).
- KasseSettingsGeraet
- Was nur für dieses Gerät gilt (in der Kasse selbst eingestellt).
- Kassierrechnung
- Alle Beträge des Kassiervorgangs auf einen Blick.
- Kassierstand
- Was der Kassier am Kassieren-Bildschirm eingestellt hat.
- Kategorie
- Korbzeile
- Eine Anzeigezeile des Korbs: gebündelt (Menge × Preis) oder je Stück einzeln.
- Mengenvorgabe
- Position
- Eine Position des laufenden Verkaufs.
- Positionsentwurf
- Was der Kassier eingegeben hat, bevor daraus eine Position wird.
- RegisterReceiptClient
- Stornoergebnis
- Ergebnis eines Stornos: der neue, signierte Storno-Beleg, der Bezug zum Original und die verbliebenen Restmengen je Position.
- Tagesgruppe
- Warenkorb
Enums
- BelegartFilter
- KasseBelegAusgabe
- KasseDruckerArt
-
sdp= Netzwerk über Epson Server Direct Print (der Drucker holt die Jobs vom Backend),netz= direkt per IP (ePOS),bt= Bluetooth,usb= Kabel. - KasseEinstellSchrift
- KasseGroesse
- KasseHoehe
- KasseKachelstil
- KasseKartenanbieter
-
Karte gibt es erst mit eingerichtetem Anbieter;
extern= eigenes Terminal ohne Anbindung. - KasseKassierenModus
- KasseKatpos
- KasseLadeAuto
- KasseLayout
- KasseMenge
- KassePapier
- KasseRabatt
- KasseSchnitt
- KasseSchrift
- KasseStil
- KasseTgModus
- KasseWasserzeichen
- KasseZeichensatz
- KeckPaymentMethod
- Mengenregel
- Mengenregel eines Artikels.
- RabattArt
- RegisterScope
- Reichweite eines Rechts.
- StornoStand
- Storno-Stand eines Belegs. Ein unbekannter künftiger Wert gilt als StornoStand.offen — beim Lesen ist dieses Paket tolerant, die Grenze zieht ohnehin das Backend.
- VatRate
- ZahlungFilter
- Zeitraum
Constants
- hoechstbetragCent → const int
- Obergrenze je Position: 100.000,00 €.
- idHoechststellen → const int
- Höchstzahl der Stellen, die eine Belegnummer hat.
-
kasseSaetzeReihenfolge
→ const List<
double> - Steuersätze in der Reihenfolge, in der die Kasse sie zeigt.
-
kasseTastenAktionen
→ const List<
String> - Aktionen der Kasse, die eine Taste bekommen können.
-
kasseTastenStandard
→ const Map<
String, List< String> > -
Tastenbelegung: Aktion → Tasten (
Mod+F,Enter,Escape,F5…;Mod= ⌘ auf dem Mac, Strg sonst). - ohneGruppeFarbe → const String
- ohneGruppeId → const String
-
steuersaetze
→ const List<
VatRate> - Die Steuersätze zur Wahl — häufige zuerst.
-
stornogruende
→ const Map<
String, String> - Die Gründe, die das Backend annimmt — Schlüssel wie dort, Beschriftung für den Bildschirm. Reihenfolge wie im Katalog des Backends.
- stornoReservierungMs → const int
- Ab wann eine liegengebliebene Reservierung nicht mehr zählt (wie im Backend). Ohne diese Grenze bliebe eine Position für immer gesperrt, weil ein Abbruch irgendwann einmal eine Reservierung stehen ließ.
- vorgabeSteuersatz → const VatRate
- Der übliche Fall am Tresen.
Functions
-
abschlussPruefung(
{required KeckPaymentMethod zahlungsart, required int zuZahlen, required int? gegeben, required bool rueckgeldAn, required bool leer}) → AbschlussPruefung - Darf abgeschlossen werden? Bar mit Rückgeld-Rechnung braucht genug Gegebenes.
-
alsEntwurf(
KasseArtikel a) → Positionsentwurf? -
Was aus einer Kachel im Korb wird;
null, wenn die Kachel nicht buchbar ist. -
alsEuro(
int cents) → String - Betrag für den Schirm: „2,50 €".
-
bediener(
List< Belegzusammenfassung> belege) → List<String> - Bediener-Namen in der Liste, für den Filter — sortiert, ohne Doppelte.
-
belegartText(
Belegzusammenfassung beleg) → String - Lesbarer Name der Belegart — nie ein Rohwert.
-
belegPositionen(
Warenkorb warenkorb, int rabatt) → List< KasseneckItem> - Positionen für den Beleg: Korb plus Rabattzeilen (eine je Steuersatz).
-
belegSichtbar(
Belegzusammenfassung beleg, RegisterScope reichweite, String eigeneUid) → bool - Sieht dieser Kassier den Beleg überhaupt?
-
betragAusText(
String text) → int? -
Betrag aus dem Eingabefeld in ganzen Cent — oder
null. -
gebucht(
Warenkorb korb, Positionsentwurf entwurf, {required bool buendeln}) → Kachelbuchung - Kachel in den Korb.
-
gefiltert(
List< Belegzusammenfassung> belege, Belegfilter f) → List<Belegzusammenfassung> -
idNummer(
String receiptId) → String - Die Nummer aus einer vollen Beleg-Kennung — für die Anzeige „ID 809". Passt sie nicht auf das Muster, steht die Kennung selbst da; eine erfundene Nummer wäre schlimmer als eine lange.
-
kassierrechnung(
Warenkorb warenkorb, KasseSettingsBetrieb betrieb, Kassierstand stand) → Kassierrechnung -
Die ganze Rechnung des Kassierens — Zwilling von
kassierenRechnungder Browser-Kasse. -
kategorien(
List< Artikelgruppe> gruppen, List<KasseArtikel> artikel) → List<Kategorie> -
mengeErlaubt(
KasseArtikel a, num gewuenscht) → num - Deckelt eine gewünschte Menge an der Höchstmenge des Artikels.
-
mengenregelFuerEinheit(
String? einheit) → Mengenvorgabe - Vorgabe je Einheit — was der Betrieb bei einem neuen Artikel bekommt und ändern darf.
-
mengenVorgabe(
KasseArtikel a) → Mengenvorgabe - Wirksame Regel eines Artikels: die gespeicherte Angabe schlägt die Vorgabe der Einheit.
-
rabattCents(
RabattArt art, num wert, int summe) → int? - Rabatt in Cent aus der Eingabe; außerhalb von 0 … Summe gibt es keinen.
-
restmengen(
KasseneckReceipt beleg, {int? jetzt}) → List< int> - Restmenge je Position: Belegmenge minus alles, was storniert oder frisch reserviert ist; nie unter null.
-
rueckgeld(
int zuZahlenCents, int gegebenCents) → int -
schnellbetraege(
int zuZahlenCents) → List< int> - Schnellwahl für „Gegeben": passend, der nächste runde Euro, dann Scheine.
-
steuersatzText(
VatRate satz) → String - Beschriftung eines Steuersatzes, wie sie am Tresen gelesen wird.
-
steuersatzZu(
num rate) → VatRate? -
Der RKSV-Steuersatz zu einer Prozentzahl — oder
nullbei Unbekanntem. -
stornoErlaubt(
Belegzusammenfassung beleg, RegisterScope reichweite, String eigeneUid) → bool - Darf dieser Beleg storniert werden?
-
suche(
List< Kategorie> kategorien, String text) → List<KasseArtikel> - Suche über alle sichtbaren Kacheln (Name, ohne Groß/Klein, Teilwort).
-
tagesgruppen(
List< Belegzusammenfassung> belege) → List<Tagesgruppe> - Nach Wiener Kalendertag gruppiert, neueste zuerst.
-
textAuf(
String hex) → String - Kontrastfarbe für Text auf voller Kachelfläche. Eine kaputte Farbe bekommt hellen Text statt eines Absturzes.
-
uhrzeit(
String zeitstempel) → String -
Uhrzeit eines Belegs in Wiener Wanduhrzeit (
HH:MM). -
ustCents(
int brutto, num satz) → int - Enthaltene MwSt aus dem Bruttobetrag (ganzzahlig, wie im Backend).
-
ustSumme(
Warenkorb warenkorb) → int -
verteileRabatt(
List< KasseneckItem> positionen, int rabattCents, {String name = 'Rabatt'}) → List<KasseneckItem> - Rabatt als negative Position(en) — eine je Steuersatz, anteilig zum Bruttoumsatz dieses Satzes.
-
volleId(
String cashregisterId, String nummer) → String? -
Aus der getippten Nummer die volle Kennung;
null, wenn keine Ziffer dabei ist. Der Kassier tippt nur die Nummer — das Kassenkürzel steht ohnehin fest. -
wienDatum(
DateTime zeitpunkt) → String -
Der Wiener Kalendertag eines Zeitpunkts als
YYYY-MM-DD. -
zahlungsarten(
KasseSettingsBetrieb betrieb) → List< KeckPaymentMethod> - Welche Zahlungsarten der Betrieb anbietet — nie keine (dann Bar).
-
zeitfenster(
Zeitraum zeitraum, [DateTime? jetzt]) → ({String bis, String von}) -
von/bis(Wiener Wanduhr,YYYY-MM-DD) für den Zeitraum. -
zuZahlen(
Warenkorb warenkorb, int rabatt) → int - Zu zahlen nach Rabatt — nie unter null.
Typedefs
- Stornoposition = ({int index, int menge})
- Eine Position, die storniert werden soll.