bimetricsEntwickler
Zuordnungen

Mehrbetrag einer Zuordnung als Mahnkosten und Zinsen buchen

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/match/{id}/reminder-charges

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

Bucht die Zahlung über dem Rechnungsbetrag als Mahnkosten und Verzugszinsen der Mahnung, wie „als Mahnkosten und Zinsen buchen“ in der App, ohne die Zuordnung vorher aufzuheben. Rufe das erst auf, wenn der Nutzer die Werte aus previewMatchReminderCharges bestätigt hat. bimetrics ersetzt die Zuordnung in einem Schritt durch eine neue über dieselbe Rechnung und Zahlung und bucht den Debitor an die Ertragskonten, ohne Umsatzsteuer; replacedMatchId nennt die alte. Der offene Betrag ist danach null, die Rechnung bleibt und lässt sich nicht mehr korrigieren. expectedVersions kommt unverändert aus previewMatchReminderCharges, auch die Version der Mahnung. Eine Wiederholung mit gleichem Schlüssel bucht nichts erneut. Nicht möglich, wenn die Zuordnung nicht passt oder schon Mahnkosten oder Skonto gebucht hat (422 ReminderChargesNotEligible) und wenn Buchungen schon an DATEV exportiert sind (409 FinalizedBookingsLocked). Andere festgeschriebene Buchungen bleiben stehen; storniert und neu gebucht werden sie nur, wenn sich für DATEV etwas ändert.

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

Die Versionen aus der Vorschau

application/json
  1. body

Bestätigt die Mahnkosten und Zinsen genau so, wie die Vorschau sie zeigt.

expectedVersions?|

Vollständige Versionsmap aus previewMatchReminderCharges, unverändert.

Antworten

Erfolg.

application/json
  1. response

Die neue Zuordnung und die ersetzte.

match?|

Die neue Zuordnung.

replacedMatchId?string

ID der ersetzten Zuordnung; sie gibt es danach nicht mehr.

Formatuuid
replayed?boolean

True bei sicherer Wiederholung eines bereits erfolgreichen Aufrufs.

reversedFinalizedMonths?array<string>

Monate (YYYY-MM), in denen bimetrics festgeschriebene Buchungen storniert und mit geändertem Datum, Leistungszeitraum, Konto, Steuerkennzeichen oder Betrag neu gebucht hat. Ändert sich nur der Buchungstext oder die Zuordnung, fehlt der Monat. Hast du die Umsatzsteuer-Voranmeldung für einen dieser Monate oder, bei geändertem Datum, für den neuen Monat schon abgegeben, musst du sie womöglich berichtigen. Fehlt, wenn nichts storniert wurde, und bei einer Wiederholung mit demselben Idempotency-Key.

Beispielanfrage
curl --fail-with-body "https://app.bimetrics.de/api/match/497f6eca-6276-4993-bfeb-53cbbbba6f08/reminder-charges" \  -H "Authorization: Bearer $BIMETRICS_API_KEY" \  -H "Idempotency-Key: rechnung-2026-001" \  -H "Content-Type: application/json" \  -d '{}'
Beispielantwort
{  "match": {    "amountOpen": 0,    "autoMatch": true,    "bankTransactions": [      {        "bankTransactionId": "a1ba4b85-5bd8-4cef-bbbd-16eaa2c46033",        "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",        "createdAt": "2026-09-12T07:30:15Z",        "id": "840529df-2d2a-42ea-afa3-3704d855634f",        "matchId": "e21b3d18-17ea-4318-810c-919ec0a94dcb",        "updatedAt": "2026-09-12T07:30:15Z"      }    ],    "category": "payment",    "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",    "createdAt": "2026-09-12T07:30:15Z",    "documents": [      {        "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",        "createdAt": "2026-09-12T07:30:15Z",        "documentId": "3026096b-614f-40d3-8749-8acf9b529480",        "id": "3432135f-5b01-4288-9764-e1ff7d061777",        "matchId": "e21b3d18-17ea-4318-810c-919ec0a94dcb",        "updatedAt": "2026-09-12T07:30:15Z"      }    ],    "id": "e21b3d18-17ea-4318-810c-919ec0a94dcb",    "matchingRule": null,    "matchingRuleId": null,    "updatedAt": "2026-09-12T07:30:15Z"  },  "replacedMatchId": "e21b3d18-17ea-4318-810c-919ec0a94dcb",  "replayed": false}

Zuordnung erweitern POST

Fügt einer Zuordnung Belege oder Umsätze hinzu, etwa eine zweite Teilzahlung, wie „Zuordnung erweitern“ in der App. `documentIds` und `transactionIds` nennen die vollständige neue Auswahl: alle bisherigen Einträge und mindestens einen neuen. bimetrics ersetzt die Zuordnung in einem Schritt durch eine neue mit derselben Kategorie und bucht neu; `replacedMatchId` nennt die alte. `expectedVersions` kommt unverändert aus `previewDeleteMatch`. Nicht möglich mit bestätigtem Skonto (`400 CashDiscountNotEligible`), mit gebuchten Mahnkosten (`422 ReminderChargesNotEligible`), mit einem Beleg aus einer Buchungsvorlage (`409 MatchNotExtendable`) und, wie beim Aufheben, wenn Buchungen schon an DATEV exportiert sind (`409 FinalizedBookingsLocked`). Andere festgeschriebene Buchungen bleiben stehen; storniert und neu gebucht werden sie nur, wenn sich für DATEV etwas ändert, etwa bei einer Sammelzahlung. Benötigt einen Schlüssel mit der Berechtigung `matching:write`.

Mahnkosten einer Zuordnung prüfen GET

Sagt, ob sich die Zahlung über dem Rechnungsbetrag als Mahnkosten und Zinsen der zuletzt ausgestellten, nicht zurückgezogenen Mahnung buchen lässt, und liefert, was der Nutzer vorher bestätigt: Mahnungs- und Rechnungsnummer, Mehrbetrag, Aufteilung und Konten. Es braucht genau eine Ausgangsrechnung und einen gebuchten Euro-Eingang, kein Skonto und keine erfassten Zahlungen. Der Mehrbetrag darf höchstens so hoch sein wie Gebühren, Pauschale und Zinsen der Mahnung; ausgeglichen werden erst die Kosten, dann die Zinsen. Passt die Zuordnung nicht, antwortet die API mit `eligible: false` und nennt in `refusal` den Code. Verändert nichts. Benötigt einen Schlüssel mit der Berechtigung `read`.