Monat eines Kassenbuchs lesen
Benötigte Berechtigung:read(Daten lesen)
Liefert einen Monat des Kassenbuchs: den Bestand davor (openingMinor) und danach (closingMinor) und die Tage mit Einträgen, je mit Anfangs- und Endbestand. Die Einträge eines Tages stehen in der Reihenfolge ihrer Erfassung. Jeder Eintrag hat eine Nummer, die je Kassenbuch und Jahr lückenlos zählt (KB-2026-0001, bei weiteren Kassenbüchern KB-A-2026-0001). Einträge werden nie geändert oder gelöscht; ein Fehler wird storniert.
Benötigt einen Schlüssel mit der Berechtigung read.
AuthentifizierungBearer <bm_…>Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.
id*stringID des Kassenbuchs (UUID).
uuidmonth*stringMonat als JJJJ-MM, etwa 2026-11.
Erfolg.
application/json- response
Ein Monat des Kassenbuchs.
cashBook?Das Kassenbuch mit seinem Bestand jetzt.
closingMinor?integerGeld in der Kasse nach dem letzten Eintrag des Monats, in Cent.
days?array<>|Die Tage mit Einträgen, aufsteigend.
month?integerMonat (1 bis 12).
openingMinor?integerGeld in der Kasse vor dem ersten Tag des Monats, in Cent.
year?integerJahr.
curl --fail-with-body "https://app.bimetrics.de/api/cash-books/497f6eca-6276-4993-bfeb-53cbbbba6f08/entries?month=string" \ -H "Authorization: Bearer $BIMETRICS_API_KEY"{ "cashBook": { "account": 1600, "balanceMinor": 20000, "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5", "createdAt": "2026-11-13T09:00:00Z", "id": "7c2e9a41-5b3d-4f08-9e61-2d8a4c7f1b39", "kind": "petty", "name": "Handkasse Büro", "numberPrefix": "", "openingBalanceMinor": 20000, "openingContraAccount": 1460, "openingSource": "bank", "startDate": { "day": 10, "month": 11, "year": 2026 }, "updatedAt": "2026-11-13T09:00:00Z" }, "closingMinor": 20000, "days": [ { "closingMinor": 20000, "date": { "day": 10, "month": 11, "year": 2026 }, "entries": [ { "amountMinor": 20000, "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": "opening", "number": "KB-2026-0001", "origin": "api", "text": "Anfangsbestand vom Geschäftskonto", "updatedAt": "2026-11-13T09:05:00Z", "year": 2026 } ], "openingMinor": 0 } ], "month": 11, "openingMinor": 0, "year": 2026}Kassenbuch stilllegen POST
Legt ein Kassenbuch still. Das geht nur, wenn kein Geld mehr darin ist (`balanceMinor` 0), sonst `409 CashBookRejected`. Es bleibt lesbar, sein Kassenkonto wird frei für ein neues Kassenbuch. Zurückholen lässt es sich nicht. Ist es schon stillgelegt, ändert sich nichts. Benötigt einen Schlüssel mit der Berechtigung `company:write`.
Kassenbuch-Einträge buchen POST
Bucht einen oder bis zu 20 Einträge ins Kassenbuch, jeden mit der nächsten Nummer seines Jahres. Ohne Beleg gibt es: eine Ausgabe mit Eigenbeleg (`expense` mit `category` und `ownReceipt`, ohne Vorsteuer), Geld privat eingelegt oder entnommen (`private_in`, `private_out`; bei GmbH und UG über das Gesellschafter-Verrechnungskonto und nur bis zu dem Betrag, den die Firma den Gesellschaftern schuldet) und Geld zwischen Geschäftskonto und Kasse (`transit_in`, `transit_out`, über Geldtransit). Mit `documentId` bucht der Eintrag die Barzahlung dieses Belegs, wie `POST /api/match/payment` mit `cashBookId`; er geht dann allein. Einnahmen gibt es nur mit Beleg, einzelne Barverkäufe nie: bimetrics ist keine Registrierkasse. Der Bestand darf nach keiner Buchung unter 0 € fallen, gerechnet in der Reihenfolge des Kassenbuchs (Tag, dann Erfassung); die Ablehnung nennt die erste Buchung, für die das Geld nicht reicht. `expectedBalanceMinor` schützt vor einer Änderung dazwischen. Buchen dürfen Inhaber und Nutzer, nicht die Steuerberatung (`403 CashBookOwnerOnly`). Bei einer Wiederholung schickst du denselben Idempotency-Key. Benötigt einen Schlüssel mit der Berechtigung `matching:write`.