bimetricsEntwickler
Vorlagen und Dauerbuchungen

Dauerbuchung ändern

Als Markdown ansehen

Benötigte Berechtigung:collections:write(Vorlagen und Dauerbuchungen ändern)

Echte Wirkung

Ändert Daten der Firma; wird atomar mit Idempotenzbeleg und Herkunft protokolliert.
put/api/document/collection/contract/{id}

Kein Testversand aus der Dokumentation: Dieser Aufruf ist nicht als rein lesend gekennzeichnet. Nutze das Codebeispiel.

Ändert eine Dauerbuchung, wie in der App. Eine Änderung gilt nur nach vorn: Offene und künftige Belege folgen ihr, zugeordnete, bezahlte und festgeschriebene bleiben, wie sie sind. Zum Beenden genügt documentContractRepetitionFixed mit end. Das Ende darf die laufende Periode nicht abschneiden (422 DocumentContractEndBeforeRunningPeriod). Der Rhythmus wird nur geprüft, wenn er sich ändert. PUT ändert nur die mitgeschickten Felder. expectedUpdatedAt ist Pflicht; hat sich das Objekt seitdem geändert, antwortet die Route mit 409 VersionConflict. Geprüft wird wie im Formular der App: Bezeichnung, Art invoice oder receipt, 1 bis 100 Zeilen mit Betrag oder Anteil, Kategorie passend zu Art, Verwendung und Kontenrahmen, Steuersatz 19, 7 oder 0 %, auf Eingangsbelegen auch 9 oder 5,5 %, soweit die Kategorie ihn zulässt, Steuerfall bei 0 % auf Eingangsbelegen und die Gegenpartei der Art, außer alle Kategorien werden direkt gebucht. Verstöße ergeben 400 InvalidBookkeepingChange mit context.field. Bezeichnung, Kategorie und Steuersatz werden nur geprüft, wenn sie neu sind. Eine gelöschte Dauerbuchung ergibt 409 DocumentContractDeleted. Eine Wiederholung mit gleichem Idempotency-Key wirkt nicht doppelt.

Benötigt einen Schlüssel mit der Berechtigung collections: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 Objekts in dieser Firma (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

application/json
  1. body

Felder einer Buchungsvorlage oder Dauerbuchung.

collectionNumber?|

Nummer; wird zur Rechnungsnummer der erzeugten Belege.

costCenterId?string

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

expectedUpdatedAt?string

updatedAt des gelesenen Objekts, beim Ändern Pflicht.

Formatdate-time
friendlyName?|

Bezeichnung.

issuer?|

Aussteller: die Gegenpartei bei receipt.

kind?|

invoice (Ausgangsrechnung) oder receipt (Eingangsbeleg), ohne Angabe beim Anlegen receipt.

positionTemplate?array<>|

Die Zeilen, 1 bis 100. Ersetzt beim Ändern alle Zeilen.

recipient?|

Empfänger: die Gegenpartei bei invoice.

Antworten

Erfolg.

application/json
  1. response

Dauerbuchung, aus der der Beleg entstand: ein fester Betrag im festen Rhythmus, z. B. Miete. Für jeden Zeitraum legt bimetrics einen Beleg an.

collectionNumber?string

Nummer der Dauerbuchung; wird zur Rechnungsnummer (invoiceNumber) der erzeugten Belege. Ist sie leer, entsteht die Rechnungsnummer aus der Bezeichnung.

companyId?string

ID der Firma.

Formatuuid
costCenterId?string

Kostenstelle oder Verteilung als ID; fehlt ohne.

Formatuuid
createdAt?string

Anlage in bimetrics.

Formatdate-time
documentContractRepetitionFixed?

Zeitraum und Rhythmus der erzeugten Belege.

friendlyName?string

Bezeichnung.

id?string

ID der Dauerbuchung.

Formatuuid
issuer?

Aussteller der erzeugten Belege.

kind?string

Belegart der erzeugten Belege: invoice oder receipt.

Wert in"invoice""receipt"
positionTemplate?array<>|

Vorlagen der Positionen der erzeugten Belege.

recipient?

Empfänger der erzeugten Belege.

updatedAt?string

Letzte Änderung.

Formatdate-time
uploadDocument?|

Die hinterlegte Datei; null ohne Datei.

uploadDocumentId?|

ID einer hinterlegten Datei; null ohne Datei.

Formatuuid
Beispielanfrage
curl --fail-with-body "https://app.bimetrics.de/api/document/collection/contract/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Authorization: Bearer $BIMETRICS_API_KEY" \  -H "Idempotency-Key: rechnung-2026-001" \  -H "Content-Type: application/json" \  -d '{}'
Beispielantwort
{  "collectionNumber": "MIETE",  "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",  "createdAt": "2026-01-05T09:00:00Z",  "documentContractRepetitionFixed": {    "end": null,    "repetitionPeriodDays": 0,    "repetitionPeriodMonth": 1,    "start": {      "day": 1,      "month": 1,      "year": 2026    }  },  "friendlyName": "Büromiete",  "id": "6d0e3f52-81a4-4b7c-9f26-2a7e5c1d4b83",  "issuer": {    "address": "",    "customerNumber": null,    "iban": "",    "name": "Muster Immobilien GmbH",    "taxId": ""  },  "kind": "receipt",  "positionTemplate": [    {      "additionalInfo": {        "freeOfVat": false,        "reverseCharge": false      },      "category": "rent_payment",      "label": "Miete",      "totalFixed": 120000,      "totalRatio": null,      "vatPercentage": "19"    }  ],  "recipient": {    "address": "",    "customerNumber": null,    "iban": "",    "name": "",    "taxId": ""  },  "updatedAt": "2026-01-05T09:00:00Z",  "uploadDocument": null,  "uploadDocumentId": null}