Warum überhaupt validieren?
Eine nicht konforme E-Rechnung kann vom Empfänger oder dessen System abgelehnt werden — das verzögert Zahlungen und verursacht Nacharbeit. Die Validierung stellt vor dem Versand sicher, dass alle Pflichtfelder vorhanden, Codes gültig und Beträge rechnerisch konsistent sind. Wer zur E-Rechnungspflicht verpflichtet ist, kommt an einer Prüfung ohnehin nicht vorbei.
In 5 Schritten zur konformen E-Rechnung
Datei vorbereiten
Lege die zu prüfende Datei bereit — ein ZUGFeRD-/Factur-X-PDF oder eine XRechnung-/CII-XML. Kodiere den Inhalt base64, da die API den Dateiinhalt als Text entgegennimmt.
# XML base64-kodieren (macOS/Linux)
base64 -i rechnung.xml -o rechnung.b64
Gegen EN 16931 prüfen
Sende die Datei per POST an /v1/validate. Gib file_type als xml (XRechnung) oder pdf (ZUGFeRD) an und übergib deinen API-Key im X-Api-Key-Header.
curl -X POST https://api.zugferd-validator.de/v1/validate \ -H "X-Api-Key: zv_demo_public_zugferd_2026" \ -H "Content-Type: application/json" \ -d '{"file_content":"<BASE64>","file_type":"xml"}'
Validierungsreport lesen
Die Antwort ist strukturiertes JSON. Das Feld valid zeigt das Gesamtergebnis, errors und warnings listen jeden Punkt mit Regel-ID, Feld, Meldung und Korrekturvorschlag.
{
"valid": false,
"format": "XRechnung 3.0 (CII)",
"errors": [{
"rule_id": "BR-DE-15",
"field": "BT-10",
"fix_suggestion": "Füge ram:BuyerReference (BT-10) hinzu …",
"xpath": "//ram:SellerTradeParty/…"
}]
}
Fehler beheben
Nutze fix_suggestion und xpath, um das betroffene XML-Element zu korrigieren. Die Bedeutung jeder Regel-ID schlägst du im Fehlercode-Lexikon nach — dort steht zu jedem Code, welches Feld betroffen ist und wie du es richtig setzt.
Erneut validieren
Wiederhole die Prüfung, bis valid auf true steht und keine Fehler mehr erscheinen. Warnungen solltest du prüfen, sie blockieren die Konformität aber nicht zwingend.
zv_demo_public_zugferd_2026 kannst du sofort ohne Anmeldung testen (1 Anfrage pro Tag). Für mehr hol dir einen kostenlosen API-Key mit 20 Validierungen pro Woche.XRechnung vs. ZUGFeRD: was ist der Unterschied bei der Validierung?
Beide Formate erfüllen dieselbe Norm, unterscheiden sich aber im Aufbau. Eine XRechnung ist eine reine XML-Datei — der deutsche Verwaltungsstandard für Rechnungen an öffentliche Auftraggeber. Ein ZUGFeRD- oder Factur-X-Dokument ist dagegen hybrid: ein PDF, in das dieselbe strukturierte XML eingebettet ist und das zusätzlich für Menschen lesbar bleibt.
Für die Prüfung heißt das: Der fachliche Kern ist identisch — beide werden gegen EN 16931 und die deutschen KoSIT-Geschäftsregeln (BR-DE) validiert. Der Unterschied liegt davor und daneben. Bei einer XRechnung wird die XML direkt geprüft; bei ZUGFeRD muss sie erst aus dem PDF extrahiert werden. Zusätzlich gelten für die XRechnung die schärferen Regeln des deutschen CIUS, während bei ZUGFeRD das Profil (etwa BASIC oder EN16931) bestimmt, welche Felder überhaupt erwartet werden.
Ein zweites Werkzeug brauchst du dafür nicht: Der Online-Validator erkennt beide Formate automatisch und meldet Verstöße einheitlich mit Regel-ID und XPath. Welches Format wann vorgeschrieben ist und wie sich Factur-X einordnet, klärt der ausführliche Vergleich ZUGFeRD vs. XRechnung vs. Factur-X.
PDF oder XML: welchen file_type übergebe ich?
Bei einer XRechnung übergibst du die XML direkt (file_type: "xml"). Bei einem ZUGFeRD-PDF (file_type: "pdf") extrahiert der Validator das eingebettete XML automatisch und erkennt das Profil. Inhaltlich wird in beiden Fällen gegen EN 16931 und die deutschen KoSIT-Regeln geprüft.