Für Entwickler

E-Rechnung-API

Erstellen, prüfen und anzeigen Sie E-Rechnungen aus Ihrem eigenen Programm – mit einer schlanken REST-API, Abrechnung pro Dokument und jeder Datei geprüft vom KoSIT-Validator.

Sie entwickeln eine Fakturierung, ein Kundenportal oder eine Branchensoftware und brauchen E-Rechnungen, ohne selbst EN 16931, XRechnung und ZUGFeRD umzusetzen? Die E-Rechnung-API von XRIO übernimmt das: Ihr Programm schickt Daten oder Dateien, XRIO liefert geprüfte E-Rechnungen, PDF-Ansichten und Prüfergebnisse zurück.

Authentifizierung mit API-Schlüssel

Jeder Aufruf trägt einen API-Schlüssel im Header:

Authorization: Bearer xrio_live_…

Schlüssel erstellen Sie im Portal unter „API-Schlüssel”. XRIO zeigt einen Schlüssel nur einmal an und speichert ihn ausschließlich als Hash. Sie können mehrere Schlüssel anlegen – am besten einen pro Programm – und jeden einzeln widerrufen. Das Portal zeigt, wann ein Schlüssel zuletzt benutzt wurde.

Endpunkte

Die Basis-URL ist https://api.xrio.de.

EndpunktEingabeAusgabePreis
POST /v1/invoices/validatePDF oder XMLUrteil, Befunde, eingebettetes XML0,05 €
POST /v1/invoices/generateRechnungsdaten (JSON) + FormatE-Rechnung + Prüfbericht0,25 € je E-Rechnung
POST /v1/invoices/renderXMLPDF-Ansicht + Urteil + Befunde0,25 €
GET /v1/files/:fileId–frischer Download-Link (Datei 7 Tage)kostenlos

Dazu kommen Verlauf, Firmendaten, Bankverbindungen und Logo. Alle Endpunkte mit Feldern, Antworten und Fehlern stehen in der API-Dokumentation.

Beim Erstellen wählen Sie das Format xrechnung, zugferd oder both. Eine Datei übergeben Sie als Request-Body (application/pdf oder application/xml), Werte als JSON.

Beispiel: E-Rechnung prüfen

Python:

import requests

with open("rechnung.xml", "rb") as f:
    r = requests.post(
        "https://api.xrio.de/v1/invoices/validate",
        data=f,
        headers={"Authorization": "Bearer xrio_live_…"},
    )
print(r.json()["verdict"])

JavaScript (Node.js):

import { readFile } from "node:fs/promises";

const res = await fetch("https://api.xrio.de/v1/invoices/validate", {
  method: "POST",
  headers: { Authorization: "Bearer xrio_live_…" },
  body: await readFile("rechnung.xml"),
});
console.log((await res.json()).verdict);

Das Urteil lautet valid, invalid oder notEInvoice (PDF ohne E-Rechnungs-XML). Auch „ungültig” ist ein Ergebnis: validate antwortet dann mit HTTP 200 und den Befunden.

Antworten und Fehler

Jede Antwort hat dieselbe Form: Urteil, findings[], notices[] und – wo XRIO Dateien erzeugt – files[] mit fileId, downloadUrl und Ablaufzeit. Ein Befund nennt Regel, Geschäftsbegriff, Stelle (JSON-Pointer in Ihre Anfrage oder XPath ins XML), die Anforderung im Originalwortlaut der offiziellen Quelle und die Quelle selbst.

Fehler kommen als application/problem+json nach RFC 9457, immer mit traceId:

StatusBedeutung
401kein oder ungültiger API-Schlüssel
402INSUFFICIENT_CREDIT – Guthaben reicht nicht
404Datei unbekannt oder abgelaufen
409Idempotency-Key mit anderem Inhalt wiederverwendet
413Datei zu groß
422VALIDATION_FAILED – die E-Rechnung besteht die Prüfung nicht, mit Befunden
429Nutzungslimit erreicht
503vorübergehend nicht verfügbar – erneut senden

