# Gespeicherten Rechnungsentwurf prüfen (https://developer.bimetrics.de/reference/sales/check-draft)

`POST https://app.bimetrics.de/api/draft/{id}/tax-case`

operationId: `checkDraft` · Berechtigung (Scope): `invoices:draft` · Bereich: Ausgangsrechnungen

Prüft den gespeicherten Entwurf und liefert Steuerfall, Problemcodes und vorgesehene Konten. Legt keine Kontakte, Rechnungen oder Buchungen an. Kein Anfrageinhalt erforderlich.

Benötigt einen Schlüssel mit der Berechtigung `invoices:draft`.

> **Achtung:** Dieser Aufruf ist nicht als rein lesend gekennzeichnet und kann echte Daten in der Firma anlegen oder ändern. Es gibt keine Testumgebung.
>
> KI-Agenten fragen vor diesem Aufruf beim Nutzer nach.

### Authentifizierung

`Authorization: Bearer bm_…` (alternativ `X-API-KEY: bm_…`, nie beide zugleich).

### Parameter

| Name | Ort | Pflicht | Typ | Beschreibung |
| --- | --- | --- | --- | --- |
| `id` | path | ja | string (uuid) | ID des Objekts in dieser Firma (UUID). |

### Beispiel

```sh
curl --fail-with-body "https://app.bimetrics.de/api/draft/{id}/tax-case" -X POST \
  -H "Authorization: Bearer $BIMETRICS_API_KEY"
```

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg. | `application/json`: TaxCaseCheck |
| 400 | Ungültige Anfrage, z. B. ein Parameter mit ungültigem Wert wie eine ID, die keine UUID ist; korrigieren statt wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |
| 401 | Kein gültiger Schlüssel: fehlt (`Unauthorized`), ist unbekannt, abgelaufen oder widerrufen oder wurde nicht in genau einem Header gesendet (`InvalidAPIKey`). Schlüssel prüfen, nicht wiederholen. Auch eine ID, die zu einer anderen Firma gehört, ergibt `401 Unauthorized`. | `application/json`: Error |
| 403 | Dem Schlüssel fehlt die Berechtigung für diese Route (`APIKeyPermissionDenied`), oder die Firma hat keinen aktiven Tarif mit API-Zugang, etwa in der Testphase oder nach Ende des Abos (`APIUnavailable`). | `application/json`: Error |
| 404 | Nicht gefunden (`NotFound`). | `application/json`: Error |
| 413 | Die Anfrage ist zu groß (`APIRequestTooLarge`), siehe `x-bimetrics-limits`. | `application/json`: Error |
| 429 | Zu viele Anfragen; nach `Retry-After` Sekunden erneut senden. Mehr unter [Fehler](https://developer.bimetrics.de/errors). (Header: Retry-After) | `application/json`: Error |
| 500 | Serverfehler; die Anfrage später wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |

#### Felder der Antwort 200 (`TaxCaseCheck`)

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `blocking` | boolean | Mindestens ein Problem verhindert den Abschluss. |
| `buyer` | TaxCaseBuyer | Erwarteter Kontaktbezug des Empfängers. |
| `chartOfAccounts` | string | Kontenrahmen SKR03 oder SKR04, leer falls nicht eingerichtet. |
| `complete` | boolean | Alle Positionen konnten einem Steuerfall zugeordnet werden. |
| `enabled` | boolean | Die Steuerfallableitung ist für diese Firma aktiviert. |
| `lines` | Array<TaxCaseLineInfo>, kann null sein | Vorgesehene Kategorien und Konten pro Position. |
| `problems` | Array<TaxProblem>, kann null sein | Blockierende Probleme und Warnungen. |
| `taxCase` | TaxCaseSnapshot | Abgeleiteter Steuerfall und verwendete Fakten. |

Verschachtelte Schemas stehen vollständig in der OpenAPI-Beschreibung: https://app.bimetrics.de/api/openapi.json
