Zum Inhalt springen
Developer

Kassenbuch

Buchhaltung6 EndpunkteBilling / Kassenbuch

Die Bewegungen der Kasse.

GET/api/invoice/cash_transaction

Query-Parameter

idinteger
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE | Standardwert: false
namestring
cashRegisterstringDie Kasse, zu der diese Bewegung gehört. Pflichtangabe: eine Kassenbewegung ohne Kasse hätte keinen Bestand, an dem sie sich fortschreiben könnte. | Erfordert Zugriffs-Tag: SCOPE
sequenceNumberintegerFortlaufende Nummer im Kassenbuch der jeweiligen Kasse, lückenlos ab 1. Die Lückenlosigkeit ist der Grund für die Nummer: fehlt eine, ist eine Bewegung entfernt worden. Sie wird deshalb von `CashBookService` vergeben und nicht vom Aufrufer gesetzt. | Benötigt Zugriffsrecht: SCOPE
transactionDatestringTag der Bewegung. | Benötigtes Zugriffsrecht: SCOPE
typestring
grossAmountnumberDer Betrag, der tatsächlich die Kasse wechselt - immer brutto und immer positiv. Die Richtung steckt in `type`, nicht im Vorzeichen. Ein Vorzeichen zusätzlich zur Richtung wäre eine zweite Wahrheit über dieselbe Sache; bei einer Ausgabe von -50 mit type=expense wüsste niemand, ob das nun eine Einnahme ist. | Erfordert Zugriffs-Tag: SCOPE
taxRatenumberSteuersatz in Prozent, wie er auf dem Beleg steht.
taxAmountnumberDer Steueranteil des Bruttobetrags, aus Satz und Betrag gerechnet. | Erfordert Zugriffs-Tag: SCOPE
balanceAfternumberBestand der Kasse nach dieser Bewegung.
documentNumberstringBelegnummer – die Nummer des Kassenbelegs, nicht die laufende Nummer.
expenseCategorystringDie EÜR-Kategorie - dieselbe Brücke wie am Sachkonto und am Anlagegut. | Erfordert Zugriffs-Tag: SCOPE
contraLedgerAccountstringDas Gegenkonto für die Bilanzierung - die Kasse selbst ist die andere Seite und steht im Kontenrahmen fest.
costCenterstringDie steuerliche Sphäre beim gemeinnützigen Verein. | Erfordert Zugriffs-Tag: SCOPE
incomingInvoicestringDie bar bezahlte Eingangsrechnung, falls es eine gibt. | Erfordert Zugriffs-Tag: SCOPE
invoicestringDie bar kassierte Ausgangsrechnung, falls es eine gibt. | Erfordert Zugriffs-Tag: SCOPE
journalEntrystringDer Buchungssatz, sofern die Bewegung verbucht wurde. Nur bei Bilanzierung gesetzt. Bei der EÜR bleibt er leer, weil es dort keine Buchungssätze gibt - die Bewegung zählt trotzdem. | Erfordert Zugriffs-Tag: SCOPE
reversalOfstringDie Bewegung, die diese hier storniert. Ein echter Verweis und nicht der Buchungstext: der Text ist frei editierbar, und eine Stornoprüfung, die auf "Storno zu Nr. 4" sucht, ließe sich durch Umbenennen aushebeln - und träfe nebenbei auch "Storno zu Nr. 41". | Erfordert Zugriffs-Tag: SCOPE
lockedbooleanFestgeschrieben - die Bewegung ist unveränderlich (GoBD). Korrigiert wird wie im Journal über eine Gegenbewegung, nicht durch Ändern der ursprünglichen Zeile. | Benötigt Zugriffsrecht: SCOPE
createdstring
updatedstring
searchStringstringText, nach dem in der Liste gesucht wird
orderFieldNamestringName des Bestellfelds
orderFieldSortstringSortiermodusErlaubt: DESCASC
pageintegerSeite der Liste
pageSizeintegerAnzahl der Einträge je Seite
withMaxPageNumberstringgibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist

