Kassenbuch-Eintrag stornieren
Benötigte Berechtigung:matching:write(Belege und Zahlungen zuordnen)
Echte Wirkung
/api/cash-book-entries/{id}/reverseKein Testversand aus der Dokumentation: Dieser Aufruf ist nicht als rein lesend gekennzeichnet. Nutze das Codebeispiel.
Storniert einen Eintrag mit Grund: Ein neuer Eintrag mit eigener Nummer am selben Tag gleicht ihn aus, seine Buchungen werden gespiegelt. Bei einem Eintrag mit Beleg nimmt das Storno die Barzahlung am Beleg zurück. Jeder Eintrag lässt sich einmal stornieren, ein Storno nie. Auch nach dem Storno darf der Bestand nirgends unter 0 € fallen. Ist dem Eintrag ein Bankumsatz zugeordnet, lehnt die Route ab, bis die Zuordnung gelöst ist.
Benötigt einen Schlüssel mit der Berechtigung matching:write.
AuthentifizierungBearer <bm_…>Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.
id*stringID des Eintrags (UUID).
uuidIdempotency-Key*stringStabiler Schlüssel für genau diese Änderung: 1–128 druckbare ASCII-Zeichen ohne Leerzeichen. Bei Wiederholungen denselben Schlüssel und unveränderten Inhalt senden; das Ergebnis wird nicht nochmals erzeugt.
^[!-~]+$1 <= length <= 128the reason
application/json- body
Storno eines Eintrags.
reason?stringPflicht: warum storniert wird, höchstens 120 Zeichen.
Erfolg.
application/json- response
Gebuchte oder geprüfte Einträge.
balanceMinor?integerGeld in der Kasse danach, in Cent.
bookings?array<>Nur in der Vorschau: die Buchungszeilen der Einträge ohne Beleg.
entries?array<>|Die Einträge; bei einer Wiederholung mit demselben Idempotency-Key leer.
exported?booleanNur in der Vorschau: true, wenn ein Eintrag in einem Zeitraum liegt, der schon an DATEV exportiert ist. Er kommt dann erst mit, wenn die Firma den Monat noch einmal exportiert.
replayed?booleantrue bei einer Wiederholung.
curl --fail-with-body "https://app.bimetrics.de/api/cash-book-entries/497f6eca-6276-4993-bfeb-53cbbbba6f08/reverse" \ -H "Authorization: Bearer $BIMETRICS_API_KEY" \ -H "Idempotency-Key: rechnung-2026-001" \ -H "Content-Type: application/json" \ -d '{}'{ "balanceMinor": 20000, "entries": [ { "amountMinor": 5000, "cashBookId": "7c2e9a41-5b3d-4f08-9e61-2d8a4c7f1b39", "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5", "createdAt": "2026-11-13T09:05:00Z", "entryDate": { "day": 12, "month": 11, "year": 2026 }, "id": "3f1d2c7a-8b9e-4a51-b6c2-0e4f8a9d7b13", "kind": "reversal", "number": "KB-2026-0003", "origin": "api", "text": "Storno KB-2026-0002: Doppelt erfasst", "updatedAt": "2026-11-13T09:05:00Z", "year": 2026 } ]}Passende Bankumsätze zu Bank ↔ Kasse GET
Liefert zu einem Eintrag zwischen Geschäftskonto und Kasse (`transit_in`, `transit_out` oder Anfangsbestand vom Geschäftskonto) die Bankumsätze, die dazu passen: Gegenbetrag (zu 300 € in die Kasse eine Abhebung über −300 €), gebucht bis sieben Tage vor oder nach dem Kassentag (beim Anfangsbestand bis 60 Tage vor dem Beginn), auch schon anders zugeordnete mit `assigned`. Höchstens 10, freie zuerst, dann der nächste Tag. Benötigt einen Schlüssel mit der Berechtigung `read`.
Kassenbücher lesen GET
Liefert alle Kassenbücher der Firma, auch stillgelegte, mit Art, Name, Kassenkonto, Beginn, Anfangsbestand samt Herkunft und dem Bestand jetzt (`balanceMinor`, in Cent). Ohne Kassenbuch ist die Liste leer. Benötigt einen Schlüssel mit der Berechtigung `read`.