RegisterReceiptClient class
Methods
-
articleGroups()
→ Future<List<ArticleGroup>>
-
Artikelgruppen (Kategorien der Kachel-Kasse).
-
articles()
→ Future<List<PosArticle>>
-
Artikel in der Form, die die Kacheln brauchen.
-
cancelReceipt({required String originalReceiptId, required String reason, List<CancellationItem>? items, String? returnDisposition, Map<int, String>? itemReturnDispositions, String? note, List<KeckPaymentInput>? payments, KasseneckReceipt? original, String? drawerId, bool? refundTip, String? tipRefundSource})
→ Future<CancelReceiptResult>
-
Storno-Beleg zu einem bestehenden Beleg — voll oder in Teilen.
-
cashregisters()
→ Future<List<CashregisterEntry>>
-
Die Kassen, die dem angemeldeten Benutzer offenstehen
(
listMyCashregisters); für einen Kassen-Benutzer genau die ihm
zugewiesenen.
-
checkVoucher(String code)
→ Future<VoucherCheck>
-
Gutschein am Code pruefen (
checkVoucher, Recht voucherRedeem); siehe
die gleichnamige Funktion. Der Code geht nur in Normalform hinaus und
steht in keinem Fehlertext.
-
closeMyShift({required String idempotencyKey, required String shiftId, required int countedCents, Map<String, int>? denominations, int? attempt, List<TipPayout>? tipPayouts, AfterCount? afterCount, bool checkOnly = false})
→ Future<ShiftCloseResult>
-
Schicht schliessen (
closeMyShift, Recht shift). ShiftCloseResult.recount
heisst: bitte noch einmal zaehlen und erneut senden (kein Fehler); nach dem
zweiten Zaehlen schliesst der Server, bei grosser Abweichung nur mit
comment (comment_required). attempt wird angenommen, wirkt aber nicht:
den Versuch zaehlt der Server (hoechstens zwei). tipPayouts: hoechstens
der offene Anspruch (DrawerState.tipClaims). afterCount: nach dem
Zaehlen Geld entnehmen (cash_drop) oder einlegen (change_in),
Betrag positiv; entnehmen hoechstens den gezaehlten Betrag
(cash_movement_exceeds_balance), ein Betrag ueber 0 braucht das Recht
cashMove (after_count_not_permitted). Gebucht wird nur beim
tatsaechlichen Schliessen; die Antwort traegt dann
ShiftCloseResult.afterCountReceipt („Bon fürs Kuvert“). Die Art prueft
der Server. checkOnly: nur pruefen, nicht schliessen – dieselbe Pruefung
wie beim Schliessen, damit die Kasse vor „Geld entnehmen“ weiss, ob
nachgezaehlt (recount) oder begruendet (comment_required) werden muss;
ShiftCloseResult.ready, wenn das Schliessen mit diesem Betrag ginge.
Gebucht wird nichts (auch kein afterCount). Die Zaehlung zaehlt als einer
der zwei Versuche; schliesst danach derselbe Betrag, gilt er als dieselbe
Zaehlung. Nur true geht hinaus.
-
createDepExport({String? from, String? to, String? requestId})
→ Future<DepExport>
-
Legt einen DEP-Export fuer die Kassennachschau an (
createDepExport,
§ 19 Abs 2 RKSV), optional fuer from bis to (Wiener Tage
YYYY-MM-DD, beide einschliesslich). Antwortet sofort mit
status: running; weiter mit waitForDepExport.
-
createDepHandoverLink(String exportId)
→ Future<DepHandoverLink>
-
Ein Pruefer-Link fuer einen fertigen Export (
createDepHandoverLink):
Adresse (QR-Code) und 6-stelliger Code, 14 Tage gueltig. Beides steht
nur in dieser Antwort und gehoert in kein Protokoll.
-
fullReceiptId(String receiptId)
→ Future<String>
-
Verschlüsselte Volltext-Belegnummer (
generateFullReceiptId): der
Bezeichner, unter dem der Beleg öffentlich abrufbar ist.
-
get(String receiptId)
→ Future<KasseneckReceipt>
-
Einen Beleg vollstaendig holen — samt Belegkopf, fuer Nachdruck und Storno.
-
getDepExport(String exportId)
→ Future<DepExport>
-
Der Stand eines Exports dieser Kasse (
getDepExport) mit Befund,
Positionsdatei und Pruefer-Links (ohne Adresse und Code).
-
getDepExportFile(String exportId, String file, {Duration downloadTimeout = const Duration(minutes: 10), String? sha256})
→ Future<DepExportFile>
-
Eine Datei eines fertigen Exports:
file ist dep (JSON), protocol
(PDF), items (CSV) oder zip.
-
getMyDrawerState({String? drawerId, String? cashregisterId})
→ Future<DrawerState>
-
Stand der Lade (
getMyDrawerState): Rechte, offene Schicht,
Trinkgeld-Ansprueche und (mit cashView) Soll und letzte Oeffnungen.
Ohne drawerId gilt die Hauptlade der Kasse (cashregisterId, sonst die
Kasse der Anmeldung); ein leeres drawerId gilt wie keines.
-
getMyShiftReport({required String shiftId})
→ Future<ShiftReport>
-
Bericht der Schicht (
getMyShiftReport): Schicht, Bewegungen und
Bon-Daten (X-Bon, bei geschlossener Schicht der Z-Bon).
-
list({String? from, String? to, int? limit})
→ Future<List<ReceiptSummary>>
-
Belege dieser Kasse — Zusammenfassungen, neueste zuerst (Serverordnung).
-
listMyStocktakeCounts({required String stocktakeId, String? articleId, bool? ownOnly, int? limit, String? cursor})
→ Future<StocktakeCountPage>
-
Zaehlungen einer Inventur (
listMyStocktakeCounts), neueste zuerst;
ownOnly nur die eigenen.
-
listMyStocktakeItems({required String stocktakeId, bool? openOnly, int? limit, String? cursor})
→ Future<StocktakeItemPage>
-
Positionen einer Inventur (
listMyStocktakeItems); openOnly nur
ungezaehlte (in der Pruefung: die zum Nachzaehlen). Ab der Pruefung mit
Soll nur mit dem Recht stocktakeClose.
-
listMyStocktakes({String? locationId, String? status})
→ Future<List<Stocktake>>
-
Offene Inventuren (
listMyStocktakes); fuer Kassen-Benutzer nur
counting und review mit offenem Nachzaehlen. Ein leerer locationId
gilt wie keiner; status aus stocktakeStatuses.
-
logMyDrawerOpenings({required String drawerId, required List<DrawerOpeningEntry> entries})
→ Future<DrawerOpeningsResult>
-
Oeffnungen der Lade melden (
logMyDrawerOpenings), auch nachgesendete;
doppelt gemeldete zaehlen einmal. 1 bis 50 entries, jeder mit eigenem
Schluessel.
-
logReceiptOutputs({required List<ReceiptOutputEntry> entries})
→ Future<LogReceiptOutputsResult>
-
Drucke und das Teilen eines Belegs an das Protokoll „Ausgaben“ melden
(
logReceiptOutputs, nur ueber den Kassenweg). Registrierkassen-Erlass
BMF-AV Nr. 2/2026, Abschnitt 4.2: die Belegerteilung ist zu
dokumentieren. Der Beleg selbst bleibt unberuehrt; das Protokoll steht
nie im DEP. Die Kasse steht im Transport (wie bei sendReceiptEmail).
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
openMyShift({required String idempotencyKey, required String drawerId, int? openingFloatCents, Map<String, int>? denominations, bool? takeOver})
→ Future<OpenShiftResult>
-
Schicht oeffnen (
openMyShift, Recht shift): gezaehltes Startgeld
(openingFloatCents, 0 erlaubt, mit denominations dazu) oder den
Bestand der Vorschicht ungezaehlt uebernehmen (takeOver). Die Summe der
Stueckelung prueft sumDenominations.
-
recordMyCashMovement({required String idempotencyKey, required String drawerId, required String type, required int amountCents, String? location, String? note, String? recipientId, String? targetDrawerId})
→ Future<CashMovementResult>
-
Ein- oder Auszahlung buchen (
recordMyCashMovement, Recht cashMove);
die Antwort traegt die Bon-Daten „Kassenbewegung“. type aus
manualMovementTypes; amountCents positiv, das Vorzeichen setzt der
Server nach der Art. Pflichtangaben je Art: note bei other_in und
other_out (hoechstens 200 Zeichen), recipientId bei tip_payout,
targetDrawerId bei transfer_out. location bei change_in und
cash_drop ist freiwillig (aus cashLocations).
-
recordMyStocktakeCount({required String idempotencyKey, required String stocktakeId, required String articleId, required int quantity, String? condition, List<String>? serialNumbers, String? note, String? cashregisterId})
→ Future<StocktakeCountResult>
-
Eine Zaehlung (
recordMyStocktakeCount). Antwort: die Zaehlung und die
Position danach (Ist-Summe, kein Soll).
-
reprintVoucherLabel(String id)
→ Future<String>
-
Etikett noch einmal drucken (
reprintVoucherLabel, Recht
voucherManage): liefert den Klartext-Code nur fuer den Druck.
-
revokeDepHandoverLink(String linkId)
→ Future<DepHandoverRevocation>
-
Widerruft einen Pruefer-Link (
revokeDepHandoverLink); ein schon
widerrufener ist kein Fehler, einer einer anderen Kasse link_not_found.
-
sell({required List<KasseneckItem> items, required List<KeckPaymentInput> payments, int? tipCents, bool tipKeptByEmployee = false, List<String>? customerLines, List<String>? legalNotices, String? drawerId, List<KeckVoucher>? vouchers, ManualReceipt? manualReceipt, String? idempotencyKey})
→ Future<KasseneckReceipt>
-
Normalbeleg (Verkauf): der signierte Beleg samt Belegkopf.
-
sendReceiptEmail({required String fullReceiptId, required String to, String? language})
→ Future<SendReceiptEmailResult>
-
Einen bereits ausgestellten Beleg als Link auf die oeffentliche
Belegseite an
to schicken (sendReceiptEmail).
-
setStockLocation({required String? stockLocationId, String? cashregisterId})
→ Future<CashregisterStockLocation>
-
Standort der Kasse setzen (
setMyCashregisterStockLocation) – von dort
bucht der Server Verkauf und Storno ab. Recht stockLocation.
-
stock({String? locationId, String? articleId, bool? belowMinimum})
→ Future<StockList>
-
Bestand je Artikel und Standort (
listMyStock), Mengen in Tausendstel
der Basiseinheit. Recht stockView; StockList.values nur mit
stockCosts, sonst null.
-
stockLocations()
→ Future<List<StockLocation>>
-
Standorte des Betriebs (
listMyStockLocations), samt aufgeloester
(active: false) und dem Hauptstandort. Recht stockView.
-
tipRecipients()
→ Future<List<KeckTipPerson>>
-
Personen, denen sich Trinkgeld zuweisen laesst. Dieselbe Menge, die der
Verkauf akzeptiert; ohne das Recht
tipAssign steht nur der Angemeldete
darin.
-
toString()
→ String
-
A string representation of this object.
inherited
-
voidMyStocktakeCount({required String idempotencyKey, required String stocktakeId, required String countId, required String reason})
→ Future<StocktakeCountResult>
-
Storniert eine Zaehlung mit Grund (
voidMyStocktakeCount; fremde nur
mit dem Recht stocktakeClose).
-
waitForDepExport(String exportId, {Duration timeout = const Duration(minutes: 10)})
→ Future<DepExport>
-
Wartet, bis der Export fertig ist (getDepExport): sofort, dann nach
2 s und mit je 1,5-fachem Abstand, hoechstens alle 15 s.
failed wirft
DepExportFailedException, nach timeout DepExportTimeoutException
(der Export laeuft weiter, getDepExport fragt spaeter). Ein Fehler der
Abfrage, auch ein Netzfehler, beendet das Warten unveraendert.