Antworten

200Kassenbewegungenarray<CashTransaction>

Felder anzeigen (22)
  • idinteger

    Primärschlüssel der Kassenbewegung. Interne ID.

  • cash_registerCashRegister

    Die Kasse, zu der diese Bewegung gehört. Pflichtangabe: eine Kassenbewegung ohne Kasse hätte keinen Bestand, an dem sie sich fortschreiben könnte.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel der Kasse. Interne ID.

    • codestring

      Kurzzeichen für die Belegnummer, etwa "VH" für Vereinsheim.

    • ledger_accountLedgerAccount

      Das Bestandskonto dieser Kasse für die Bilanzierung. Je Kasse ein eigenes Konto, sonst stünden in der Bilanz beide Bestände auf einer Zeile und ließen sich nicht mehr trennen.

    • cost_centerCostCenter

      Die steuerliche Sphäre beim gemeinnützigen Verein. Eine Kasse gehört meist zu einem Bereich - die Kasse am Getränkestand zum wirtschaftlichen Geschäftsbetrieb, die Kasse der Geschäftsstelle zum ideellen Bereich.

    • is_activeboolean

      Stillgelegte Kassen nehmen keine Buchungen mehr an, bleiben aber mit ihrem Buch bestehen - die Aufzeichnungen sind aufzubewahren.

    • locked_throughstring (date-time)

      Bis zu welchem Tag das Kassenbuch abgeschlossen ist. Der Kassenabschluss schiebt dieses Datum vor. Bis hierhin nimmt die Kasse keine Bewegung mehr an - auch nicht am selben Tag: die Chronologieprüfung allein ließ nach dem Monatsabschluss noch eine Bewegung mit dem letzten Tag des Monats zu, und der abgeschlossene Monat wäre hinterher ein anderer gewesen als der abgeschlossene.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • sequence_numberinteger

    Fortlaufende Nummer im Kassenbuch der jeweiligen Kasse, lückenlos ab 1. Die Lückenlosigkeit ist der Grund für die Nummer: fehlt eine, ist eine Bewegung entfernt worden. Sie wird deshalb von `CashBookService` vergeben und nicht vom Aufrufer gesetzt.

  • transaction_datestring (date-time)

    Tag der Bewegung.

  • typestring

    Art der Kassenbuchung, zum Beispiel Einnahme oder Ausgabe.

  • gross_amountnumber (float)

    Der Betrag, der tatsächlich die Kasse wechselt - immer brutto und immer positiv. Die Richtung steckt in `type`, nicht im Vorzeichen. Ein Vorzeichen zusätzlich zur Richtung wäre eine zweite Wahrheit über dieselbe Sache; bei einer Ausgabe von -50 mit type=expense wüsste niemand, ob das nun eine Einnahme ist.

  • tax_ratenumber (float)

    Steuersatz in Prozent, wie er auf dem Beleg steht.

  • tax_amountnumber (float)

    Der Steueranteil des Bruttobetrags, aus Satz und Betrag gerechnet.

  • balance_afternumber (float)

    Bestand der Kasse nach dieser Bewegung.

  • document_numberstring

    Belegnummer – die Nummer des Kassenbelegs, nicht die laufende Nummer.

  • expense_categoryExpenseCategory10

    Die EÜR-Kategorie - dieselbe Brücke wie am Sachkonto und am Anlagegut.

    Felder anzeigen (19)
    • idinteger

      Primärschlüssel der Ausgabenkategorie. Interne ID.

    • codestring

      Kurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")

    • eur_line_numberinteger

      Zeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)

    • eur_line_namestring

      Bezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)

    • category_typestring

      Typ der Kategorie (expense, income, neutral, asset, private)

    • default_taxTax

      Standard-Steuersatz für diese Kategorie

    • cost_centerCostCenter

      Kostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).

    • is_vat_deductibleboolean

      Ist Vorsteuerabzug möglich?

    • is_immediate_deductionboolean

      Ist die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)

    • depreciation_yearsinteger

      Abschreibungsdauer in Jahren (für Anlagevermögen)

    • sort_orderinteger

      Sortierreihenfolge

    • is_activeboolean

      Ist die Kategorie aktiv/sichtbar?

    • colorstring

      Farbe für UI-Darstellung (Hex-Code)

    • iconstring

      Icon-Name für UI-Darstellung

    • is_systemboolean

      Ist dies eine System-Kategorie? (nicht löschbar)

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • contra_ledger_accountLedgerAccount

    Das Gegenkonto für die Bilanzierung - die Kasse selbst ist die andere Seite und steht im Kontenrahmen fest.

    Felder anzeigen (15)
    • display_namestring
    • idinteger

      Primärschlüssel des Hauptbuchkontos. Interne ID.

    • numberstring

      Kontonummer im Kontenrahmen, z.B. "1200" (SKR03 Bank) oder "40000" (SKR42). Als String geführt, weil SKR42 fünfstellig ist und führende Nullen bedeutungstragend sein können.

    • chart_of_accountsstring

      Kontenrahmen, zu dem das Konto gehört, zum Beispiel SKR03.

    • account_typestring

      Art des Kontos, zum Beispiel Aktiv oder Erlös.

    • default_taxTax

      Steuersatz, der beim Buchen auf dieses Konto vorgeschlagen wird. Bei Erlös- und Aufwandskonten ist der Satz durch die Kontonummer vorgegeben (etwa „Erlöse 19% USt“), deshalb hängt er am Konto und nicht an der einzelnen Buchung.

    • tax_accountLedgerAccount

      Gegenkonto für die Steuer, die beim Buchen auf dieses Konto entsteht. Bei Erlöskonten das Umsatzsteuerkonto, bei Aufwandskonten das Vorsteuerkonto. Damit lässt sich aus einem Bruttobetrag automatisch der dreizeilige Buchungssatz erzeugen.

    • expense_categoryExpenseCategory10

      Brücke zur EÜR: auf welcher Zeile der Anlage EÜR dieses Konto zählt. Erlaubt es, beide Gewinnermittlungsarten aus denselben Belegen zu bedienen - etwa im Wechseljahr oder wenn ein Verein den wirtschaftlichen Geschäftsbetrieb per EÜR und den Rest bilanziell führt.

    • cost_center_requiredboolean

      Ob auf diesem Konto eine Kostenstelle angegeben werden muss. Der SKR42 bildet die vier steuerlichen Sphären eines gemeinnützigen Vereins über Kostenstellen ab, nicht über getrennte Konten. Für die Erfolgskonten ist die Angabe dort deshalb Pflicht.

    • is_systemboolean

      Vom Kontenrahmen-Initialisierer angelegt. Nummer und Art sind dann durch den Rahmen vorgegeben und sollten nicht geändert werden.

    • is_activeboolean

      Konten lassen sich stilllegen, statt sie zu löschen - bebuchte Konten dürfen nicht verschwinden.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • cost_centerCostCenter

    Die steuerliche Sphäre beim gemeinnützigen Verein.

    Felder anzeigen (10)
    • display_namestring
    • idinteger

      Primärschlüssel der Kostenstelle. Interne ID.

    • numberstring

      Nummer der Kostenstelle.

    • spherestring

      Steuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.

    • is_systemboolean

      Die Kostenstelle wird vom System angelegt und kann nicht gelöscht werden.

    • is_activeboolean

      Die Kostenstelle ist aktiv.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • incoming_invoiceIncomingInvoice3

    Die bar bezahlte Eingangsrechnung, falls es eine gibt.

    Felder anzeigen (43)
    • idinteger

      Primärschlüssel des Rechnungsdokuments. Interne ID.

    • tokenstring

      Token, das das Dokument für den öffentlichen Zugriff identifiziert.

    • numberinteger

      Laufende Belegnummer.

    • manual_number_prefixstring

      Präfix einer manuell eingegebenen Dokumentnummer.

    • manual_numberinteger

      Manuell eingegebene Dokumentnummer.

    • number_stringstring

      Belegnummer, wie sie den Benutzern angezeigt wird.

    • generation_datestring (date-time)

      Datum, an dem das Dokument erstellt wurde.

    • number_datestring (date-time)

      Datum, das für die Belegnummer verwendet wird.

    • messagestring

      Auf dem Dokument gedruckte Nachricht.

    • currencystring

      Währung des Dokuments.

    • namestring

      Name des Dokuments.

    • due_datestring (date-time)

      Fälligkeitsdatum des Dokuments.

    • netto_valuenumber (float)

      Nettosumme des Dokuments.

    • brutto_valuenumber (float)

      Bruttogesamtbetrag des Dokuments.

    • tax_valuenumber (float)

      Gesamter Steuerbetrag des Dokuments.

    • taxTaxPflicht

      Auf das Dokument angewendeter Steuersatz.

    • linked_number_titlestring

      Titel der verknüpften Dokumentnummer.

    • linked_numberstring

      Nummer des verknüpften Belegs.

    • statusstring

      Status des Dokuments.

    • previous_statusstring

      Status vor der letzten Änderung.

    • status_updatedstring (date-time)

      Zeitpunkt, zu dem der Status zuletzt geändert wurde.

    • archivedboolean

      Ob das Dokument archiviert ist.

    • last_pdf_exportstring (date-time)

      Zeitpunkt, zu dem das PDF zuletzt exportiert wurde.

    • last_status_exportstring

      Status beim letzten Export.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • external_invoice_numberstring

      Externe Rechnungsnummer des Lieferanten

    • received_datestring (date-time)

      Eingangsdatum (wann wurde die Rechnung empfangen)

    • payment_datestring (date-time)

      Zahlungsdatum

    • service_date_startstring (date-time)

      Leistungszeitraum Start

    • service_date_endstring (date-time)

      Leistungszeitraum Ende

    • vat_categorystring

      Der umsatzsteuerliche Sachverhalt. Auf der Eingangsseite entscheidet er darüber, ob die Vorsteuer unter Kennzahl 66 steht (Rechnung eines anderen Unternehmers), unter 61 (innergemeinschaftlicher Erwerb), unter 62 (Einfuhrumsatzsteuer) oder unter 67 (§ 13b UStG). Beim Erwerb und bei § 13b kommt eine zweite Zeile hinzu: Die Steuer schulden wir selbst, obwohl sie uns niemand berechnet hat, und sie steht deshalb zugleich als Umsatzsteuer im Vordruck. Wer nur eine der beiden bucht, zahlt zu viel oder zu wenig. Ohne Angabe gilt der Regelfall.

    • vat_self_assessed_ratenumber (float)

      Der Steuersatz, mit dem die selbst geschuldete Steuer zu rechnen ist. Beim innergemeinschaftlichen Erwerb und bei § 13b UStG berechnet der Lieferant keine Steuer – die Rechnung ist netto, und die Steuer schulden wir. Womit sie zu rechnen ist, steht deshalb auf keinem Beleg: es ist der Satz, der im Inland auf diese Leistung anzuwenden wäre. Ohne Angabe rechnet die Voranmeldung mit dem Regelsatz und sagt in den Hinweisen, bei wie vielen Belegen sie das getan hat. Stillschweigend zu raten wäre in einer Steueranmeldung das Falsche.

    • import_vat_amountstring

      Die Einfuhrumsatzsteuer aus dem Zollbescheid. Sie steht NICHT auf der Rechnung des Lieferanten - die ist bei einer Einfuhr ohne deutsche Steuer. Entrichtet wird sie an den Zoll, und nur der entrichtete Betrag ist als Vorsteuer abziehbar (§ 15 Abs. 1 Satz 1 Nr. 2 UStG, Kennzahl 62 der Voranmeldung). Den Steuerbetrag der Lieferantenrechnung dafür zu nehmen war schlicht der falsche Beleg.

    • paid_valuenumber (float)

      Bereits bezahlter Betrag (für Teilzahlungen)

    • sellerIncomingInvoiceSeller

      Verkäufer/Lieferant Informationen (Snapshot)

    • expense_categoryExpenseCategory10

      Hauptkategorie für EÜR

    • document_pathstring

      Pfad zur gespeicherten Rechnungsdatei (PDF/Bild)

    • document_filenamestring

      Original Dateiname

    • document_mime_typestring

      MIME-Typ des Dokuments

    • notesstring

      Notizen/Bemerkungen

    • is_deductibleboolean

      Ist die Rechnung für den Vorsteuerabzug relevant?

    • is_approvedboolean

      Wurde die Rechnung geprüft/freigegeben?

    • approved_atstring (date-time)

      Zeitpunkt, zu dem die Eingangsrechnung genehmigt wurde.

  • invoiceInvoice

    Die bar kassierte Ausgangsrechnung, falls es eine gibt.

    Felder anzeigen (38)
    • idinteger

      Primärschlüssel des Rechnungsdokuments. Interne ID.

    • tokenstring

      Token, das das Dokument für den öffentlichen Zugriff identifiziert.

    • numberinteger

      Laufende Belegnummer.

    • manual_number_prefixstring

      Präfix einer manuell eingegebenen Dokumentnummer.

    • manual_numberinteger

      Manuell eingegebene Dokumentnummer.

    • number_stringstring

      Belegnummer, wie sie den Benutzern angezeigt wird.

    • generation_datestring (date-time)

      Datum, an dem das Dokument erstellt wurde.

    • number_datestring (date-time)

      Datum, das für die Belegnummer verwendet wird.

    • messagestring

      Auf dem Dokument gedruckte Nachricht.

    • currencystring

      Währung des Dokuments.

    • namestring

      Name des Dokuments.

    • due_datestring (date-time)

      Fälligkeitsdatum des Dokuments.

    • netto_valuenumber (float)

      Nettosumme des Dokuments.

    • brutto_valuenumber (float)

      Bruttogesamtbetrag des Dokuments.

    • tax_valuenumber (float)

      Gesamter Steuerbetrag des Dokuments.

    • taxTaxPflicht

      Auf das Dokument angewendeter Steuersatz.

    • linked_number_titlestring

      Titel der verknüpften Dokumentnummer.

    • linked_numberstring

      Nummer des verknüpften Belegs.

    • statusstring

      Status des Dokuments.

    • previous_statusstring

      Status vor der letzten Änderung.

    • status_updatedstring (date-time)

      Zeitpunkt, zu dem der Status zuletzt geändert wurde.

    • archivedboolean

      Ob das Dokument archiviert ist.

    • last_pdf_exportstring (date-time)

      Zeitpunkt, zu dem das PDF zuletzt exportiert wurde.

    • last_status_exportstring

      Status beim letzten Export.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • accounting_typeAccountingTypePflicht

      Buchungsart der Rechnung.

    • payment_typePaymentType

      Zahlungsart der Rechnung.

    • payment_goalPaymentGoal

      Zahlungsbedingung der Rechnung.

    • expense_categoryExpenseCategory10

      EÜR-Kategorie für diese Rechnung (Einnahmen-Zuordnung) Wenn nicht gesetzt, wird die Default-Kategorie des AccountingTypes verwendet

    • buyerInvoiceBuyer

      Käufer der Rechnung.

    • payment_datestring (date-time)

      Datum, an dem die Rechnung bezahlt wurde.

    • vat_categorystring

      Der umsatzsteuerliche Sachverhalt. Der Steuersatz sagt nicht, in welche Zeile der Voranmeldung ein Umsatz gehört. Null Prozent stehen an einer innergemeinschaftlichen Lieferung (Kennzahl 41), an einer Ausfuhr (43), an einer Leistung nach § 13b UStG (60) und an einem steuerfreien Umsatz nach § 4 UStG (48) - vier verschiedene Zeilen, derselbe Steuersatz. Hier ist die einzige Stelle, an der jemand das weiß: beim Schreiben der Rechnung ist bekannt, ob der Kunde eine USt-IdNr. hat und wohin die Ware geht. Später ist es nicht mehr rekonstruierbar. Ohne Angabe der Regelfall - alles andere war bisher nicht erfassbar.

    • is_payment_date_from_ext_serviceboolean

      Das Zahlungsdatum stammt von einem externen Dienst.

    • direct_debit_exportedboolean

      Die Rechnung wurde für das Lastschriftverfahren exportiert.

    • cancel_datestring (date-time)

      Datum, an dem die Rechnung storniert wurde.

    • cancel_textstring

      Text der Stornierung.

    • start_datestring (date-time)

      Beginn des abgerechneten Zeitraums.

    • end_datestring (date-time)

      Ende des abgerechneten Zeitraums.

  • journal_entryJournalEntry

    Der Buchungssatz, sofern die Bewegung verbucht wurde. Nur bei Bilanzierung gesetzt. Bei der EÜR bleibt er leer, weil es dort keine Buchungssätze gibt - die Bewegung zählt trotzdem.

    Felder anzeigen (21)
    • debit_totalnumber (float)

      Summe der Sollbeträge.

    • credit_totalnumber (float)

      Summe der Habenbeträge.

    • is_balancedboolean

      Soll gleich Haben - die Grundregel der doppelten Buchführung.

    • idinteger

      Primärschlüssel des Buchungssatzes. Interne ID.

    • entry_numberstring

      Fortlaufende Buchungsnummer, beim Festschreiben vergeben. Erst dann, weil die GoBD eine lückenlose Nummerierung der festgeschriebenen Buchungen verlangt - eine verworfene Erfassung darf keine Lücke hinterlassen.

    • entry_datestring (date-time)

      Buchungsdatum - bestimmt, in welche Periode die Buchung fällt.

    • document_datestring (date-time)

      Belegdatum – das Datum auf dem Papier. Kann vom Buchungsdatum abweichen.

    • document_numberstring

      Belegnummer – die Brücke zwischen Buchung und Beleg. Ohne sie ist die Buchung nicht nachvollziehbar („keine Buchung ohne Beleg“).

    • fiscal_yearFiscalYear

      Geschäftsjahr, zu dem der Eintrag gehört.

    • periodinteger

      Buchungsperiode innerhalb des Geschäftsjahres. 1 bis 12 für die laufenden Monate, 13 für die Abschlussperiode. Die Zahl wird aus dem Buchungsdatum abgeleitet, sobald sie nicht ausdrücklich gesetzt ist – nur der Abschluss setzt sie selbst. Die Spalte heißt `accounting_period` und nicht `period`: MariaDB hält PERIOD seit der System-Versionierung (`PERIOD FOR SYSTEM_TIME`) als Schlüsselwort frei, und die Migration scheitert daran. Das Feld in PHP bleibt `period` – DQL und die JSON-Ausgabe ändern sich damit nicht.

    • statusstring

      Status des Eintrags, zum Beispiel Entwurf oder gebucht.

    • source_typestring

      Quelle des Eintrags, zum Beispiel Rechnung oder Zahlung.

    • source_idinteger

      Id des auslösenden Belegs, damit sich Buchung und Beleg gegenseitig finden - und damit derselbe Beleg nicht zweimal gebucht wird.

    • reversal_ofJournalEntry

      Die Buchung, die durch diese hier storniert wird.

    • posted_atstring (date-time)

      Zeitpunkt, zu dem der Eintrag veröffentlicht wurde.

    • posted_byUser14

      Benutzer, der den Eintrag gebucht hat.

    • linesarray<JournalEntryLine>

      Zeilen des Eintrags.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • reversal_ofCashTransaction

    Die Bewegung, die diese hier storniert. Ein echter Verweis und nicht der Buchungstext: der Text ist frei editierbar, und eine Stornoprüfung, die auf "Storno zu Nr. 4" sucht, ließe sich durch Umbenennen aushebeln - und träfe nebenbei auch "Storno zu Nr. 41".

  • lockedboolean

    Festgeschrieben - die Bewegung ist unveränderlich (GoBD). Korrigiert wird wie im Journal über eine Gegenbewegung, nicht durch Ändern der ursprünglichen Zeile.

  • deletedboolean

    Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

  • namestring

    Name der Einheit.

  • createdstring (date-time)

    Zeitpunkt, zu dem der Datensatz angelegt wurde.

  • updatedstring (date-time)

    Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/invoice/cash_transaction \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "cash_register": {
      "id": 42,
      "name": "Beispiel",
      "code": "string",
      "is_active": true,
      "locked_through": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "sequence_number": 1,
    "transaction_date": "2026-10-15T09:30:00+02:00",
    "type": "string",
    "gross_amount": 49.9,
    "tax_rate": 1.5,
    "tax_amount": 49.9,
    "balance_after": 1.5
  }
]

