invoice library
Rechnungen (§ 11 UStG, keine Belege) und Kunden über die Rechnungs-API —
Zwilling von @kreiseck/kasseneck-api/rechnung im JS-Paket.
Der Schlüssel ist der api_key des Kontos, ohne Kassen-Token. Live
braucht das Konto die Freigabe durch Kasseneck; vor dem ersten Ausstellen
InvoiceApi.getInvoiceSetupStatus aufrufen.
Classes
- Brand
-
Eine Marke des Kontos (Logo, Farbe, Absender);
idgeht alsbrandIdinissueInvoice. - CancelResult
- CreditNoteItemInput
- Eine Gutschriftsposition: wie InvoiceItemInput, dazu die Rückgabe-Wahl.
- CreditNoteRequest
- CreditNoteResult
- CreditNoteSummary
- Customer
- CustomerInput
- CustomerPage
- EInvoiceStatus
- Wie weit eine Rechnung als E-Rechnung (EN 16931) taugt.
- Invoice
-
Eine Rechnung oder Gutschrift. Die Felder unter „Detail" liefert nur
getInvoice; in Listen und Ausstell-Antworten sind sienull. - InvoiceApi
- InvoiceDetailPayment
-
Eine gebuchte Zahlung in der Detailsicht (
getInvoice). Das Datum heißt hierdate, inrecordInvoicePaymentpaidAt. Altbestand kann ohne Kennung, Datum und Zahlart sein; der Betrag ist immer da. - InvoiceItem
- Eine gespeicherte Position: wie gesendet, fehlende Angaben mit ihrem Standardwert.
- InvoiceItemInput
- InvoiceNotice
-
Ein Hinweis an einer erfolgreichen Antwort — kein Fehler, nur etwas, das der
Aufrufer wissen sollte. Die Codes stehen in
invoiceNoticeCodes. - InvoicePage
- InvoicePayment
- Eine gebuchte Zahlung, wie die API sie zurückgibt.
- InvoicePreview
-
Was
issueInvoicemit dieser Anfrage ausstellen würde — ohne Nummer, ohne Dokument, ohne Zahlung (previewInvoice). - InvoiceRecipient
- Der Empfänger, wie er auf der Rechnung steht (beim Ausstellen eingefroren, nicht der heutige Kundenstamm).
- InvoiceSetupGap
- InvoiceSetupStatus
- InvoiceTotals
-
Summen einer Rechnung in Cent, immer positiv — auch bei einer
Gutschrift (
docType: 'credit_note'); das Vorzeichen steht im Belegtyp, nicht im Betrag. Gerechnet wird je Satz wie incomputeInvoiceTotals. - InvoiceTransport
- InvoiceVatIdProof
- UID-Nachweis an einer Rechnung: gueltige Pruefung der Kunden-UID, hoechstens 30 Tage vor dem Festschreiben.
- InvoiceVatIdRisk
- Ausgestellt ohne Ergebnis der UID-Pruefung; das Risiko traegt der Aussteller.
- InvoiceXml
-
Die E-Rechnung aus
getInvoiceXml, wie der Server sie sendet. - IssueInvoiceItemInput
-
Eine Position beim Ausstellen (
issueInvoice): wie InvoiceItemInput, dazu optional die Reservierung aus der Lager-API, die diese Position einloest. - IssueInvoiceRequest
- IssueResult
- PaymentInput
- Eine Zahlung, wie das Fremdsystem sie meldet.
- PreviewResult
-
Ergebnis von
previewInvoice. - RecordPaymentRequest
- Eine Zahlung nachtragen. Der Schlüssel ist Pflicht: ohne ihn bucht eine Wiederholung nach einem Zeitlimit ein zweites Mal.
- RecordPaymentResult
-
Ergebnis von
recordInvoicePayment. - TotalsItem
-
Was für die Summe einer Rechnung zählt (
computeInvoiceTotals) – InvoiceItemInput erfüllt es unverändert. - VatRateTotal
- Summen eines USt-Satzes.
Enums
- 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. - ReturnDisposition
-
Rueckgabe-Wahl als Typ; der Name ist der Wert am Draht
(
ReturnDisposition.defective.name='defective').
Constants
-
clientErrorCodes
→ const Set<
String> -
Codes, die das Paket selbst vergibt, nicht der Server:
route_missing(HTML statt Backend, der Aufruf kam nie an) undresponse_unreadable(ein signierender Aufruf meldete Erfolg, die Antwort ist aber unlesbar).dialect_mismatchvergibt das Paket ebenfalls, der Code gehoert aber zum Rand des Servers. -
creditNoteReasons
→ const List<
String> - Gründe einer Gutschrift; der Server druckt den deutschen Text.
-
customerTypes
→ const List<
String> -
docTypes
→ const List<
String> -
Rechnung oder Gutschrift (bis 9.x
RE/GU). -
einvoiceFormats
→ const List<
String> -
einvoiceMissingCodes
→ const List<
String> -
Was einer Rechnung zur vollständigen E-Rechnung fehlt (
einvoice.missing, auch indetails.missingvoninvoice_requirements_missing). -
invoiceCalls
→ const List<
String> - Die Aufrufe der Rechnungs-API, in der Reihenfolge des Vertrags.
-
invoiceErrorCodes
→ const List<
String> - Stabile Fehlercodes — am Code entscheiden, nie am Text.
-
invoiceLanguages
→ const List<
String> -
Sprachen einer Rechnung. Eine Rechnung hat eine Nummer und eine Sprache,
beim Ausstellen eingefroren; Behörden bekommen immer
de. -
invoiceListStatus
→ const List<
String> -
invoiceNoticeCodes
→ const List<
String> - Hinweise an einer erfolgreichen Antwort — keine Fehler.
-
invoicePaymentMethods
→ const List<
String> -
Wie eine Rechnung bezahlt wurde.
cashwird gebucht, die Antwort trägt dann zusätzlich den Hinweiscash_receipt_required: eine Barzahlung ist ein Barumsatz und braucht einen Beleg (§ 132a BAO). -
invoiceRequestErrorCodes
→ const List<
String> -
Fehlercodes, die nicht die Rechnung, sondern die Anfrage betreffen:
Anmeldung, Freischaltung, Rand (
dialect_mismatch,internal_translation_error,response_translation_failed) und eine fehlende Route. Sie gehören nicht zu invoiceErrorCodes, darum liefertinvoiceErrorCodefür sienull. -
invoiceSetupRequirements
→ const List<
String> -
Was vor dem Ausstellen erfüllt sein muss — in dieser Reihenfolge meldet
getInvoiceSetupStatusdie Lücken. -
invoiceUnits
→ const List<
String> - Einheiten einer Position. Der Aufdruck folgt der Sprache der Rechnung (Stk / pcs), in der E-Rechnung steht der Code aus UN/ECE Rec 20/21.
-
itemKinds
→ const List<
String> -
Ware oder Leistung — ohne das lässt sich ig. Lieferung nicht von Reverse
Charge trennen. Ohne Angabe gilt
goods. - kInvoiceBaseUrl → const String
- Standardadresse der Rechnungs-API (die oeffentliche Basis).
- kPosBaseUrl → const String
-
Basis des Kassenwegs (Kanal
app). Die Web-Kasse ruft denselben Weg im gleichen Ursprung als/api/v3. - kPublicBaseUrl → const String
- Basis der oeffentlichen API.
-
priceModes
→ const List<
String> -
returnDispositions
→ const List<
String> - Die Werte der Rueckgabe-Wahl, englisch wie am Draht, in der Reihenfolge des Vertrags.
-
reverseChargeReasons
→ const List<
String> -
Gründe für den Übergang der Steuerschuld im Inland (§ 19 UStG samt
Verordnungen). Ohne Grund gibt es kein
domesticReverseCharge. -
taxSchemes
→ const List<
String> -
Der Steuerfall einer Rechnung. Er wird vom Server abgeleitet (Kundenland,
Kundenart, UID, Ware oder Leistung); eine mitgeschickte Angabe muss dazu
passen, sonst
tax_scheme_mismatch. Neue Fälle stehen hinten. -
vatRates
→ const List<
int> -
writeOffReasonCodes
→ const List<
String> -
Warum eine Rechnung abgeschrieben wurde (
writeOffReasonCode). -
zeroRatedTaxSchemes
→ const List<
String> -
Steuerfälle, in denen die Rechnung keine Steuer ausweist: jede Position
zählt zu 0 %, gleich welcher
vatRatean ihr steht (computeInvoiceTotals).ossgehört nicht dazu — dort wird Steuer ausgewiesen, nur nicht österreichische.
Functions
-
computeInvoiceTotals(
Iterable< TotalsItem> items, String priceMode, [String taxScheme = 'normal']) → InvoiceTotals -
Netto, USt und Brutto einer Rechnung in Cent, je Satz absteigend — dieselbe
Form wie
invoice.totalsin den Antworten. -
invoiceErrorCode(
Object? error) → String? -
Der Fehlercode eines geworfenen Fehlers —
null, wenn es keiner der Rechnungs-API ist. -
invoiceFieldErrors(
Object? error) → List< ({String field, String message})> -
Die Feldfehler einer
validation-Antwort; leer, wenn es keine sind. -
isInvoiceErrorCode(
String? code) → bool -
Gehört
codezum Katalog der Rechnungs-API? -
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. -
isReturnDisposition(
Object? value) → bool -
Ist
valueeine Rueckgabe-Wahl aus returnDispositions? Der innere deutsche Wert (lager,defekt,entsorgt) ist keine.
Exceptions / Errors
- KasseneckApiError
- Fachlicher Fehler des Backends (PIN falsch, Kasse belegt, Geraet gesperrt …).
- KasseneckHttpError
-
Die Antwort war keine brauchbare Huelle
{status, data}oder der HTTP-Weg scheiterte. Traegt bewusst nichts aus dem Rumpf: dort koennten Werte stehen, die wir gerade nicht ins Protokoll lassen wollen. - KasseneckValidationError
- Der Aufrufer hat etwas nicht mitgegeben, oder die Antwort trug nicht, was der Aufruf zusagt. Die Meldung nennt immer nur das Feld, nie seinen Wert — sonst stuende ein Geraetegeheimnis im Protokoll.