pos 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/pos-settings-defaults.json hält die Standardwerte deckungsgleich.
Classes
- ArticleGroup
- Kategorie der Kachel-Kasse.
- CancellationOf
-
Bezug eines Storno-Belegs auf sein Original (
cancellationOf). - CancelReceiptResult
- Ergebnis eines Stornos: der neue, signierte Storno-Beleg, der Bezug zum Original und die verbliebenen Restmengen je Position.
- Cart
- CartItemDraft
- Was der Kassier eingegeben hat, bevor daraus eine Position wird.
- CartLine
- Eine Anzeigezeile des Korbs: gebuendelt (Menge × Preis) oder je Stueck einzeln.
- CashregisterAutoLogout
-
Automatisches Abmelden an der Kasse (
autoLogoutinlistMyCashregisters). Beide Werte sind einzeln optional: der Server sendet nur, was die Kasse selbst gesetzt hat. - CashregisterEntry
-
Eine Kasse aus
listMyCashregisters(Draht/v3). Zeitpunkte bleiben Text (ISO, UTC); ein fehlender istnull, nie ein erfundenes Datum. - CashregisterOnboarding
- Stand der Inbetriebnahme (RKSV): bei FinanzOnline registriert, Startbeleg erzeugt und übermittelt.
- CashregisterStockLocation
-
Antwort von
setMyCashregisterStockLocation. - CheckoutState
- Was der Kassier am Kassieren-Bildschirm eingestellt hat.
- CheckoutTotals
- Alle Beträge des Kassiervorgangs auf einen Blick.
- CompletionCheck
- ErrorRule
- Eine Regel: fuer eine Art (und optional bestimmte Codes oder einen Ausgang) entweder ein Satz des Katalogs (key) oder ein Verhalten (behavior).
- FieldError
-
Ein Feldfehler aus
details.errors[]einervalidation-Antwort. - KasseneckItem
- KasseneckReceipt
- KeckPayment
-
Eine Zahlung am Beleg — Zwilling von
ReceiptPaymentin@kreiseck/kasseneck-api(models/receipt-payment.ts) und der Eintraege, diefunctions/gemeinsam/zahlungen-core.jsunterpaymentsablegt. - KeckPaymentInput
-
Eine Zahlung, wie der Aufrufer sie an
sellReceipt/sell/cancelschickt – Zwilling vonReceiptPaymentInput.idundchangeCentsvergibt der Server. - KeckTip
- Trinkgeld auf einem Beleg.
- KeckTipPerson
- Eine Person, der sich Trinkgeld zuweisen lässt.
- KeckTipRecipient
- Ein Trinkgeld-Empfänger: ein Kassen-Benutzer und sein Anteil.
- NetworkPrinter
-
Ein Netzwerk-Drucker des Kontos (
listMyPrinters). - PosArticle
- Artikel, wie ihn die Kasse für Kacheln und Belegpositionen braucht.
- PosBusinessSettings
- Was für den ganzen Betrieb gilt (im Panel eingestellt).
- PosColor
- PosDeviceSettings
- Was nur für dieses Gerät gilt (in der Kasse selbst eingestellt).
- Position
- Eine Position des laufenden Verkaufs.
- PosPrinterClient
- Drucker und Druckjobs über die laufende Kassen-Sitzung.
- PosSettings
- PosSettingsClient
- PosSettingValue
- Gemeinsame Sicht auf die Aufzählungen der Einstellungen: value ist der Wert am Draht.
- PosText
- Ein Eintrag des Katalogs.
- PosThemeData
- PrintJob
- PrintResult
- Ergebnis eines Drucks, wie der Drucker es meldet.
- QuantityDefaults
- ReceiptDayGroup
- ReceiptFilter
- ReceiptOperator
- Bediener an einem Beleg.
- ReceiptSummary
- Ein Beleg in der Liste — eine Zusammenfassung, kein vollstaendiger Beleg. Fuer Nachdruck oder Storno gehoert der Beleg ueber RegisterReceiptClient.get einzeln geholt.
- RegisterReceiptClient
- RegistrationInfo
-
Registrierdaten fuer den Block „Prüfangaben“ am Nullbeleg (Regelwerk 2):
wann die Signaturkarte und wann die Kasse bei FinanzOnline registriert
wurden. Zwilling von
RegistrationInfoin@kreiseck/kasseneck-api1.0, DrahtfeldregistrationInfo(frueherpruefangaben). - SendReceiptEmailResult
- Was das Backend ueber einen erfolgten Versand sagt.
- StockLevel
- Bestand eines Artikels an einem Standort, in Tausendstel der Basiseinheit.
- StockList
-
Antwort von
listMyStock. - StockLocation
- Ein Standort des Betriebs (Lager, Geschaeft, Fahrzeug).
- StockLocationAddress
-
Anschrift eines Standorts. Jeder Teil ist
null, wenn er fehlt oder leer ist; eine Anschrift ohne einen einzigen Teil gibt es nicht (dann ist StockLocation.addressnull). - Stocktake
- Eine Inventur (Kopf), wie jeder Inventur-Aufruf ausser den Listen der Positionen und Zaehlungen sie sendet.
- StocktakeActor
- Wer etwas tat: Inhaber, Kasseneck-Admin, Kassen-Benutzer oder ein API-Schluessel.
- StocktakeCancellation
- Der Abbruch einer Inventur.
- StocktakeClosing
- Der Abschluss: er bucht in Teilen und laesst sich wieder aufnehmen.
- StocktakeCount
- Eine Zaehlung.
- StocktakeCountPage
-
Eine Seite von
listStocktakeCountsbzw.listMyStocktakeCounts, neueste zuerst. - StocktakeCountResult
- Antwort von Zaehlen und Stornieren: die Zaehlung und ihre Position danach (Summe der Runde in StocktakeItem.quantity, kein Soll).
- StocktakeCountVoided
- Das Storno einer Zaehlung.
- StocktakeInventoryLine
- Eine Zeile des Inventars (nach dem Abschluss).
- StocktakeItem
-
Eine Position: ein Artikel in einem Zustand (
sellablebzw.defective). - StocktakeItemPage
-
Eine Seite von
listStocktakeItemsbzw.listMyStocktakeItems, nach Kennung. - StocktakeNotBooked
- Was von einer Position nicht gebucht wurde, und warum.
- StocktakePdfInfo
- Das Inventurprotokoll: ob es da ist, und die Pruefsummen der Fassungen, die der Aufrufer sehen darf.
- StocktakeProgress
- Fortschritt: Zahl der Positionen und ob Positionen zum Nachzaehlen offen sind.
- StocktakeRecount
- Ein Nachzaehlen-Auftrag an einer Position.
- StocktakeReview
- Die Pruefung: wann und von wem angestossen, ob Soll und Differenz schon gerechnet sind.
- StocktakeScope
- Umfang einer Inventur, bei der Anlage eingefroren.
- StocktakeSeal
-
Siegelstand des Lagerprotokolls beim Abschluss: Wiener Tage
YYYY-MM-DD.verified: nullheisst „nicht fertig geprueft“, nie Bruch. - StocktakeTotals
-
Summen des Abschlusses (Anzahlen von Positionen; Werte nur mit dem Recht
costs). - StocktakeWarning
- Ein Hinweis zur Inventur, mit der Zahl der betroffenen Positionen. Er ist kein Fehler: der Vorgang hat gewirkt.
- StockValue
-
Lagerwert eines Artikels. Derselbe Typ an der Kasse (
pos.dart) und in der Lager-API (inventory.dart); er kommt nur, wenn Werte freigegeben sind: an der Kasse mit dem RechtstockCostsdes Kassenbenutzers, in der Lager-API mit dem Konto-Schalter „Einkaufswerte per API“ (Rechtcosts). - TileBooking
- Ergebnis eines Kachelgriffs: der neue Korb und die betroffene Zeile.
- TileCategory
Enums
- CancellationState
-
Storno-Stand eines Belegs in der Liste (Drahtfeld
cancellationStatus, KatalogSTORNO_STAND):none,partial,full. Ein unbekannter kuenftiger Wert kommt als CancellationState.unknown an und nie alsnone: die Kasse bietet dann keinen Storno an (siehecanCancel), der Server haelt ohnehin die Restmengen. - CreditCardProvider
- DiscountKind
- ErrorKind
-
Wie ein Fehler fuer die Einordnung heisst (
kindim Vertrag): - ErrorOutcome
-
Ausgang eines gescheiterten Aufrufs. rejected: nichts geschehen.
unknown: der Vorgang kann ausgefuehrt sein (ein Beleg signiert, ein
Storno gebucht, Ware gebucht, eine Rechnung ausgestellt); nie blind
wiederholen. Belege, Stornos und Zahlungen nachlesen; ein Aufruf mit
idempotencyKeynur mit demselben Schluessel erneut senden (wirkt genau einmal, ein neuer buchte doppelt); ohne Schluessel erst nachlesen. - ErrorRuleBehavior
-
Was eine Regel ohne eigenen Satz tut (
behaviorim Vertrag). - KeckPaymentMethod
- PaymentFilter
- PosCardProvider
- Karte gibt es erst mit eingerichtetem Anbieter.
- PosCategoryPosition
- PosCheckoutMode
- PosCodePage
- PosCut
- PosDiscount
- PosDrawerAutoOpen
- PosFontSize
- PosLayout
- PosLogoScale
-
Größe des Bild-Logos am Beleg (
logoScale). - PosLogoSize
-
Größe des Kürzel-Logos in der Kopfzeile der Kasse (
logoSize). - PosPaperSize
- PosPrinterType
-
sdp= Netzwerk über Epson Server Direct Print (der Drucker holt die Jobs vom Backend),network= direkt per IP (ePOS),bluetooth,usb= Kabel,connect= Kasseneck Connect (lokaler Agent auf dem Kassen-Rechner). - PosQrMode
- Mit welchem Befehl der Signatur-QR auf den Bon kommt.
- PosQuantity
- PosReceiptOutput
- PosSettingsFontSize
- PosSurface
-
Die Seite, auf der ein Satz gilt (
onlyim Vertrag). - PosTerminalType
- Art des Kartenterminals an dieser Kasse: keines oder Hobex HPS.
- PosTerminalVia
- Terminal-Ansprache: direkt per IP oder über Kasseneck Connect.
- PosTheme
- PosTileHeight
- PosTileStyle
- PosTipMode
- PosWatermark
- PosWatermarkScale
-
Größe des Wasserzeichens (
watermarkScale), getrennt vom Beleg-Logo. - PosWatermarkSide
-
Seite des Wasserzeichens; alt, abgelöst von
watermarkX, bleibt fürs Mischen alter Stände. - QuantityRule
- Mengenregel eines Artikels.
- ReceiptPeriod
- ReceiptTypeFilter
- RegisterScope
- Reichweite eines Rechts.
- ReturnDisposition
-
Rueckgabe-Wahl als Typ; der Name ist der Wert am Draht
(
ReturnDisposition.defective.name='defective'). - StockLocationType
- Typ eines Standorts; der Name ist der Wert am Draht.
- VatRate
Constants
-
callsWithEffect
→ const List<
String> - Kassen-Aufrufe mit Wirkung: nach Frist oder Netzfehler nie „erneut versuchen“; siehe messageOutcome.
-
cancellationPaymentErrorMessages
→ const Map<
String, String> - Storno mit mehreren Zahlungen: Code des Backends -> Schluessel des Satzes.
-
cancellationReasons
→ const Map<
String, String> -
Die Gründe, die das Backend annimmt – Codes wie unter
/v3(KatalogSTORNO_GRUND), Beschriftung für den Bildschirm und den Bon (bleibt deutsch, sie steht so am Beleg). Reihenfolge wie im Katalog des Backends. - cancellationReservationMs → 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ß.
-
cancellationStatuses
→ const List<
String> -
Stornostand eines Belegs in der Belegliste (Katalog
STORNO_STAND). -
cardBlockHeadings
→ const Map<
CreditCardProvider, String> - Die Überschrift des Kartenzahlungsblocks je Anbieter.
- defaultVatRate → const VatRate
- Der uebliche Fall am Tresen.
-
errorCodeRules
→ const List<
ErrorRule> - Regeln je Code, vor der Regel der Art; siehe findErrorRule.
-
errorOutcomeRules
→ const List<
ErrorRule> - Regeln je Ausgang, nach den Code-Regeln; siehe findErrorRule und messageOutcome.
-
errorRules
→ const List<
ErrorRule> - Genau eine Regel je Art, der Stand von 1.0.0-rc.4; siehe findErrorRule.
-
fontScales
→ const Map<
PosFontSize, double> - Schriftfaktoren. Auch XL bleibt bedienbar — ein Faktor, der die Kasse sprengt, hilft niemandem, der schlecht sieht.
-
legacyBusinessKeys
→ const Map<
String, String> -
Schlüssel der inneren Form (0.x, Zwischenspeicher bis Dart 9.x) -> Draht,
Betriebsteil. Ein Test hält die Tabelle deckungsgleich mit
renames-1.0.json(structure.pos-settings-defaults.json.business). -
legacyDeviceKeys
→ const Map<
String, String> - Wie legacyBusinessKeys für den Geräteteil.
-
legacyShortcutActions
→ const Map<
String, String> - Tasten-Aktionen der inneren Form -> Draht.
-
legacyValues
→ const Map<
String, Map< String, String> > -
Werte der inneren Form -> Draht, je Drahtfeld; gleichlautende Werte
(
gptom,S) stehen nicht darin. Ein Test hält die Tabelle deckungsgleich mitrenames-1.0.json(values.pos-settings-defaults.json). - maxAmountCents → const int
- Obergrenze je Position: 100.000,00 €.
- maxPayments → const int
- Hoechstzahl der Zahlungen je Beleg (Backend: MAX_ZAHLUNGEN).
-
posAutoLogoutMinutes
→ const List<
int> - Automatisches Abmelden nach Minuten Ruhe; 0 = nie.
-
posDoneScreenSeconds
→ const List<
int> - Wie lange die Fertig-Seite stehen bleibt, in Sekunden; 0 = bis zum Tippen.
-
posErrorCodes
→ const List<
String> -
Gleich
pos.posErrorCodesim Vertrag (surface.json): Fehlerfälle der Endpunkte (seit 10.7 auch die fuenf der Inventur) und ihre Handler-Codes, dazu Anmelde- und Randcodes (ohne den Partner-Zugang) und der Paketcoderoute_missing.validationträgtdetails.errors[]mit dem äußeren Feldpfad (posFieldErrors). -
posLabels
→ const Map<
String, PosText> - Beschriftungen: Knoepfe, Ueberschriften, Zeilennamen, was kein Satz ist.
-
posMessages
→ const Map<
String, PosText> -
Was die Kasse selbst sagt: ein Satz je Schluessel (
bereich.name), gleich wie im Web. -
posShortcutActions
→ const List<
String> -
Aktionen der Kasse, die eine Taste bekommen können (Schlüssel von
device.shortcuts), Zwilling vonPOS_SHORTCUT_ACTIONS. -
posShortcutDefaults
→ const Map<
String, List< String> > -
Tastenbelegung: Aktion -> Tasten (
Mod+F,Enter,Escape,F5...;Mod= Cmd auf dem Mac, Strg sonst). Zwilling vonPOS_SHORTCUT_DEFAULTS. -
Aktionen, die sich eine Taste teilen dürfen (Backend
TASTEN_PAARE), Zwilling vonPOS_SHORTCUT_SHARED_PAIRS. Jede andere Doppelbelegung weist der Server ab, und dieses Paket schon vor dem Senden. - posTextsVersion → const String
- Version des Vertrags, aus dem dieser Katalog erzeugt ist.
-
posVatRateOrder
→ const List<
double> - Steuersätze in der Reihenfolge, in der die Kasse sie zeigt.
-
posWatermarkStrengths
→ const List<
int> - Deckkraft des Wasserzeichens in Prozent, bewusst Stufen.
-
printJobSources
→ const List<
String> -
Bekannte Werte für
source(KatalogDRUCK_QUELLE): die Kasse oder das Panel. Der Server nimmt Freitext bis 40 Zeichen an und übersetzt nur diese beiden. -
printJobStatuses
→ const List<
String> -
Stände eines Druckjobs (Katalog
DRUCKJOB). - printJobStatusUnknown → const String
- Stand, wenn der Server einen nennt, den dieses Paket nicht kennt (oder keinen). Er beendet die Abfrage, gilt aber nie als gedruckt.
-
quantityRules
→ const List<
String> -
Die Werte von
quantityRule(KatalogMENGENREGEL). -
receiptEmailErrorMessages
→ const Map<
String, String> - Beleg per E-Mail: Code des Backends -> Schluessel des Satzes.
-
receiptEmailSendErrorCodes
→ const List<
String> -
Die fachlichen Codes von
sendReceiptEmail(ohne Anmeldung und Rand). -
receiptEmailVias
→ const List<
String> -
Versandwege einer Belegmail (Katalog
MAILWEG): Postfach des Betriebs, Plattform, Plattform nach gescheitertem eigenen Postfach. - receiptNumberMaxDigits → const int
- Höchstzahl der Stellen, die eine Belegnummer hat.
-
returnDispositionLabels
→ const Map<
String, String> -
Rueckgabe beim Storno: Wahl (
restock,defective,disposed) -> Schluessel der Beschriftung. -
returnDispositions
→ const List<
String> - Die Werte der Rueckgabe-Wahl, englisch wie am Draht, in der Reihenfolge des Vertrags.
-
stockLocationTypes
→ const List<
String> -
Standort-Typen (Katalog
STANDORT_TYP), englisch wie am Draht. -
stocktakeStatuses
→ const List<
String> -
Stand einer Inventur (Katalog
INVENTUR_STATUS). Gezaehlt wird incounting;reviewrechnet Soll und Differenz (erst ab hier sichtbar, blind);closingbucht den Abschluss in Teilen;closedundcancelledsind endgueltig.creatingsteht nur, solange eine grosse Anlage ihre Positionen schreibt. -
tileHeights
→ const Map<
PosTileHeight, double> - Kachelhöhen in dp. Auch die flachste bleibt ein Fingerziel: unter 48 dp trifft ein Finger nicht mehr verlässlich.
- ungroupedColor → const String
- ungroupedId → const String
-
vatRateChoices
→ const List<
VatRate> - Die Steuersaetze zur Wahl — haeufige zuerst.
Properties
-
cancellationErrorCodes
→ List<
String> -
Codes von
cancelReceipt(Formfehler anpaymentsstehen inpaymentErrorCodes).final -
paymentErrorCodes
→ List<
String> -
Codes rund um
paymentsancreateReceiptundcancelReceipt.final -
posBusinessValues
→ Map<
String, List< Object> > -
Die Wertemenge je Betriebsfeld, soweit das Feld eine hat (Zwilling von
POS_BUSINESS_VALUES); dagegen prüft der Schreibweg vor dem Senden.final -
posDeviceValues
→ Map<
String, List< Object> > -
Wie posBusinessValues für die Geräte-Einstellungen (
POS_DEVICE_VALUES).final -
receiptEmailErrorCodes
→ List<
String> -
Codes von
sendReceiptEmail.final -
receiptErrorCodes
→ List<
String> -
Codes von
createReceiptundgetReceipt(ohne die Zahlungscodes, die stehen inpaymentErrorCodes).receipt_outcome_unknownheisst: der Beleg ist moeglicherweise signiert, nachlesen statt wiederholen.final
Functions
-
allowedQuantity(
PosArticle a, num wanted) → num - Deckelt eine gewünschte Menge an der Höchstmenge des Artikels.
-
amountDue(
Cart cart, int discount) → int - Zu zahlen nach Rabatt — nie unter null.
-
assertCardRefunds(
List< KeckPaymentInput> payments, KasseneckReceipt? original) → void -
Karten-Rueckbuchung am Storno, geprueft bevor etwas hinausgeht
(Zwilling von
assertCardRefundsim npm-Paket): -
bookTile(
Cart cart, CartItemDraft draft, {required bool bundle}) → TileBooking - Kachel in den Korb.
-
canCancel(
ReceiptSummary receipt, RegisterScope scope, String ownUid) → bool - Darf dieser Beleg storniert werden?
-
cancellationPaymentErrorMessage(
String? code) → String -
Der Satz zu einem
codedes Backends beim Storno mit mehreren Zahlungen. Einen unbekannten Code faengt der allgemeine Storno-Satz auf. -
cardRefundReference(
KasseneckReceipt receipt, String paymentId) → String -
Kennung der Originalzahlung fuer die Rueckbuchung am Terminal (Hobex
originalTransactionId, SumUp-Transaktion …):providerPaymentIdder ZahlungpaymentIddes Originals. Die liefert nur der Kassenweg (kasse.kasseneck.at/api/v3, Kanalapp); am oeffentlichen Weg fehlt sie, und dann wirft dieser Aufruf, stattnullan ein Terminal weiterzugeben. Zwilling voncardRefundReferenceim npm-Paket. -
cashPayment(
CheckoutTotals invoice, {int? amountCents}) → KeckPaymentInput -
Die Barzahlung aus der Kassierrechnung als Eintrag fuer
payments-- mittenderedCents, damit das Backend Gegeben und Rueckgeld am Beleg fuehrt und der Bon sie zeigt. -
checkoutTotals(
Cart cart, PosBusinessSettings business, CheckoutState state) → CheckoutTotals -
Die ganze Rechnung des Kassierens — Zwilling von
kassierenRechnungder Browser-Kasse. -
colorFromHsv(
double hue, double saturation, double value) → PosColor - Aus Farbton, Sättigung und Helligkeit (HSV) eine Farbe.
-
completionCheck(
{required KeckPaymentMethod paymentMethod, required int dueCents, required int? tenderedCents, required bool changeEnabled, required bool cartEmpty}) → CompletionCheck - Darf abgeschlossen werden? Bar mit Rückgeld-Rechnung braucht genug Gegebenes.
-
computeChange(
int dueCents, int tenderedCents) → int -
contrastRatio(
PosColor a, PosColor b) → double - Kontrastverhältnis nach WCAG: 1 (gleich) bis 21 (Schwarz auf Weiß).
-
discountCentsFor(
DiscountKind kind, num value, int total) → int? - Rabatt in Cent aus der Eingabe; außerhalb von 0 … Summe gibt es keinen.
-
distributeDiscount(
List< KasseneckItem> items, int discountCents, {String name = 'Rabatt'}) → List<KasseneckItem> - Rabatt als negative Position(en) — eine je Steuersatz, anteilig zum Bruttoumsatz dieses Satzes.
-
draftFromArticle(
PosArticle a) → CartItemDraft? -
Was aus einer Kachel im Korb wird;
null, wenn die Kachel nicht buchbar ist. -
filterReceipts(
List< ReceiptSummary> receipts, ReceiptFilter f) → List<ReceiptSummary> -
findErrorRule(
ErrorKind kind, {String? code, ErrorOutcome? outcome}) → ErrorRule -
Die Regel fuer einen Fehler, in derselben Reihenfolge wie im Web: zuerst
eine Regel aus errorCodeRules mit passender Art und passendem
code, dann eine aus errorOutcomeRules mit passender Art und passendemoutcome, sonst die eine Regel der Art aus errorRules. -
formatEuro(
int cents) → String - Betrag fuer den Schirm: „2,50 €".
-
formatVatRate(
VatRate rate) → String - Beschriftung eines Steuersatzes, wie sie am Tresen gelesen wird.
-
fullReceiptIdFromNumber(
String cashregisterId, String number) → 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. -
groupByDay(
List< ReceiptSummary> receipts) → List<ReceiptDayGroup> - Nach Wiener Kalendertag gruppiert, neueste zuerst.
-
isCancellationErrorCode(
Object? value) → bool -
Stabile Fehlercodes von
cancelReceiptunter/v3– Zwilling vonCANCELLATION_ERROR_CODESin@kreiseck/kasseneck-api1.0, in derselben Reihenfolge (siehereceipt/codes.dart). Das Backend legt sie alscodeneben die Meldung; sie kommen alsKasseneckApiError.codean. Entscheide am Code, nie am Text. Formfehler anpaymentsselbst melden die Codes auspaymentErrorCodes.cancellation_outcome_unknownheisst: der Storno ist moeglicherweise gebucht; nie wiederholen, sondern das Original nachlesen. Istvalueein Code aus cancellationErrorCodes? Ein Anzeigetext ist keiner, ein alter deutscher oder grosser Code aus/v1auch nicht. -
isLegacyValue0x(
String field, Object? value) → bool -
Ist
valueein Wert der inneren Form 0.x für dieses Drahtfeld? -
isOutcomeUnknown(
Object? error) → bool -
Ist der Ausgang dieses Fehlers unklar? Dann den Aufruf nicht blind
wiederholen: Belege, Stornos und Zahlungen nachlesen; einen Aufruf mit
idempotencyKeynur mit demselben Schluessel erneut senden; ohne Schluessel erst nachlesen (siehe ErrorOutcome). Gilt fuer jede Fehlerart; nur KasseneckApiError und KasseneckHttpError koennen unklar sein. -
isPaymentErrorCode(
Object? value) → bool -
Die Codes, gleiche Reihenfolge wie
PAYMENT_ERROR_CODES. Istvalueein Code aus paymentErrorCodes? Exakt, wie unter/v3(klein); ein grosser Code aus/v1ist keiner. Ein Anzeigetext auch nicht. -
isPosError(
Object? error, [String? code]) → bool -
Kurzform für
catch (e) { if (isPosError(e, 'logo_too_large')) … }. -
isPosErrorCode(
Object? value) → bool -
isPrintJobFinished(
String status) → bool -
Endet die Abfrage bei diesem Stand?
printed,failed,expired,unknown. -
isReceiptEmailErrorCode(
Object? value) → bool -
Stabile Fehlercodes von
sendReceiptEmailunter/v3– Zwilling vonRECEIPT_EMAIL_ERROR_CODES(siehereceipt/codes.dart). Sie kommen alsKasseneckApiError.codean – entscheide am Code, nie am Text, der deutsche Satz darf sich jederzeit aendern. -
isReceiptErrorCode(
Object? value) → bool -
Ist
valueein Code aus receiptErrorCodes? -
isReceiptVisible(
ReceiptSummary receipt, RegisterScope scope, String ownUid) → bool - Sieht dieser Kassier den Beleg überhaupt?
-
isReturnDisposition(
Object? value) → bool -
Ist
valueeine Rueckgabe-Wahl aus returnDispositions? Der innere deutsche Wert (lager,defekt,entsorgt) ist keine. -
isUsableBrandColor(
PosColor color) → bool - Taugt diese Farbe als Betriebsfarbe?
-
labelText(
String key, [Map< String, Object> values = const {}]) → String - Die Beschriftung zum Schluessel, Platzhalter ersetzt; wirft wie messageText.
-
messageAppliesTo(
String key, PosSurface surface) → bool - Gilt der Satz auf dieser Seite?
-
messageOutcome(
Object? error) → ErrorOutcome? - Der Ausgang, nach dem der Satz gewaehlt wird:
-
messageText(
String key, [Map< String, Object> values = const {}]) → String -
Der Satz zum Schluessel, Platzhalter ersetzt. Fehlt ein Wert oder ist der
Schluessel unbekannt, wirft es: ein
{status}am Tresen waere schlimmer. -
migrateStoredReceiptJson(
Map< String, dynamic> stored) → Map<String, dynamic> -
Bringt einen Beleg in der gespeicherten Form von 9.x (
toJsonmit 0.x- Namen:uid,taxnr,logo_skala,testCashregister,testSignatur,kopfId, Layout mitregelwerk/ton; an Storno-Zeilen und incancellations[]rueckgabestattreturnDisposition, dazulagerStandortId, das wegfaellt) in die Form von/v3, die KasseneckReceipt.fromJson liest. Fuer lokale Ablagen, die das Update ueberleben muessen: gelesen wird migriert, verworfen wird nichts. Schon englische Schluessel bleiben, wie sie sind; ein englischer Schluessel gewinnt immer gegen seinen deutschen Vorgaenger.storedbleibt unberuehrt. -
modeFor(
PosTheme style) → KdMode - Welcher Modus des Design-Systems hinter einem Stil steht.
-
netCentsFromGross(
int grossCents, num rate) → int - Netto aus Brutto, in ganzen Cent.
-
offeredPaymentMethods(
PosBusinessSettings business) → List< KeckPaymentMethod> - Welche Zahlungsarten der Betrieb anbietet — nie keine (dann Bar).
-
operatorNames(
List< ReceiptSummary> receipts) → List<String> - Bediener-Namen in der Liste, für den Filter — sortiert, ohne Doppelte.
-
parseAmountCents(
String text) → int? -
Betrag aus dem Eingabefeld in ganzen Cent — oder
null. -
parseQuantityMilli(
String text, String? unit, {QuantityRule? rule}) → int? -
Eine eingetippte Menge in Tausendstel der Basiseinheit, ohne
Gleitkomma:
'12'→12000,'0,25'→250,'1.5'→1500. Zwilling vonparseQuantityMilliim JS-Paket; gemeinsame Prueffaelle instocktake-quantity-cases.jsondes Vertrags. -
paymentsError(
List< KeckPaymentInput> payments, {required bool cancellation}) → String? -
Was an der Zahlungsliste nicht stimmt --
null, wenn die Form passt. -
paymentsExpectedCents(
Object? error) → int? -
Der Zahlbetrag des Servers aus einem
payments_sum_mismatch(details.expectedCents), sonstnull. Das Paket wiederholt nie selbst mit diesem Betrag: eine Kartenzahlung ist schon belastet. Die Kasse entscheidet (Differenz nachkassieren oder erstatten) und schickt dann einen neuen Verkauf. Zwilling vonpaymentsExpectedCentsim npm-Paket. -
periodRange(
ReceiptPeriod period, [DateTime? now]) → ({String from, String to}) -
from/to(Wiener Wanduhr,YYYY-MM-DD) für den Zeitraum. -
posErrorCode(
Object? error) → String? -
Der Code eines geworfenen Fehlers, wenn er in posErrorCodes steht; sonst
null. -
posFieldErrors(
Object? error) → List< FieldError> -
Die Feldfehler einer
validation-Antwort (business.vatRates,device.shortcuts.cash); leer, wenn es keine sind. -
posSettingsChanges(
Map< String, dynamic> before, Map<String, dynamic> after) → Map<String, dynamic> -
Was sich zwischen zwei Ständen eines Teils (
toJsonvon Betrieb oder Gerät) geändert hat, als Nutzlast fürsaveBusinessbzw.saveDevice: nur geänderte Felder (der Server mischt; ein nicht geänderter, hier unbekannter Wert geht so nie verloren).vatRatesgeht bei einer Änderung als ganze Karte (Nachtrag §11.7.2),shortcutsebenfalls ganz, aber nur mit den Aktionen, die dieses Paket kennt: so sieht die Doppelbelegungsprüfung die ganze Belegung, und eine unbekannte Aktion bleibt am Server stehen.tipStepsgeht nur mit den geänderten Einträgen. Zwilling vonposSettingsChanges. -
posShortcutConflict(
Map< String, Object?> shortcuts) → ({String action, String heldBy, String key})? -
Die erste Doppelbelegung einer Tastenkarte oder
null. Geprüft wird die ganze Karte, so wie der Server sie nach dem Speichern hält. Zwilling vonposShortcutConflict. -
quantityDefaults(
PosArticle a) → QuantityDefaults - Wirksame Regel eines Artikels: die gespeicherte Angabe schlägt die Vorgabe der Einheit.
-
quantityRuleForUnit(
String? unit) → QuantityDefaults - Vorgabe je Einheit — was der Betrieb bei einem neuen Artikel bekommt und ändern darf.
-
quickAmounts(
int dueCents) → List< int> - Schnellwahl für „Gegeben": passend, der nächste runde Euro, dann Scheine.
-
rasterRowsBase64(
PrintLogo logo) → String -
Die Rasterzeilen eines Logos als Base64 (1 Bit je Punkt, links das höchste
Bit, Zeilen auf ganze Bytes aufgefüllt), Zwilling von
rasterRowsBase64. -
readableOn(
PosColor background, {PosColor light = const PosColor(0xFF, 0xFF, 0xFF), PosColor dark = const PosColor(0x0F, 0x17, 0x2A)}) → PosColor -
Die besser lesbare von zwei Farben auf
background. -
receiptEmailErrorMessage(
String? code) → String -
Der Satz zu einem
codedes Backends beim Senden eines Belegs per E-Mail. Einen unbekannten Code faengt der allgemeine Satz auf. -
receiptIsTest(
{required bool testCashregister, String? qr}) → bool - Beides zusammen — so entscheidet die Anzeige.
-
receiptItems(
Cart cart, int discount) → List< KasseneckItem> - Positionen für den Beleg: Korb plus Rabattzeilen (eine je Steuersatz).
-
receiptNumber(
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.
-
receiptTime(
String timestamp) → String -
Uhrzeit eines Belegs in Wiener Wanduhrzeit (
HH:MM). -
receiptTypeLabel(
ReceiptSummary receipt) → String - Lesbarer Name der Belegart — nie ein Rohwert.
-
remainingQuantities(
KasseneckReceipt receipt, {int? nowMs}) → List< int> - Restmenge je Position: Belegmenge minus alles, was storniert oder frisch reserviert ist; nie unter null.
-
searchTiles(
List< TileCategory> categories, String text) → List<PosArticle> - Suche über alle sichtbaren Kacheln (Name, ohne Groß/Klein, Teilwort).
-
signatureIsTest(
String? qr) → bool -
Trägt der Beleg eine Test-Signatur? Erkannt am ZDA-Kennzeichen
AT100. -
stockViewOf(
RegisterUserPerms? perms) → bool -
Darf der Benutzer Standorte und Mengen sehen? Wie im Backend (lager-core):
ohne Schluessel gilt
stockViewals erteilt, nur ein ausdruecklichesfalsesperrt; alle anderen Lager-Rechte gelten ohne Schluessel als verweigert. Ohne Rechte (permsnull) nichts. -
storedLayoutJson(
Object? stored) → Map< String, dynamic> ? -
Ein gespeichertes Zeilenmodell (
layout) in der Form von/v3, wie ReceiptLayout.fromJson es liest. Zwilling vonfromStoredLayoutim npm-Paket: nimmt die Form von 0.x bzw. 9.x (regelwerk, Bannerzeilen mittonbelegart/warnung) und die Form 1.0 (ruleset,tonereceipt_type/warning); ein unbekannter Ton geht woertlich durch. Die Schluessel werden an ihrer Stelle umbenannt, die Reihenfolge bleibt; traegt ein Objekt beide Namen, gewinnt der englische. -
textColorOn(
String hex) → String - Kontrastfarbe für Text auf voller Kachelfläche. Eine kaputte Farbe bekommt hellen Text statt eines Absturzes.
-
tileCategories(
List< ArticleGroup> groups, List<PosArticle> articles) → List<TileCategory> -
unknownPosSettingValues(
PosSettings settings) → List< String> -
Die Felder, deren Wert dieses Paket nicht kennt, als Pfade
(
business.theme,device.shortcuts.<aktion>). Die Oberfläche zeigt sie als „vom Server, hier nicht einstellbar"; sie bleiben erhalten, solange nur geänderte Felder geschrieben werden (posSettingsChanges). Zwilling vonunknownPosSettingValues. -
untangleShortcuts(
Map< String, Object?> mixed, Map<String, Object?> stored) → Map<String, Object?> -
Zwilling von
untangleShortcuts(Backend, npmstored): Aktionen ausstoredbehalten ihre Tasten; jede andere Aktion verliert eine Taste, die eine gespeicherte Aktion beansprucht, außer die beiden dürfen sie teilen (posShortcutSharedPairs). -
vatCentsFromGross(
int grossCents, num rate) → int - Enthaltene MwSt aus Brutto, in ganzen Cent — die Differenz zum Netto.
-
vatRateFor(
num rate) → VatRate? -
Der RKSV-Steuersatz zu einer Prozentzahl — oder
nullbei Unbekanntem. -
vatTotalCents(
Cart cart, {int discountCents = 0}) → int - Enthaltene MwSt des Warenkorbs — wie sie auf dem Beleg stehen wird.
-
vatTotalCentsOfItems(
List< KasseneckItem> items) → int - Enthaltene MwSt einer Belegpositionsliste — je Steuersatz gruppiert, dann einmal zerlegt. Fuer Aufrufer, die die Positionen schon haben (Storno, Nachdruck), und die gemeinsame Rechnung hinter vatTotalCents.
-
viennaDate(
DateTime instant) → String -
Der Wiener Kalendertag eines Zeitpunkts als
YYYY-MM-DD.
Typedefs
- CancellationItem = ({int index, int quantity})
- Eine Position, die storniert werden soll.
Exceptions / Errors
- KasseneckReceiptFormatError
- Ein Beleg kam an, liess sich aber nicht lesen — ein Pflichtfeld fehlt oder hat den falschen Typ.