tzatti1 avatar

ZUGFeRD Validator

tzatti1/zugferd-validator

Validates European e-invoices (ZUGFeRD, Factur-X, XRechnung) against the EN 16931 standard and returns structured JSON with actual fix suggestions. You get three tools: validate_invoice checks compliance and returns errors with XPath references and concrete XML examples, extract_xml pulls embedded XML from ZUGFeRD PDFs, and check_consistency catches manipulation by comparing visible PDF data against the embedded invoice data. Each error includes a rule ID, affected field, and actionable correction. Hosted in Germany using Mustang Project and KoSIT engines, so no local validation infrastructure needed. Useful if you're building invoicing systems, financial automation, or need to verify supplier invoices in AI workflows without parsing spec documents yourself.

tools
6
auth
Secret needed
transport
STDIO, HTTP
env var
1
last updated
Jul 23, 2026

Install

From registry metadata
$ npx add-mcp https://api.zugferd-validator.de/mcp --name validator --header 'X-Api-Key: ${X_API_KEY}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http validator https://api.zugferd-validator.de/mcp --header 'X-Api-Key: YOUR_X_API_KEY'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 6 tools

Verified live against the running server on Nov 6, 2026.

validate_invoiceValidiert eine E-Rechnung (ZUGFeRD/Factur-X PDF oder XRechnung XML) gegen EN 16931 und gibt strukturierte Ergebnisse mit Korrekturvorschlägen zurück.3 params

Validiert eine E-Rechnung (ZUGFeRD/Factur-X PDF oder XRechnung XML) gegen EN 16931 und gibt strukturierte Ergebnisse mit Korrekturvorschlägen zurück.

Parameters* required
file_content*string
Base64-kodierter Inhalt der PDF- oder XML-Datei
file_type*string
'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnungone of pdf · xml
profilestring
Erwartetes Profil (optional, wird automatisch erkannt)one of minimum · basic_wl · basic · en16931 · extended · xrechnung
extract_xmlExtrahiert die eingebettete XML-Datei aus einem ZUGFeRD/Factur-X PDF.1 params

Extrahiert die eingebettete XML-Datei aus einem ZUGFeRD/Factur-X PDF.

Parameters* required
pdf_content*string
Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei
check_consistencyPrüft ob die sichtbaren PDF-Daten mit den eingebetteten XML-Daten übereinstimmen.1 params

Prüft ob die sichtbaren PDF-Daten mit den eingebetteten XML-Daten übereinstimmen.

Parameters* required
pdf_content*string
Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei
view_invoiceZeigt eine E-Rechnung lesbar an: XRechnung oder CII als XML oder eine ZUGFeRD/Factur-X-PDF. Liefert HTML der Rechnung (KoSIT-Visualisierung, bereinigt: kein Script, lädt nichts nach) und die eingebetteten Anhänge getrennt. Mit check=true kommt die Kurzfassung der Prüfung dazu....4 params

Zeigt eine E-Rechnung lesbar an: XRechnung oder CII als XML oder eine ZUGFeRD/Factur-X-PDF. Liefert HTML der Rechnung (KoSIT-Visualisierung, bereinigt: kein Script, lädt nichts nach) und die eingebetteten Anhänge getrennt. Mit check=true kommt die Kurzfassung der Prüfung dazu....

Parameters* required
checkboolean
Zusätzlich prüfen und das Ergebnis kurz mitgeben. Standard false.
file_content*string
Base64-kodierter Inhalt der PDF- oder XML-Datei
file_type*string
'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung/CIIone of pdf · xml
languagestring
Sprache der Ansicht. Standard 'de'.one of de · en · fr
create_invoiceErstellt aus strukturierten Daten eine gültige E-Rechnung, als ZUGFeRD-PDF (PDF/A-3 mit eingebettetem XML) oder als XRechnung-XML. Unterstützt mehrere Positionen, durchlaufende Posten, Rabatte und Zuschläge, Leistungszeitraum, schon gezahlte Beträge, Steuernummer, SEPA-Lastsch...25 params

Erstellt aus strukturierten Daten eine gültige E-Rechnung, als ZUGFeRD-PDF (PDF/A-3 mit eingebettetem XML) oder als XRechnung-XML. Unterstützt mehrere Positionen, durchlaufende Posten, Rabatte und Zuschläge, Leistungszeitraum, schon gezahlte Beträge, Steuernummer, SEPA-Lastsch...

