---
title: "Storniert eine Rechnung vollständig"
method: POST
path: "/api/v1/rechnungen/{id}/storno"
---

# Storniert eine Rechnung vollständig

`POST /api/v1/rechnungen/{id}/storno`

## Request

- Base URL: `https://rechnungslotse.de`
- URL: `https://rechnungslotse.de/api/v1/rechnungen/{id}/storno`
- 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`)

Storniert eine Rechnung vollständig: Es entsteht eine neue Rechnung vom Typ 384 mit negativen Mengen, eigener Nummer und Bezug auf die ursprüngliche (BT-25), mit PDF, XRechnung und ZUGFeRD – nichts wird gelöscht. Kein Kontingentverbrauch. Für eine TEILerstattung stattdessen eine Gutschrift über `POST /rechnungen` mit negativen Mengen erzeugen, denn die Beträge je Position kennt nur der Shop. Idempotent über `Idempotency-Key`; ohne Key schützt der Zustand: Ein zweiter Storno derselben Rechnung antwortet 409 `already_cancelled`.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Response `201`

201 mit `id`, `number` des Stornos, `originalNumber`, `issueDate`, `releasedServices` (wieder abrechenbare Leistungen) und den drei Dateiadressen wie beim Erzeugen. Eine fremde Rechnung antwortet 404, eine bereits stornierte 409, ein Storno eines Stornos ebenfalls 409.

- 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.
- `404`: Diesen Beleg gibt es unter diesem Schlüssel nicht.
- `409`: Zustand passt nicht: bereits storniert, oder ein Storno eines Stornos.
- `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)
