bimetricsEntwickler
Kontoauszüge

Kontoauszug übernehmen

Als Markdown ansehen

Benötigte Berechtigung:statements:import(Kontoauszüge einlesen)

Echte Wirkung

Ändert Daten der Firma; wird atomar mit Idempotenzbeleg und Herkunft protokolliert.
post/api/bankstatement/apply

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

Übernimmt, was die Vorschau gezeigt hat: Jede neue Zeile wird zum Umsatz mit Buchung und automatischer Zuordnung, im Hintergrund. Das lässt sich nicht rückgängig machen. Ohne Vorschau mit genau diesem Konto und dieser Zuordnung aus den letzten 60 Minuten: 409 BankStatementPreviewRequired. Prüf-Fälle werden nur geschrieben, wenn includeReviewPositions sie nennt, und nur solche, die die Vorschau gezeigt hat. Unter 50 % lesbaren Zeilen oder ohne etwas zu übernehmen: 409 BankStatementNothingToApply. Beim Einlesen vergleicht bimetrics noch einmal, die Zahlen können also abweichen; getStatementImport nennt das Ergebnis. Dieselbe Datei wird nur einmal übernommen (409 BankStatementAlreadyImported).

Benötigt einen Schlüssel mit der Berechtigung statements:import.

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

Upload, Konto, Zuordnung der Spalten und Prüf-Fälle

application/json
  1. body

Was übernommen werden soll: genau das der Vorschau.

account?

Das Konto der Vorschau.

includeReviewPositions?array<integer>|

pos der Prüf-Fälle, die trotzdem übernommen werden sollen. Nur solche, die die Vorschau gezeigt hat.

mapping?

Die Zuordnung der Vorschau.

reviewPositions?array<integer>

Wird mit einem Schlüssel nicht beachtet: bimetrics nimmt die gezeigten Prüf-Fälle aus der Vorschau.

uploadId?string

ID des Uploads.

Formatuuid

Antworten

Erfolg.

application/json
  1. response

Ein übernommener Import.

accountName?string

Name des Kontos.

bankAccountId?string

ID des Kontos.

Formatuuid
canRetry?boolean

Der Import lässt sich wiederholen.

createdAt?string

Zeitpunkt der Übernahme.

Formatdate-time
createdBy?string

Wer übernommen hat.

errorCode?|

Grund bei failed.

fileName?string

Name der Datei.

finishedAt?|

Ende des Imports.

Formatdate-time
from?string

Erster Buchungstag der Datei, leer vor dem Vergleich.

id?string

ID des Imports.

Formatuuid
jobId?string

ID des Hintergrundauftrags.

Formatuuid
progress?

Fortschritt.

result?|

Das Ergebnis, sobald der Import fertig ist.

state?string

queued, running, waiting, done oder failed.

to?string

Letzter Buchungstag der Datei.

waitReason?|

Worauf der Import wartet, etwa den Bankabruf.

Beispielanfrage
curl --fail-with-body "https://app.bimetrics.de/api/bankstatement/apply" \  -H "Authorization: Bearer $BIMETRICS_API_KEY" \  -H "Idempotency-Key: rechnung-2026-001" \  -H "Content-Type: application/json" \  -d '{}'
Beispielantwort
{  "accountName": "Girokonto",  "bankAccountId": "6d3a90f2-1e74-4b8c-a5d0-93c7f2e41b68",  "canRetry": false,  "createdAt": "2026-11-05T09:15:00Z",  "createdBy": "Hans Beispiel",  "errorCode": null,  "fileName": "umsaetze.csv",  "finishedAt": null,  "from": "2026-09-01",  "id": "1b7e4f30-5c2a-4d18-9e63-7a0c2f815d44",  "jobId": "c92e1d07-48b6-4f1a-8d35-2b6a9e07f3c1",  "progress": {    "done": 0,    "total": 0  },  "result": null,  "state": "queued",  "to": "2026-09-30",  "waitReason": null}