Dokumentation
Informationen zur Nutzung
Dieser Service kann von (kleinen) Unternehmen genutzt werden, um direkt im Browser einzelne E-Rechnungen zu prüfen und zu erzeugen. Aber die Haupt-Zielgruppe sind Entwickler, die die API nutzen wollen, um E-Rechnungen in ihre Systeme zu integrieren. Finden Sie die passenden Informationen für Ihre Zielgruppe in den folgenden Abschnitten.
Web-Validator: E-Rechnungen im Browser prüfen
Der Web-Validator ist für direkte Einzelprüfungen gedacht. Er eignet sich für XRechnung-Dateien im XML-Format und für ZUGFeRD-Dateien als PDF. Für XRechnung kann bei erfolgreicher Prüfung zusätzlich der Rechnungsinhalt im Browser angezeigt werden.
Welche Dienste bietet diese App hier?
- Validierung von XRechnung-XML im Browser.
- Validierung von ZUGFeRD-PDF im Browser für eingeloggte Benutzer.
- Lesbare HTML-Anzeige erfolgreicher XRechnungen im Browser für eingeloggte Benutzer.
Nach welchen Normen und Kriterien wird validiert?
- XRechnung wird gegen UBL/XSD, EN 16931 und XRechnung-CIUS geprüft.
- ZUGFeRD wird gegen CII/XSD und EN-16931-Regeln geprüft.
- Zusätzlich wird bei ZUGFeRD der PDF/A-Pfad mit veraPDF geprüft.
Welche Formate kann diese App erzeugen?
- XRechnung als UBL gemäß EN 16931 und XRechnung-CIUS.
- ZUGFeRD / Factur-X als CII plus Hybrid-PDF gemäß EN 16931.
So funktioniert der Test im Browser
- 1. Die Seite »Validator« öffnen und eine XML- oder PDF-Datei hochladen. XML kann alternativ direkt in das Textfeld eingefügt werden.
- 2. Auf »E-Rechnung validieren« klicken und auf das Prüfergebnis unterhalb des Buttons warten.
- 3. Bei erfolgreicher XRechnung-Prüfung kann mit »Inhalt der Rechnung anzeigen« eine strukturierte HTML-Ansicht geöffnet werden.
Wo ist das Ergebnis zu finden?
- Das Ergebnis erscheint direkt unter dem Formular auf derselben Seite.
- Gäste sehen nur den Status gültig oder fehlerhaft.
- Eingeloggte Benutzer sehen die einzelnen Fehlermeldungen und bei erfolgreicher XRechnung zusätzlich den Rechnungsinhalt.
Einschränkungen
- Gäste können nur XML- und TXT-Dateien hochladen. ZUGFeRD-PDFs sind im Web-Validator nur für eingeloggte Benutzer verfügbar.
- Gäste sind auf drei Prüfungen pro Stunde begrenzt. Mit Konto ist das Kontingent höher.
- Die Inhaltsanzeige im Browser steht nur für erfolgreich validierte XRechnung-Dateien zur Verfügung, nicht für ZUGFeRD-PDFs.
API: Schnelleinstieg für Entwickler
Die API richtet sich an Integratoren, die Rechnungen validieren, erzeugen, speichern und abrufen wollen. Die ausführliche Referenz wird separat gehostet. Hier steht nur der kompakte Einstieg mit den wichtigsten Endpunkten und der Datenstruktur für Generate.
Welche Dienste bietet diese App über die API?
- Validierung von Rechnungsdaten als JSON, XML oder ZUGFeRD-PDF.
- Erzeugung von XRechnung und ZUGFeRD aus strukturierten Rechnungsdaten.
- Abruf, Auflistung und Download erzeugter Artefakte pro API-Key.
Nach welchen Normen und Kriterien wird validiert?
- XRechnung: UBL/XSD, EN 16931 und XRechnung-CIUS.
- ZUGFeRD: CII/XSD, EN-16931-Regeln und PDF/A-Prüfung mit veraPDF.
- Die Ergebnisse werden strukturiert mit Quelle, Code, Schweregrad und Position zurückgegeben.
Welche Formate kann die API erzeugen?
- XRechnung als UBL-XML.
- ZUGFeRD / Factur-X als CII-XML und Hybrid-PDF.
- Für ZUGFeRD kann zusätzlich ein Logo eingebunden werden.
Schnelleinstieg
- 1. Konto registrieren, passenden Tarif wählen und im Dashboard einen API-Key erzeugen.
- 2. Mit »POST /v1/invoices/validate« zuerst Testdaten gegen die Validierung laufen lassen.
- 3. Mit »POST /v1/invoices/generate« die eigentliche Rechnung erzeugen, synchron oder asynchron.
- 4. Den Status über »GET /v1/invoices/{id}« abfragen und fertige Artefakte bei Bedarf herunterladen.
Ausführliche API-Dokumentation
Externe API-Doku öffnenDie vollständige Referenz mit allen Feldern, Antwortmodellen und Beispielen wird separat veröffentlicht. Bis dahin dient der folgende Überblick als schneller technischer Einstieg.
Wichtige Endpunkte mit Beispielen
POST /v1/invoices/validate
Validiert Rechnungsdaten als JSON, XML oder ZUGFeRD-PDF, ohne etwas zu speichern.
curl -X POST https://api.xinvoice.net/v1/invoices/validate \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d @payload.json
POST /v1/invoices/generate
Erzeugt eine Rechnung und liefert im Sync-Modus direkt XML bzw. PDF zurück.
curl -X POST https://api.xinvoice.net/v1/invoices/generate \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Prefer: respond-sync' \
-d @payload.json
GET /v1/invoices/{id}
Liefert Status, Validierung und Artefakte einer zuvor erzeugten Rechnung.
curl -X GET https://api.xinvoice.net/v1/invoices/{id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY'
GET /v1/invoices/{id}/download-pdf
Lädt das Hybrid-PDF einer ZUGFeRD-Rechnung herunter.
curl -X GET https://api.xinvoice.net/v1/invoices/{id}/download-pdf \
-H 'Authorization: Bearer YOUR_API_KEY' \
-o invoice.pdf
Struktur der Rechnungsdaten für die Erzeugung
Für »generate« und »validate« mit JSON werden strukturierte Rechnungsdaten erwartet. Das folgende Beispiel zeigt die wichtigsten Blöcke für Seller, Buyer und Positionen.
{
"document_format": "zugferd",
"invoice_number": "RE-2026-001",
"issue_date": "2026-04-15",
"currency": "EUR",
"seller": {
"name": "Muster GmbH",
"vat_id": "DE123456789",
"street": "Musterstr. 1",
"postal_code": "12345",
"city": "Berlin",
"country_code": "DE",
"email": "seller@example.com"
},
"buyer": {
"name": "Kunde AG",
"street": "Kundenweg 5",
"postal_code": "54321",
"city": "Hamburg",
"country_code": "DE",
"email": "buyer@example.com"
},
"items": [
{
"name": "Beratung",
"quantity": 1,
"unit_code": "H87",
"price": 100.00,
"tax_rate": 19
}
]
}
FAQ
Häufige Fragen zu Web-Validator, Konto, API-Zugang und Downloads sind auf einer eigenen FAQ-Seite zusammengefasst.
Zur FAQSupport
Wenn die Dokumentation nicht reicht oder ein konkretes Problem vorliegt, kann das Support-Formular direkt im Browser genutzt werden.
Zum Support