Änderung einer Dauerbuchung prüfen
Benötigte Berechtigung:collections:write(Vorlagen und Dauerbuchungen ändern)
Echte Wirkung
/api/document/collection/contract/previewKein Testversand aus der Dokumentation: Dieser Aufruf ist nicht als rein lesend gekennzeichnet. Nutze das Codebeispiel.
Sagt, was Anlegen, Ändern, Beenden oder Löschen mit den Periodenbelegen täte, und ändert nichts. Gerechnet wird wie beim Speichern, Ablehnungen sind dieselben. action ist create, update, end oder delete; außer bei create nennt id die Dauerbuchung. end nennt bei action end das neue Ende: Es darf nie verlängern (422 DocumentContractEndExtends). pastDocuments gilt bei delete.
Benötigt einen Schlüssel mit der Berechtigung collections:write.
AuthentifizierungBearer <bm_…>Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.
application/json- body
Welche Änderung geprüft werden soll.
action?stringcreate, update, end oder delete.
collectionNumber?|Nummer; wird zur Rechnungsnummer der erzeugten Belege.
costCenterId?stringKostenstelle oder Verteilung aller Belege der Dauerbuchung als ID, ein leerer String entfernt sie. Eine Änderung gilt für künftige Belege und für alle, die noch nicht festgeschrieben, zugeordnet oder bezahlt sind. Ohne Angabe bleibt sie.
documentContractRepetitionFixed?Nur bei Dauerbuchungen: Beginn, ausschließliches Ende und Rhythmus.
end?Neues ausschließliches Ende bei action end.
expectedUpdatedAt?stringupdatedAt des gelesenen Objekts, beim Ändern Pflicht.
date-timefriendlyName?|Bezeichnung.
id?stringID der Dauerbuchung; außer bei create Pflicht.
uuidissuer?|Aussteller: die Gegenpartei bei receipt.
kind?|invoice (Ausgangsrechnung) oder receipt (Eingangsbeleg), ohne Angabe beim Anlegen receipt.
pastDocuments?booleanBei delete: auch die Belege bis heute.
positionTemplate?array<>|Die Zeilen, 1 bis 100. Ersetzt beim Ändern alle Zeilen.
recipient?|Empfänger: die Gegenpartei bei invoice.
Erfolg.
application/json- response
Was die Änderung mit den Periodenbelegen täte.
action?stringDie geprüfte Aktion.
amountPerPeriodMinor?integerBetrag je ganzer Periode in Cent.
contractId?stringID der Dauerbuchung; fehlt bei create.
uuidcontractStays?booleanBeim Löschen: Weil Belege bleiben, bleibt auch die Dauerbuchung als gelöscht vermerkt.
creates?array<>|Neue Belege mit Buchung, auch für vergangene Perioden.
deletes?array<>|Belege, die entfallen.
keeps?array<>|Belege, die bleiben, wie sie sind: zugeordnet, bezahlt, festgeschrieben oder beim Löschen ohne pastDocuments aus der Zeit bis heute.
pastPeriods?integerWie viele der neuen Belege abgelaufene Perioden betreffen.
rewrites?array<>|Offene Belege, die die neuen Zeilen übernehmen.
unchanged?integerOffene Belege, die sich nicht ändern.
updatedAt?stringStand der Dauerbuchung; fehlt bei create.
date-timecurl --fail-with-body "https://app.bimetrics.de/api/document/collection/contract/preview" \ -H "Authorization: Bearer $BIMETRICS_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'{ "action": "update", "amountPerPeriodMinor": 130000, "contractId": "6d0e3f52-81a4-4b7c-9f26-2a7e5c1d4b83", "contractStays": false, "creates": [ { "amountMinor": 130000, "from": { "day": 1, "month": 11, "year": 2026 }, "to": { "day": 30, "month": 11, "year": 2026 } } ], "deletes": [], "keeps": [ { "amountMinor": 120000, "documentId": "3f6c2a10-7b1e-4c55-9a70-0d2b8e41c9f1", "from": { "day": 1, "month": 10, "year": 2026 }, "to": { "day": 31, "month": 10, "year": 2026 } } ], "pastPeriods": 0, "rewrites": [], "unchanged": 0, "updatedAt": "2026-01-05T09:00:00Z"}Dauerbuchungen suchen POST
Sucht die Dauerbuchungen der Firma: ein fester Betrag im festen Rhythmus ohne eigene Rechnung, etwa die Büromiete. Gelöschte fehlen, auch wenn ihre Belege bleiben. Benötigt einen Schlüssel mit der Berechtigung `read`.
Dauerbuchung lesen GET
Liefert eine Dauerbuchung mit Zeitraum, Rhythmus und Zeilen. `updatedAt` kommt beim Ändern als `expectedUpdatedAt` zurück. Eine gelöschte antwortet mit `404`. Benötigt einen Schlüssel mit der Berechtigung `read`.