Zum Inhalt springen
Menü

Für Entwickler

Die e-Rechnung als API

Ein POST aus deiner Anwendung. Zurück kommen XRechnung-CII, ZUGFeRD und ein Prüfbericht.

Was die API macht

  • Ein Request liefert XRechnung-CII (XML) und ZUGFeRD-PDF mit eingebetteter CII.
  • Pflichtangaben nach § 14 UStG werden gegen das Schema geprüft.
  • Alle vier Umsatzsteuerfälle: Regel, Kleinunternehmer, Reverse Charge, innergemeinschaftlich.
  • KoSIT-Prüfbericht im selben Response, sobald der Validator angebunden ist.

Pläne

  • API Starter: 29 €/MonatPOST /api/v1/einvoice — konforme XRechnung/ZUGFeRD per API. Starter-Volumen.
  • API Agency: 99 €/MonatPOST /api/v1/einvoice mit höherem Volumen für Agenturen und Plattformen.
API-Key holen

Statuscodes

  • 200XRechnung-XML, ZUGFeRD (Base64) und Prüfbericht.
  • 401Fehlender, falscher oder unbekannter API-Schlüssel.
  • 402Schlüssel gültig, aber kein aktiver API-Plan.
  • 422Rechnung nicht valide (Pflichtangaben fehlen).
  • 400Body war kein gültiges JSON.

Endpunkt

POST/api/v1/einvoice

Authentifizierung über Header: Authorization: Bearer sk_einv_... – Content-Type application/json.

Beispiel-Request (Body)
{
  "invoiceNumber": "2026-0001",
  "issueDate": "2026-06-15",
  "deliveryDate": "2026-06-12",
  "currency": "EUR",
  "vatCase": "STANDARD",
  "buyerReference": "04011000-1234512345-06",
  "supplier": {
    "name": "Mustermann Handwerk GmbH",
    "street": "Werkstraße 12",
    "zip": "10115",
    "city": "Berlin",
    "country": "DE",
    "vatId": "DE123456789",
    "taxNumber": "30/123/45678",
    "email": "rechnung@mustermann-handwerk.de",
    "phone": "+49 30 1234567"
  },
  "customer": {
    "name": "Bauprojekt Nord AG",
    "street": "Hafenallee 8",
    "zip": "20457",
    "city": "Hamburg",
    "country": "DE",
    "vatId": "DE987654321",
    "email": "kreditoren@bauprojekt-nord.de"
  },
  "lineItems": [
    {
      "description": "Elektroinstallation Bauabschnitt 1",
      "quantity": 18,
      "unit": "HUR",
      "unitNetPrice": 65,
      "vatRate": 19
    },
    {
      "description": "Material und Kleinteile",
      "quantity": 1,
      "unit": "C62",
      "unitNetPrice": 240.5,
      "vatRate": 19
    }
  ],
  "notes": "Zahlbar innerhalb von 14 Tagen ohne Abzug.",
  "dueDate": "2026-06-29",
  "paymentTerms": "Zahlbar innerhalb von 14 Tagen ohne Abzug.",
  "paymentMeansCode": "58",
  "iban": "DE02100100100006820101",
  "bic": "PBNKDEFFXXX"
}
Beispiel-Antwort (200)
{
  "xrechnung": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rsm:CrossIndustryInvoice ...>...</rsm:CrossIndustryInvoice>",
  "zugferd": "JVBERi0xLjcKJ... (Base64, ZUGFeRD-PDF mit eingebetteter CII)",
  "validation": {
    "status": "unverified",
    "messages": ["Validator nicht konfiguriert"]
  }
}

Ohne angebundenen KoSIT-Validator liefert validation.status ehrlich den Wert unverified. Wir behaupten keine Prüfung, die nicht stattgefunden hat. Dies ist kein steuerlicher Rat.