bimetricsEntwickler
Vorlagen und Dauerbuchungen

Dauerbuchung anlegen

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.
post/api/document/collection/contract/

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

Legt eine Dauerbuchung an, wie in der App: Für jede Periode entsteht sofort ein Beleg mit Buchung, auch für vergangene. POST /api/document/collection/contract/preview zeigt das vorher. Der Rhythmus ist 1, 3, 6 oder 12 Monate, end gilt ausschließlich und liegt nach start. Zeilen haben einen festen Betrag. 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 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.

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/" \  -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}