bimetricsEntwickler
Kassenbuch

Kassenbuch-Eintrag stornieren

Als Markdown ansehen

Benötigte Berechtigung:matching:write(Belege und Zahlungen zuordnen)

Echte Wirkung

Ändert Daten der Firma; wird atomar mit Idempotenzbeleg und Herkunft protokolliert.
post/api/cash-book-entries/{id}/reverse

Kein 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.

Authentifizierung

headerAuthentifizierungBearer <bm_…>

Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.

Pfadparameter

id*string

ID des Eintrags (UUID).

Formatuuid

Header-Parameter

Idempotency-Key*string

Stabiler 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.

Muster^[!-~]+$
Länge1 <= length <= 128

Request-Body

the reason

application/json
  1. body

Storno eines Eintrags.

reason?string

Pflicht: warum storniert wird, höchstens 120 Zeichen.

Antworten

Erfolg.

application/json
  1. response

Gebuchte oder geprüfte Einträge.

balanceMinor?integer

Geld 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?boolean

Nur 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?boolean

true bei einer Wiederholung.

Beispielanfrage
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 '{}'
Beispielantwort
{  "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    }  ]}