bimetricsEntwickler
Kostenstellen

Kostenstellen lesen

Als Markdown ansehen

Benötigte Berechtigung:read(Daten lesen)

GET
/api/cost-centers

Liefert alle Kostenstellen und Verteilungen der Firma, auch archivierte, jeweils mit der Zahl der Belege (documents). used sagt, ob ein Beleg oder eine Buchung sie schon trägt, direkt oder über eine Verteilung: Dann stehen Nummer und Anteile fest.

Benötigt einen Schlüssel mit der Berechtigung read.

Authentifizierung

headerAuthentifizierungBearer <bm_…>

Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.

Antworten

Erfolg.

application/json
  1. response
[index: integer]?

Kostenstelle oder Verteilung der Firma.

Beispielanfrage
curl --fail-with-body "https://app.bimetrics.de/api/cost-centers" \  -H "Authorization: Bearer $BIMETRICS_API_KEY"
Beispielantwort
[  {    "code": "100",    "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",    "createdAt": "2026-11-12T08:00:00Z",    "documents": 12,    "id": "5b0f8c3e-2a71-4d9e-8f16-7c4a9e2d3b58",    "kind": "center",    "name": "Standort Nord",    "updatedAt": "2026-11-12T08:00:00Z",    "used": true  },  {    "code": "200",    "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",    "createdAt": "2026-11-12T08:00:00Z",    "documents": 9,    "id": "c93e1a47-6d02-4b8f-a5e3-1f7b2c9d4e60",    "kind": "center",    "name": "Standort Süd",    "updatedAt": "2026-11-12T08:00:00Z",    "used": true  },  {    "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",    "createdAt": "2026-11-12T08:05:00Z",    "documents": 3,    "id": "0e7d4b29-81c5-4f3a-9b6e-d2a8f5c17e94",    "kind": "distribution",    "name": "Gemeinsam",    "shares": [      {        "basisPoints": 5000,        "costCenterId": "5b0f8c3e-2a71-4d9e-8f16-7c4a9e2d3b58"      },      {        "basisPoints": 5000,        "costCenterId": "c93e1a47-6d02-4b8f-a5e3-1f7b2c9d4e60"      }    ],    "updatedAt": "2026-11-12T08:05:00Z",    "used": true  }]

Kontoauszug hochladen POST

Speichert eine Datei der Bank, gelesen und gebucht wird noch nichts. Eine Datei, die bimetrics nicht lesen kann, wird mit dem Grund abgelehnt (`422`), zu große mit `413 BankStatementTooLarge`. Dieselbe Datei, noch nicht übernommen, ergibt denselben Upload und keine neue Zeile. `sameFile` nennt einen Import, der diese Datei schon übernommen hat. Nicht übernommene Dateien löscht bimetrics nicht von selbst. Benötigt einen Schlüssel mit der Berechtigung `statements:import`.

Kostenstelle oder Verteilung anlegen POST

Legt eine Kostenstelle (`kind` `center`, mit `code` und `name`) oder eine Verteilung an (`kind` `distribution`, mit `name` und `shares`), wie in den Einstellungen der App. Die Nummer ist die KOST1 im DATEV-Export: 1 bis 8 Ziffern ohne führende Null oder 1 bis 8 Buchstaben ohne Umlaute, je Firma eindeutig, auch gegenüber archivierten, ohne Unterschied zwischen Groß- und Kleinschreibung. Die Steuerberatung muss sie in DATEV genauso anlegen, sonst führt DATEV die Buchungen als „nicht berücksichtigt“. Eine Verteilung braucht mindestens zwei verschiedene Kostenstellen, die nicht archiviert sind, und ihre Anteile ergeben zusammen 10000 Basispunkte (100 %). Verstößt die Anfrage gegen eine Regel, antwortet die Route mit `400 CostCenterRejected`, `context.field` nennt das Feld und `context.message` den Satz der App; eine vergebene Nummer ergibt `409 CostCenterRejected`. Bei einer Wiederholung schickst du denselben Idempotency-Key. Benötigt einen Schlüssel mit der Berechtigung `company:write`.