E-Rechnung im B2B: nächste Frist 1. Januar 2027

ZUGFeRD und XRechnung über eine API

Ab dem 1. Januar 2027 müssen Unternehmen mit mehr als 800.000 € Vorjahresumsatz strukturierte B2B-Rechnungen ausstellen, ab dem 1. Januar 2028 alle. invoiceapi.io erzeugt sie aus Ihren Daten — geprüft, abgelegt und nachrechenbar.

Für Entwicklerinnen und Entwickler, die Rechnungen aus einer eigenen Anwendung stellen und Format, Aufbewahrung und Nachvollziehbarkeit nicht selbst bauen wollen.

  • Geprüft mit dem KoSIT-Validator und veraPDF
  • ZUGFeRD PDF/A-3U und XRechnung als XML
  • Rechnungen und Sicherungen in Deutschland gespeichert

Ein Aufruf. Geprüfte Dokumente zurück.

Ein POST je Rechnung. Die Vorlage legt Layout und Absenderprofil fest; Ihr Datensatz enthält die Rechnung selbst.

POST /v1/templates/{id}/invoices
Ein Endpunkt je Vorlage.
Authorization: Bearer sk_test_…
sk_test_ für Testrechnungen mit Wasserzeichen, sk_live_ für echte. Derselbe Pfad, dieselbe Prüfung, nur lehnt sk_live_ die Beispieldaten ab.
Idempotency-Key
Senden Sie Schlüssel und Datensatz erneut, bekommen Sie die ursprüngliche Rechnung zurück, keine zweite.
422 application/problem+json
Prüfung fehlgeschlagen: Die Regel-ID kommt zurück, und es wird nichts erzeugt oder abgelegt.

Rechnungsprofil und Vorlage legen Sie einmalig im Dashboard an. Danach ist jede Rechnung ein Aufruf. Der Testmodus ist derselbe Weg mit einem sk_test_-Schlüssel.

curl -X POST https://invoiceapi.io/v1/templates/$TEMPLATE_ID/invoices \
  -H "Authorization: Bearer $INVOICEAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @rechnung.json

{
  "buyer": {
    "name": "Kunde AG",
    "vatId": "DE987654321",
    "electronicAddress": "rechnung@kunde.example",
    "address": {
      "line1": "Kundenweg 1",
      "city": "München",
      "postCode": "80331",
      "countryCode": "DE"
    }
  },
  "invoice": {
    "number": "R-2026-1001",
    "issueDate": "2026-07-01",
    "dueDate": "2026-07-31",
    "currency": "EUR",
    "buyerReference": "KND-2026-77"
  },
  "items": [
    {
      "name": "Beratung",
      "quantity": "8",
      "unit": "HUR",
      "unitPrice": "120.00",
      "vatRate": "19"
    }
  ],
  "payment": {
    "reference": "R-2026-1001"
  }
}

Schlägt die Prüfung fehl, kommt die Regel-ID zurück — für die 77 katalogisierten Regeln auf Deutsch und Englisch, mit BT-Code und Pfad soweit hinterlegt; für alle anderen der unübersetzte KoSIT-Text. Es wird nichts ausgeliefert und nichts abgelegt.

Postman-Collection zum Import (JSON)

Ein Datensatz, zwei Formate

Sie senden die Rechnungsdaten einmal. Beide Formate entstehen daraus, werden geprüft und abgelegt.

rechnung.json

Ihre Daten

Empfänger, Positionen und Zahlungsbedingungen als JSON; Absender und Bankverbindung kommen aus dem Profil.

R-2026-1001.pdf

ZUGFeRD

PDF/A-3U mit eingebettetem CII-XML. Menschen sehen ein Dokument, Systeme lesen die Daten.

PDF/A-3U · CII XML

R-2026-1001.xml

XRechnung

Reines XML nach EN 16931 — für die öffentliche Verwaltung und alle Empfänger, die XML erwarten.