Trägt eine Bewegung ins Kassenbuch ein.

POST/api/invoice/cash_transaction

Laufende Nummer und Bestand vergibt der Dienst; was daran übergeben wird, wird ignoriert.

Request-Body application/json

  • transaction_datestring (date)
  • typestring

    Erlaubt: income expense

  • gross_amountnumber
  • tax_ratenumber
  • tax_amountnumber
  • namestring
  • document_numberstring
  • expense_categoryinteger
  • cash_registerinteger

    Pflicht, sobald es mehr als eine Kasse gibt

Antworten

201Die eingetragene Bewegung samt neuem Bestand

409Der Bestand würde negativ, oder die Bewegung läge vor der letzten

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/invoice/cash_transaction \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "name": "Büromaterial",
  "transaction_date": "2026-07-31",
  "type": "expense",
  "gross_amount": 23.8,
  "tax_rate": 19,
  "tax_amount": 3.8
}
'

Das Kassenbuch eines Zeitraums samt Anfangs- und Endbestand.

GET/api/invoice/cash_transaction/book

Query-Parameter

fromstring (date)
tostring (date)

Antworten

200Die Bewegungen des Zeitraums mit fortlaufendem Bestand

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/invoice/cash_transaction/book \
  --header 'x-iw-jwt-token: <TOKEN>'

Der aktuelle Kassenbestand - was in der Schublade liegen müsste.

GET/api/invoice/cash_transaction/balance

Antworten

200Der Bestand nach der letzten Bewegung

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/invoice/cash_transaction/balance \
  --header 'x-iw-jwt-token: <TOKEN>'

Schreibt die Bewegungen eines Zeitraums fest (Kassenabschluss).

POST/api/invoice/cash_transaction/lock

Request-Body application/json

  • fromstring (date)
  • tostring (date)

Antworten

200Wie viele Bewegungen festgeschrieben wurden

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/invoice/cash_transaction/lock \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "from": "2026-10-15",
  "to": "2026-10-15"
}
'

Storniert eine Bewegung durch eine Gegenbewegung.

POST/api/invoice/cash_transaction/{identifier}/reversal

Die ursprüngliche Zeile bleibt stehen. Sie zu entfernen widerspräche der Unveränderbarkeit und risse eine Lücke in die laufende Nummer.

Pfad-Parameter

identifierPflichtstring

Request-Body application/json

  • reasonstring

Antworten

201Die Gegenbewegung

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/invoice/cash_transaction/42/reversal \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "reason": "Betrag falsch erfasst"
}
'