Kostenloser ZUGFeRD- und Factur-X-Validator
Der kostenlose Validator von Valinvo prüft eine ZUGFeRD-2.x- oder Factur-X-Rechnung, als PDF mit eingebetteter Rechnung oder als reines CII-XML, gegen die offiziellen Regeln. Bei einem PDF prüft er auch das PDF selbst (PDF/A-3) und seine Metadaten. Jedes Problem kommt mit Regel-ID, Fundstelle und Meldung. Sie brauchen weder ein Konto noch einen API-Schlüssel, und Ihre Datei wird nur im Arbeitsspeicher verarbeitet und nicht gespeichert.
Validator öffnen · Per Code nutzen (API-Schnellstart)
Was geprüft wird
- Das Rechnungs-XML (UN/CEFACT CII) gegen die FeRD-Regeln von ZUGFeRD 2.5.2 / Factur-X 1.09.2, für die Profile MINIMUM, BASIC WL, BASIC, EN 16931 und EXTENDED. Das Profil wird aus dem Dokument gelesen, Sie müssen es also nicht vorher wählen.
- Frankreich: Eine Factur-X-Rechnung im Profil EN 16931 mit französischem Rechnungsrahmen (BT-23, zum Beispiel
S1) wird zusätzlich gegen die offiziellen französischen Regeln der E-Rechnungsreform geprüft,BR-FR-…(FNFE-MPE 1.4.0.04). - Das PDF (ZUGFeRD, Factur-X oder XRechnung im PDF): Wir lesen den Anhang
factur-x.xml,zugferd-invoice.xmloderxrechnung.xmlund prüfen ihn wie oben, prüfen das PDF auf PDF/A-3 (ISO 19005-3, mit veraPDF) und prüfen, ob die XMP-Metadaten des PDFs dasselbe Profil und denselben Anhang nennen wie das XML. - Gültig (
valid) ist die Rechnung nur, wenn XML, Metadaten und PDF/A-3 alle bestehen. Das Ergebnis nennt, was angewendet wurde, zum Beispielzugferd-2.5.2-en16931+pdf-a-3uoderfactur-x-1.09.2-en16931-fr-1.4.0.04+pdf-a-3u. - Dateien bis 20 MB.
Noch nicht unterstützt: das französische Profil EXTENDED-CTC-FR und ZUGFeRD 1.0. Sie erhalten dann eine klare Meldung statt eines Ergebnisses.
Die Regeln stammen von den offiziellen Herausgebern (FeRD für ZUGFeRD / Factur-X, CEN für die EN 16931, FNFE-MPE für die französischen Regeln) und werden so angewendet, wie sie veröffentlicht sind.
So geht es
- Öffnen Sie den Validator und laden Sie das PDF hoch oder fügen Sie das XML ein.
- Klicken Sie auf Prüfen.
- Lesen Sie die Liste: Jeder Fehler zeigt die Regel-ID, die Fundstelle und was nicht stimmt. Korrigieren Sie die Rechnung in Ihrem System und prüfen Sie erneut.
Per Code: dieselbe Prüfung als API
curl -X POST https://valinvo.bmk-hub.com/v1/validate \
-H 'X-Accept-Terms: 1.0' \
-H 'Content-Type: application/pdf' \
--data-binary @invoice.pdf
Für das reine XML senden Sie Content-Type: application/xml. Ein gültiges ZUGFeRD-PDF ohne Lieferdatum ergibt:
{
"ruleSet": "zugferd-2.5.2-en16931+pdf-a-3u",
"valid": true,
"errors": [],
"warnings": [{
"rule": "PEPPOL-EN16931-R008",
"message": "Document MUST not contain empty elements. (still status warning)",
"location": "/rsm:CrossIndustryInvoice[1]/rsm:SupplyChainTradeTransaction[1]/ram:ApplicableHeaderTradeDelivery[1]"
}]
}
Warnungen machen eine Rechnung nicht ungültig. Diese ist häufig: Das ZUGFeRD-Schema verlangt den Lieferblock auch dann, wenn es weder Lieferdatum noch Lieferanschrift gibt. Eine Rechnung mit Fehlern ist eine normale Antwort 200 mit valid: false. Ein PDF ohne Rechnungsanhang ergibt 400 no_embedded_invoice. Mehr im Schnellstart.
Häufige ZUGFeRD- und Factur-X-Fehler
| Regel | Bedeutung | Übliche Lösung |
|---|---|---|
BR-CO-15, BR-CO-16 | Die Summen stimmen nicht: Brutto ≠ Netto + Umsatzsteuer, oder Zahlbetrag ≠ Brutto − bereits gezahlt + Rundung. | Summen aus den Positionen und der Steueraufschlüsselung berechnen, auf 2 Nachkommastellen gerundet. |
BR-S-02, BR-CO-26 | Positionen mit Normalsteuersatz, aber keine USt-IdNr. des Verkäufers (und keine andere Verkäuferkennung). | USt-IdNr. des Verkäufers (BT-31) angeben. |
BR-FR-05 | Eine französische Pflichtangabe fehlt: PMT (Beitreibungskosten), PMD (Verzugszinsen) oder AAB (Skonto). | Alle drei Hinweise mit ihrem Betreffcode angeben. |
BR-FR-10, BR-FR-32 | Die SIREN des Verkäufers (BT-30, Schema 0002) fehlt oder hat nicht genau 9 Ziffern. | Die 9-stellige SIREN mit Schema 0002 angeben. |
BR-FR-12 | Die elektronische Adresse des Käufers (BT-49) fehlt. | Angeben, meist Schema 0225 mit der SIREN des Käufers. |
BR-FR-CO-12 | Französische Rechnung in Fremdwährung ohne Umsatzsteuerbetrag in EUR. | Steuerwährung EUR (BT-6) und Umsatzsteuerbetrag in EUR (BT-111) angeben. |
PDF/A-3 … | Das PDF ist kein gültiges PDF/A-3. Die Regel-ID nennt Abschnitt und Test der ISO 19005-3, zum Beispiel PDF/A-3 6.2.11.4.1-1 (eine Schrift ist nicht eingebettet). | Das PDF mit einer Bibliothek erzeugen, die PDF/A-3 kann, alle Schriften eingebettet. |
ZF-XMP-1 … ZF-XMP-4 | Die Metadaten des PDFs passen nicht zur Rechnung: kein XMP, kein Profil, ein anderes Profil oder ein anderer Anhangname. | Die Factur-X-XMP-Erweiterung mit Profil und Dateinamen des XML schreiben. |
Französische Regel-IDs kommen mit dem betroffenen Geschäftsbegriff zurück, zum Beispiel BR-FR-05_BT-22_PMT. Die Meldungen der französischen Regeln sind, wie veröffentlicht, auf Französisch.
Fragen
Ist der Validator wirklich kostenlos? Ja. Der Online-Validator braucht weder Konto noch API-Schlüssel. Auch die API können Sie ohne Schlüssel mit einem kleinen Tageslimit zum Erstellen von Rechnungen ausprobieren.
Wird meine Rechnung gespeichert? Nein. Die Datei wird nur im Arbeitsspeicher verarbeitet und nicht gespeichert. Bitte verwenden Sie Beispieldaten oder Rechnungen, die Sie weitergeben dürfen.
Heißt „gültig“, dass der Empfänger sie akzeptiert? Nicht unbedingt. Die Prüfung wendet die offiziellen Regeln wie veröffentlicht an. Empfänger oder Plattformen können mehr prüfen, und die Prüfung ist keine Steuer- oder Rechtsberatung.
Kann Valinvo die Rechnung auch erstellen? Ja. Sie senden eine Rechnung als JSON und erhalten ein ZUGFeRD-PDF (zugferd-en16931) oder ein französisches Factur-X (factur-x-fr), geprüft gegen dieselben Regeln. Siehe Schnellstart.
Mit der Nutzung des Validators akzeptieren Sie die Nutzungsbedingungen (derzeit nur auf Englisch).
Schnellstart · XRechnung-Validator · ZUGFeRD-Validator · ZUGFeRD-csharp: Ihre Optionen · Fehlercodes