generate gibt nie eine ungültige E-Rechnung aus. Besteht die Datei die KoSIT-Prüfung nicht, erhalten Sie die Befunde und keine Datei – und zahlen nichts. XRIO ändert oder errät keine Werte; Ihr Programm korrigiert und sendet erneut.

Wiederholungen ohne doppelte Kosten

Netzwerke brechen ab, Programme wiederholen Aufrufe. Senden Sie deshalb einen Idempotency-Key-Header mit: Derselbe Aufruf mit demselben Schlüssel liefert dasselbe Ergebnis und wird nur einmal berechnet. XRIO speichert dafür nur den Schlüssel und einen Verweis auf das Ergebnis, innerhalb von 7 Tagen.

Dateien und Aufbewahrung

Ergebnisdateien landen nie direkt in der Antwort. Sie erhalten einen signierten Download-Link, der 24 Stunden ohne Anmeldung funktioniert; innerhalb von 7 Tagen holen Sie über GET /v1/files/:fileId einen neuen. Danach löscht XRIO die Datei. XRIO ist kein Archiv – die Aufbewahrung Ihrer Rechnungen bleibt Ihre Aufgabe. Hochgeladene Dateien werden verarbeitet und nicht dauerhaft gespeichert: Eine Anfrage wird nur gehalten, bis ihr Ergebnis vorliegt.

Abrechnung pro Dokument, ohne Abo

Die API wird aus einem Prepaid-Guthaben bezahlt, das Sie im Portal aufladen – auf Wunsch automatisch, sobald es eine Schwelle unterschreitet. Nach der Bestätigung Ihrer E-Mail erhalten Sie 5 € Startguthaben. Ist das Guthaben leer, antwortet die API mit 402. Alle Preise stehen auf der Seite Preise.

API oder MCP?

Die REST-API ist für Programme gedacht. Arbeiten Sie mit einem KI-Assistenten wie Claude Code, Cursor oder der Gemini CLI, ist der MCP-Server der direktere Weg: Er bietet dieselben Funktionen als Werkzeuge an, die Ihre KI selbst aufruft – mehr unter E-Rechnung per MCP.

Häufige Fragen

Gibt es eine API für E-Rechnungen?

Ja. Die REST-API von XRIO erstellt XRechnung und ZUGFeRD aus JSON-Daten, prüft bestehende E-Rechnungen mit dem KoSIT-Validator, gibt XRechnungen als PDF-Ansicht zum Lesen aus. Eine normale PDF-Rechnung liest Ihre eigene KI, XRIO erstellt daraus die E-Rechnung.

Wie authentifiziere ich mich an der API?

Mit einem API-Schlüssel im Header Authorization als Bearer-Token. Schlüssel erstellen Sie im Portal. Er wird nur einmal angezeigt, gehasht gespeichert und kann jederzeit widerrufen werden.

Was kostet die E-Rechnung-API?

Erstellen und PDF-Ansicht kosten 0,25 € netto pro Dokument; XRechnung und ZUGFeRD in einem Aufruf sind zwei Dokumente. Prüfen kostet 0,05 €, eine von XRIO erstellte Datei prüfen Sie kostenlos. Downloads und abgelehnte Aufrufe kosten nichts. Bezahlt wird aus Prepaid-Guthaben, ohne Abo.

Was passiert, wenn mein Programm einen Aufruf wiederholt?

Senden Sie einen Idempotency-Key mit. Derselbe Aufruf mit demselben Schlüssel liefert dasselbe Ergebnis und wird nur einmal berechnet.

Gibt die API Dateien direkt in der Antwort zurück?

Nein. Die Antwort enthält unter files[] eine fileId und einen signierten Download-Link, der 24 Stunden gilt. Die Dateien selbst hält XRIO 7 Tage bereit.

Starten Sie mit 5 € Startguthaben.

Konto anlegen, API-Schlüssel erzeugen, Ihre KI verbinden. Abgelehnte Versuche kosten nichts.