Parameters* required
allowances_chargesarray
Rabatte/Zuschläge auf Dokumentebene
attachmentsarray
Anlagen (BG-24): PDF, PNG, JPEG, CSV, XLSX oder ODS, höchstens 10 Dateien, zusammen höchstens 5 MB, jeder Dateiname nur einmal. Ab zwei Anlagen warnt die Prüfung mit CII-SR-476; die Rechnung bleibt...
billing_periodobject
Leistungszeitraum (BG-14, BT-73/74), jeweils YYYY-MM-DD, Ende nicht vor Anfang. Ohne delivery_date gilt das Ende als Leistungsdatum (BT-72).
buyer*object
Käufer / Rechnungsempfänger
buyer_referencestring
Leitweg-ID / Käuferreferenz (BT-10, bei XRechnung Pflicht)
currencystring
Währung (Standard EUR)
date*string
Belegdatum (YYYY-MM-DD)
delivery_datestring
Leistungsdatum (BT-72, YYYY-MM-DD). Ohne Angabe: Ende von billing_period, bei einer Vorschussrechnung (prepayment) keins, sonst das Belegdatum.
direct_debitobject
SEPA-Lastschrift (BG-19) mit Mandatsreferenz, Gläubiger-ID und IBAN Ihres Kunden. Setzt die Zahlungsart 59; ein Empfängerkonto kommt dann nicht ins XML (BR-DE-25-b).
document_typestring
Rechnungsart (BT-3), Standard invoice. credit_note = Rechnungskorrektur (Storno), corrected = Korrektur, self_billed = Gutschriftverfahren, prepayment = Vorschuss- oder Anzahlungsrechnung (XRechnun...one of invoice · credit_note · corrected · self_billed · prepayment · partial
due_datestring
Fälligkeitsdatum (YYYY-MM-DD)
format*string
'zugferd' = PDF/A-3 mit eingebettetem XML, 'xrechnung' = reines XMLone of zugferd · xrechnung
lines*array
Rechnungspositionen (mindestens eine)
notestring
Freitext-Hinweis
number*string
Belegnummer
payment_meansobject
Zahlungsangaben (IBAN etc.)
payment_termsstring
Zahlungsbedingungen (Freitext)
preceding_invoiceobject
Bezug auf eine frühere Rechnung (BG-3, BT-25/26), etwa bei einer Rechnungskorrektur (Storno). Für mehrere Bezüge preceding_invoices, nicht beides.
preceding_invoicesarray
Bezüge auf frühere Rechnungen (BG-3), etwa Vorschussrechnungen, höchstens 20. Ins XML kommt in beiden Formaten nur der erste als BG-3; alle weiteren nennt der Hinweis (BT-22).
prepaid_amount_centsinteger
Schon gezahlt, etwa ein Vorschuss, brutto in Cent (BT-113). Wir ziehen es vom Zahlbetrag ab (BR-CO-16); höher als der Gesamtbetrag geht nicht. Dazu kommt ein Hinweis (BT-22) mit dem Abzug und den B...

+5 more parameters. See the server's own documentation for the full schema.

validation_reportErzeugt aus einer E-Rechnung einen Validierungsbericht als PDF (PDF/A-3b) zum Ablegen und Weitergeben. Der Bericht nennt Ergebnis, alle Meldungen mit Regel-ID und Feld, den Prüfzeitpunkt, Format und Profil, die SHA-256-Prüfsumme der geprüften Datei sowie die Versionen der Prüf...5 params

Erzeugt aus einer E-Rechnung einen Validierungsbericht als PDF (PDF/A-3b) zum Ablegen und Weitergeben. Der Bericht nennt Ergebnis, alle Meldungen mit Regel-ID und Feld, den Prüfzeitpunkt, Format und Profil, die SHA-256-Prüfsumme der geprüften Datei sowie die Versionen der Prüf...

Parameters* required
attach_sourceboolean
Geprüfte Rechnung sichtbar anhängen (PDF-Seiten bzw. abgedruckter XML-Inhalt). Standard false.
file_content*string
Base64-kodierter Inhalt der PDF- oder XML-Datei
file_namestring
Dateiname, der im Bericht steht.
file_type*string
Dateityp: 'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung/CIIone of pdf · xml
langstring
Sprache des Berichts. Standard 'de'.one of de · en · fr

Sponsors

Configuration

ZUGFERD_API_KEY*secret

API-Key von https://zugferd-validator.de/konto (Demo-Key: zv_demo_public_zugferd_2026)

Readme

Details

Repository
github.com/tzatti1/zugferd-validator
Website
zugferd-validator.de
Package
zugferd-mcp-client
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026