---
title: "Macht aus offenen Leistungen EINES Kunden eine Rechnung"
method: POST
path: "/api/v1/leistungen/abrechnen"
---

# Macht aus offenen Leistungen EINES Kunden eine Rechnung

`POST /api/v1/leistungen/abrechnen`

## Request

- Base URL: `https://rechnungslotse.de`
- URL: `https://rechnungslotse.de/api/v1/leistungen/abrechnen`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://rechnungslotse.de/authorize`, token URL `https://rechnungslotse.de/api/oauth/token`, scopes: `schreiben`)

Macht aus offenen Leistungen EINES Kunden eine Rechnung. Entweder `leistung_ids` genau benennen oder `kunde_id` mit `von`/`bis` – dann wird alles Offene im Zeitraum genommen. `verdichten` ist an, gleiche Leistungen werden zu einer Position zusammengefasst; `datum` setzt das Rechnungsdatum. Abgerechnete Leistungen sind gesperrt, ein zweiter Lauf über dieselbe Stunde ist nicht möglich (409 `leistungen_leer`, wenn nichts offen ist). Idempotent über `Idempotency-Key`.

## Headers

- `Idempotency-Key` string

## Response `200`

201 mit Nummer, Bruttobetrag, Anzahl der abgerechneten Leistungen und den Abhol-Adressen der Dateien. Der Stapel über ALLE Kunden gehört bewusst nicht hierher, sondern ins Portal.

- object

## Other responses

- `400`: Eingabe unbrauchbar: invalid_input
- `401`: Kein oder ungültiger Zugangsschlüssel: api_schluessel_ungueltig, api_schluessel_abgelaufen
- `403`: Recht „schreiben“ fehlt am Schlüssel.
- `422`: Die Rechnung erfüllt EN 16931 nicht – `checks` nennt die Regeln.
- `429`: Ratengrenze oder Kontingent: quota_exhausted, rate_limited. Retry-After sagt, wann.
- `503`: Prüfdienst nicht erreichbar – später wiederholen.

---

[API](https://skmtc.dev/rechnungslotse/apis/rechnungslotse-schnittstelle-v1.md) · [All operations](https://skmtc.dev/rechnungslotse/apis/rechnungslotse-schnittstelle-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/rechnungslotse/apis/rechnungslotse-schnittstelle-v1/revisions/0997b13254c2?raw)