XML · EN 16931

Archiv

Jedes Dokument wird gespeichert und beim Abruf nie neu erzeugt. Sie bekommen dieselben Bytes zurück, die geprüft wurden.

SHA-256

Woran Sie das nachprüfen können

Jede Aussage dieser Seite, so formuliert, dass Sie sie selbst nachprüfen können.

Formate
ZUGFeRD · XRechnung
ZUGFeRD als PDF/A-3U (Mustang), XRechnung als XML. Rechnungswährung ist EUR.
Prüfung
KoSIT-Validator + veraPDF
KoSIT-Validator, dazu veraPDF für die PDF/A-3U-Konformität. Die Prüfung ist ein hartes Tor: fällt sie durch, entsteht keine Datei. Welche Version des KoSIT-Validators und welches Szenario gerade laufen, meldet GET /v1/health; nach einer bestandenen Prüfung stehen beide auch in validation.summary.
Standort
Deutschland (Falkenstein, Nürnberg)
Server, Datenbank und Rechnungsarchiv in Falkenstein, die verschlüsselten Sicherungen in Nürnberg, beide in Deutschland. Endpunkt und Region des Archivs werden beim ersten Zugriff mit einer festen Liste zulässiger Standorte abgeglichen.
Aufbewahrung
8 oder 10 Jahre
Ab Ende des Kalenderjahres, wahlweise 8 oder 10 Jahre. Ein Legal Hold setzt die Löschung aus.
Hash-Kette
SHA-256
Je Organisation eine fortlaufende SHA-256-Kette über Eingabedaten und Ausgabedateien. Eine nachträgliche Änderung fällt beim Nachrechnen auf. GoBD-orientiert.
Fehlermeldungen
Deutsch + Englisch
Die 77 katalogisierten KoSIT-Regeln kommen als Klartext auf Deutsch und Englisch zurück, mit EN-16931-BT-Code und Pfad in Ihrem Datensatz, soweit hinterlegt. Nicht katalogisierte Regeln liefern stattdessen den unübersetzten KoSIT-Rohtext.
Export
ZIP · CSV · Nachweis
Ein ZIP mit Originaldateien, CSV und einem Ketten-Nachweis, den eine Prüferin ohne uns nachrechnen kann.

Kostenlos

0 € pro Monat

50 Live-Dokumente pro Monat
1 Rechnungsprofil

Starter

19 € pro Monat (netto)

500 Live-Dokumente pro Monat
1 Rechnungsprofil

Pro

49 € pro Monat (netto)

2.500 Live-Dokumente pro Monat
5 Rechnungsprofile

Business

149 € pro Monat (netto)

10.000 Live-Dokumente pro Monat
Unbegrenzt viele Rechnungsprofile

Der Testmodus zählt nicht gegen das Dokumentkontingent. Testrechnungen tragen ein TESTRECHNUNG-Wasserzeichen. Alle Beträge netto. Umsatzsteuer weisen wir nicht aus; für Unternehmer in der EU gilt Reverse Charge.

Der Testmodus ist kostenlos

Ihre erste geprüfte Rechnung beginnt hier

Mit Ihrer E-Mail-Adresse anmelden, Rechnungsprofil und Vorlage anlegen und die API mit einem sk_test_-Schlüssel aufrufen. Testrechnungen durchlaufen dieselbe Prüfung wie Live-Rechnungen und tragen ein TESTRECHNUNG-Wasserzeichen; nur Live-Rechnungen lehnen die Beispieldaten ab.

  1. Anmelden

    Ein Anmeldecode in Ihr Postfach. Kein Passwort nötig.

  2. Profil und Vorlage

    Absenderdaten und Layout, einmalig im Dashboard angelegt.

  3. Ein API-Aufruf

    Rechnungsdaten senden, geprüfte Dokumente zurückbekommen.

    POST /v1/templates/{id}/invoices