Validiert E-Rechnungen (ZUGFeRD/Factur-X, XRechnung) gegen EN 16931 mit Korrekturvorschlägen.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
API-Key von https://zugferd-validator.de/konto (Demo-Key: zv_demo_public_zugferd_2026)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Prüft ob die sichtbaren PDF-Daten mit den eingebetteten XML-Daten übereinstimmen.
Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Prüft ob die sichtbaren PDF-Daten mit den eingebetteten XML-Daten übereinstimmen.
| Argument | Type | Description |
|---|---|---|
| pdf_content* | string | Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pdf_content"
],
"properties": {
"pdf_content": {
"type": "string",
"description": "Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei"
}
},
"additionalProperties": false
}Erstellt aus strukturierten Daten eine valide E-Rechnung — entweder als ZUGFeRD-PDF (PDF/A-3 mit eingebettetem XML) oder als reines XRechnung-XML (mit Leitweg-ID für B2G). Unterstützt mehrere Positionen, alle USt-Kategorien, Rabatte/Zuschläge und Zahlungsangaben. Stateless — es wird nichts gespeichert.
| Argument | Type | Description |
|---|---|---|
| date* | string | Belegdatum (YYYY-MM-DD) |
| note | string | Freitext-Hinweis |
| buyer* | object | Käufer / Rechnungsempfänger |
| lines* | array | Rechnungspositionen (mindestens eine) |
| format* | string | 'zugferd' = PDF/A-3 mit eingebettetem XML, 'xrechnung' = reines XML |
| number* | string | Belegnummer |
| seller | object | Verkäufer / Rechnungssteller. Weglassen, wenn im Konto feste Absenderdaten hinterlegt sind — sie werden dann eingesetzt. |
| currency | string | Währung (Standard EUR) |
| due_date | string | Fälligkeitsdatum (YYYY-MM-DD) |
| type_code | string | Roher UNTDID-1001-Code (überschreibt document_type; für seltene Typen wie 875-877 Bauleistung) |
| self_check | boolean | Wenn true, wird die erzeugte Rechnung sofort gegen EN 16931 geprüft (langsamer). Standard: false. |
| seller_logo | string | Logo als Base64 (PNG/JPG) — nur im Pro/Ultra-Tarif |
| delivery_date | string | Leistungs-/Lieferdatum (BT-72, YYYY-MM-DD). In Deutschland Pflichtangabe; ohne Angabe gilt das Belegdatum. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"format",
"number",
"date",
"buyer",
"lines"
],
"properties": {
"date": {
"type": "string",
"description": "Belegdatum (YYYY-MM-DD)"
},
"note": {
"type": "string",
"description": "Freitext-Hinweis"
},
"buyer": {
"type": "object",
"required": [
"name"
],
"properties": {
"zip": {
"$ref": "#/properties/seller/properties/zip"
},
"city": {
"$ref": "#/properties/seller/properties/city"
},
"name": {
"$ref": "#/properties/seller/properties/name"
},
"email": {
"$ref": "#/properties/seller/properties/email"
},
"phone": {
"$ref": "#/properties/seller/properties/phone"
},
"street": {
"$ref": "#/properties/seller/properties/street"
},
"vat_id": {
"$ref": "#/properties/seller/properties/vat_id"
},
"country": {
"$ref": "#/properties/seller/properties/country"
},
"contact_name": {
"$ref": "#/properties/seller/properties/contact_name"
}
},
"description": "Käufer / Rechnungsempfänger",
"additionalProperties": false
},
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity",
"unit_net_price_cents",
"vat_rate"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Bezeichnung der Position"
},
"unit": {
"type": "string",
"description": "Einheit (UN/ECE Rec 20, Standard C62 = Stück)"
},
"quantity": {
"type": "number",
"description": "Menge"
},
"vat_rate": {
"type": "number",
"description": "USt-Satz in Prozent (0 bei Z/E/AE)"
},
"description": {
"type": "string",
"description": "Optionale Detailbeschreibung"
},
"vat_category": {
"enum": [
"S",
"Z",
"E",
"AE",
"K",
"G",
"O"
],
"type": "string",
"description": "USt-Kategorie (Standard S). Z=0%, E=befreit, AE=Reverse-Charge"
},
"unit_net_price_cents": {
"type": "integer",
"description": "Netto-Einzelpreis in Cent"
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Rechnungspositionen (mindestens eine)"
},
"format": {
"enum": [
"zugferd",
"xrechnung"
],
"type": "string",
"description": "'zugferd' = PDF/A-3 mit eingebettetem XML, 'xrechnung' = reines XML"
},
"number": {
"type": "string",
"minLength": 1,
"description": "Belegnummer"
},
"seller": {
"type": "object",
"required": [
"name"
],
"properties": {
"zip": {
"type": "string",
"description": "Postleitzahl"
},
"city": {
"type": "string",
"description": "Ort"
},
"name": {
"type": "string",
"minLength": 1,
"description": "Firmenname / Name"
},
"email": {
"type": "string",
"description": "E-Mail / elektronische Adresse (für XRechnung Pflicht)"
},
"phone": {
"type": "string",
"description": "Telefon (Kontakt)"
},
"street": {
"type": "string",
"description": "Straße und Hausnummer"
},
"vat_id": {
"type": "string",
"description": "USt-IdNr. (z.B. DE123456789)"
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO-3166 Alpha-2 Ländercode, Standard DE"
},
"contact_name": {
"type": "string",
"description": "Ansprechpartner"
}
},
"description": "Verkäufer / Rechnungssteller. Weglassen, wenn im Konto feste Absenderdaten hinterlegt sind — sie werden dann eingesetzt.",
"additionalProperties": false
},
"currency": {
"type": "string",
"description": "Währung (Standard EUR)"
},
"due_date": {
"type": "string",
"description": "Fälligkeitsdatum (YYYY-MM-DD)"
},
"type_code": {
"type": "string",
"description": "Roher UNTDID-1001-Code (überschreibt document_type; für seltene Typen wie 875-877 Bauleistung)"
},
"self_check": {
"type": "boolean",
"description": "Wenn true, wird die erzeugte Rechnung sofort gegen EN 16931 geprüft (langsamer). Standard: false."
},
"seller_logo": {
"type": "string",
"description": "Logo als Base64 (PNG/JPG) — nur im Pro/Ultra-Tarif"
},
"delivery_date": {
"type": "string",
"description": "Leistungs-/Lieferdatum (BT-72, YYYY-MM-DD). In Deutschland Pflichtangabe; ohne Angabe gilt das Belegdatum."
},
"document_type": {
"enum": [
"invoice",
"credit_note",
"corrected",
"self_billed",
"prepayment",
"partial",
"debit_note"
],
"type": "string",
"description": "Dokumenttyp (Standard invoice). credit_note=Gutschrift/Storno, corrected=Korrektur, self_billed=Gutschriftverfahren, prepayment=Anzahlung, partial=Teilrechnung, debit_note=Belastungsanzeige. Mappt auf BT-3."
},
"payment_means": {
"type": "object",
"properties": {
"bic": {
"type": "string",
"description": "BIC"
},
"iban": {
"type": "string",
"description": "IBAN des Zahlungsempfängers"
},
"type_code": {
"type": "string",
"description": "BT-81 UNTDID-4461-Code (z.B. 58 = SEPA-Überweisung)"
},
"account_name": {
"type": "string",
"description": "Kontoinhaber"
}
},
"description": "Zahlungsangaben (IBAN etc.)",
"additionalProperties": false
},
"payment_terms": {
"type": "string",
"description": "Zahlungsbedingungen (Freitext)"
},
"billing_period": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string"
},
"start": {
"type": "string"
}
},
"description": "Leistungszeitraum (BG-14, BT-73/74) bei laufenden Leistungen, jeweils YYYY-MM-DD. Ersetzt delivery_date.",
"additionalProperties": false
},
"buyer_reference": {
"type": "string",
"description": "Leitweg-ID / Käuferreferenz (BT-10, bei XRechnung Pflicht)"
},
"preceding_invoice": {
"type": "object",
"required": [
"number"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"number": {
"type": "string"
}
},
"description": "Bezug auf die Ursprungsrechnung (BT-25/26) — bei Storno, Korrektur oder Gutschrift angeben",
"additionalProperties": false
},
"allowances_charges": {
"type": "array",
"items": {
"type": "object",
"required": [
"charge",
"amount_cents",
"vat_rate"
],
"properties": {
"charge": {
"type": "boolean",
"description": "true = Zuschlag, false = Rabatt (auf Dokumentebene)"
},
"reason": {
"type": "string",
"description": "Begründung"
},
"vat_rate": {
"type": "number",
"description": "Zugehöriger USt-Satz in Prozent"
},
"amount_cents": {
"type": "integer",
"description": "Betrag in Cent (positiv)"
},
"vat_category": {
"$ref": "#/properties/lines/items/properties/vat_category",
"description": "Zugehörige USt-Kategorie (Standard S)"
}
},
"additionalProperties": false
},
"description": "Rabatte/Zuschläge auf Dokumentebene"
}
},
"additionalProperties": false
}Extrahiert die eingebettete XML-Datei aus einem ZUGFeRD/Factur-X PDF.
| Argument | Type | Description |
|---|---|---|
| pdf_content* | string | Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pdf_content"
],
"properties": {
"pdf_content": {
"type": "string",
"description": "Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei"
}
},
"additionalProperties": false
}Validiert eine E-Rechnung (ZUGFeRD/Factur-X PDF oder XRechnung XML) gegen EN 16931 und gibt strukturierte Ergebnisse mit Korrekturvorschlägen zurück.
| Argument | Type | Description |
|---|---|---|
| profile | string | Erwartetes Profil (optional, wird automatisch erkannt) |
| file_type* | string | 'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung |
| file_content* | string | Base64-kodierter Inhalt der PDF- oder XML-Datei |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_content",
"file_type"
],
"properties": {
"profile": {
"enum": [
"minimum",
"basic_wl",
"basic",
"en16931",
"extended",
"xrechnung"
],
"type": "string",
"description": "Erwartetes Profil (optional, wird automatisch erkannt)"
},
"file_type": {
"enum": [
"pdf",
"xml"
],
"type": "string",
"description": "'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung"
},
"file_content": {
"type": "string",
"description": "Base64-kodierter Inhalt der PDF- oder XML-Datei"
}
},
"additionalProperties": false
}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üfwerkzeuge. Auf Wunsch wird die geprüfte Rechnung sichtbar angehängt. Gibt das PDF base64-kodiert zurück. Ab dem Tarif Automatisieren.
| Argument | Type | Description |
|---|---|---|
| lang | string | Sprache des Berichts. Standard 'de'. |
| file_name | string | Dateiname, der im Bericht steht. |
| file_type* | string | Dateityp: 'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung/CII |
| file_content* | string | Base64-kodierter Inhalt der PDF- oder XML-Datei |
| attach_source | boolean | Geprüfte Rechnung sichtbar anhängen (PDF-Seiten bzw. abgedruckter XML-Inhalt). Standard false. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_content",
"file_type"
],
"properties": {
"lang": {
"enum": [
"de",
"en",
"fr"
],
"type": "string",
"description": "Sprache des Berichts. Standard 'de'."
},
"file_name": {
"type": "string",
"description": "Dateiname, der im Bericht steht."
},
"file_type": {
"enum": [
"pdf",
"xml"
],
"type": "string",
"description": "Dateityp: 'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung/CII"
},
"file_content": {
"type": "string",
"description": "Base64-kodierter Inhalt der PDF- oder XML-Datei"
},
"attach_source": {
"type": "boolean",
"description": "Geprüfte Rechnung sichtbar anhängen (PDF-Seiten bzw. abgedruckter XML-Inhalt). Standard false."
}
},
"additionalProperties": false
}| document_type | string | Dokumenttyp (Standard invoice). credit_note=Gutschrift/Storno, corrected=Korrektur, self_billed=Gutschriftverfahren, prepayment=Anzahlung, partial=Teilrechnung, debit_note=Belastungsanzeige. Mappt auf BT-3. |
| payment_means | object | Zahlungsangaben (IBAN etc.) |
| payment_terms | string | Zahlungsbedingungen (Freitext) |
| billing_period | object | Leistungszeitraum (BG-14, BT-73/74) bei laufenden Leistungen, jeweils YYYY-MM-DD. Ersetzt delivery_date. |
| buyer_reference | string | Leitweg-ID / Käuferreferenz (BT-10, bei XRechnung Pflicht) |
| preceding_invoice | object | Bezug auf die Ursprungsrechnung (BT-25/26) — bei Storno, Korrektur oder Gutschrift angeben |
| allowances_charges | array | Rabatte/Zuschläge auf Dokumentebene |