Validate an e-invoice – free, without sign-up
Upload an XML or PDF invoice: the validator detects the format and country itself and checks it with the official rule sets – XRechnung, ZUGFeRD / Factur-X, Peppol BIS, FatturaPA, KSeF FA(3), CIUS-RO and HR-CIUS.
This page in: Deutsch
What is checked
- Format, profile and syntax are detected automatically: UBL, CII, FatturaPA, KSeF and PDF with embedded XML.
- XML Schema and Schematron rules of the matching rule set, in the version in force.
- ZUGFeRD and Factur-X PDFs are also checked for PDF/A-3 with veraPDF.
- Every finding with rule id, severity, message and location in the XML – and a link to the rule explained.
Rule sets used
| Rule set | Published by | Version |
|---|---|---|
| XRechnung with the CEN EN 16931 rules | KoSIT, CEN | 3.0.2 |
| ZUGFeRD / Factur-X | FeRD, FNFE-MPE | 2.5.2 |
| Peppol BIS Billing 3.0 | OpenPeppol | 3.0-2026.5 |
| KSeF FA(3) (XML schema) | Polish Ministry of Finance | FA3-1-0E |
| French rules BR-FR, EXTENDED-CTC-FR | FNFE-MPE | 1.4.0.04 |
| CIUS-RO | Romanian Ministry of Finance | 1.0.9 |
| HR-CIUS (eRačun) | Croatian Tax Administration | 1.0.4 |
| Checks for Slovakia | this API (not official rules) | 1.0 |
| FatturaPA (XML schema, SDI controls) | Agenzia delle Entrate | 1.2.3 |
Every rule explained
Every finding in the result links to a page with the official rule text, the severity per rule set and the technical test. The rules of this page:
- FX-SCH-A 899
- UBL-CR 679
- CII-SR 482
- BR-FR 114
- CII-DT 101
- BR-RO 100
- BR 60
- UBL-SR 54
- PEPPOL-EN16931 48
- HR-BR 44
- BR-FR-CO 32
- BR-DE 31
- DE-R 31
- SDI 29
- BR-FR-DEC 25
- BR-CO 24
- UBL-DT 24
- BR-CL 23
- BR-DEC 21
- BR-DEC-RO 21
- BR-FR-MV 20
- GR-R 17
- PEPPOL-COMMON 17
- BR-DEX 15
- BR-O 14
- DK-R 14
- SE-R 13
- BR-FREXT 12
- BR-IC 12
- Checks of this API 11
- BR-AE 10
- BR-AF 10
- BR-AG 10
- BR-E 10
- BR-G 10
- BR-IG 10
- BR-IP 10
- BR-S 10
- BR-Z 10
- IS-R 10
- BR-FXEXT 9
- NL-R 9
- BR-FXEXT-BR 8
- BR-DE-CVD 7
- BR-FR-BD 7
- BR-FREXT-CL 7
- BR-FXEXT-CO 7
- BR-FREXT-BR 6
- BR-FREXT-CO 6
- BR-FXEXT-S 6
- BR-TMP 6
- CII-FREXT-SR 6
- BR-FREXT-S 5
- BR-FXEXT-AE 5
- BR-FXEXT-AF 5
- BR-FXEXT-AG 5
- BR-FXEXT-E 5
- BR-FXEXT-G 5
- BR-FXEXT-IC 5
- BR-FXEXT-O 5
- BR-FXEXT-Z 5
- BR-FREXT-AE 4
- BR-FREXT-AF 4
- BR-FREXT-AG 4
- BR-FREXT-E 4
- BR-FREXT-G 4
- BR-FREXT-IC 4
- BR-FREXT-O 4
- BR-FREXT-Z 4
- HR-BR-AE 4
- HR-BR-E 4
- HR-BR-S 4
- HR-BR-Z 4
- IT-R 4
- BR-B 2
- GR-S 2
- HR-BR-CL 2
- NO-R 2
- UBL-FREXT-CR 2
- BR-DE-TMP 1
- BR-EXT-CL 1
- BR-FR-MV-BD 1
- BR-FXEXT-CII-DT 1
- BR-TMP-CVD 1
- CII-EXT-DT 1
- CII-FREXT-CR 1
- CII-FREXT-DT 1
- CII-FREXTDT 1
- SK 1
- UBL-FREXT-SR 1
Automate the check
The same validator as a REST API: one call with your API key, the result as JSON. The Free plan includes 100 documents a month.
curl -H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/xml" \
--data-binary @rechnung.xml \
"https://einvoice-api-main-f5141d8.zuplo.app/v1/validate"
Privacy
The file is sent encrypted through our API gateway (Zuplo) to our server in Germany, checked in memory only and discarded after the response. It is neither stored nor logged. To count the validations per day, the gateway uses your IP address; the counter expires after 24 hours. This page sets no cookies. Where you can, use test or anonymised invoices. Details in the privacy policy (German).
Frequently asked questions
Is the validator free?
Yes. You can validate 5 files a day without signing up. For more documents and for validating inside your own software there is the API, with a free plan too (100 documents a month).
Are my invoices stored?
No. The file is checked in memory only, on servers in Germany, and discarded after the response. It never reaches a disk or a log.
Is the result binding?
The validator uses the official rule sets in the version in force and names them in the result. Whether a recipient or a platform accepts the invoice is up to them. Not legal or tax advice.
Does the validator send my invoice?
No. It only validates. Sending through Peppol, the SDI, KSeF or a platform is up to your provider.
More validators
- Validate XRechnung – with the official KoSIT rules
- Validate ZUGFeRD – PDF and XML in one step
- Validate Factur-X – with the French BR-FR rules
- Validate a Peppol BIS Billing 3.0 invoice
- Validate FatturaPA before sending it to the SDI
- Validate a KSeF FA(3) invoice before sending it
- Validate a CIUS-RO invoice before uploading it to SPV
- Validate a Croatian eRačun (HR-CIUS)