- Rule sets
- EN 16931 1.3.16 · Peppol BIS 3.0.21 · XRechnung 3.0.2 · CIUS-RO 1.0.9 · FA(3) 1-0E
- Correction test
- 26 of 26 defects fixed
- Last full run
- 28.09.2026
Read safely
No external entities and no DTDs.
Validation
We run the same rule sets the networks and tax platforms use, at the versions they publish. When an invoice fails, the fix goes into the mapping, so the same error does not come back next month.
The file's structure against the official XSD: UBL 2.1, CII D16B or FA(3).
EN 16931 and the network's own rules, such as Peppol BIS or XRechnung, run with the published validators.
The fields Article 226 of the VAT Directive requires, plus the extra rules for Germany, France, Poland, Belgium and Romania.
IBAN, NIP, CUI, enterprise number, USt-IdNr. and SIREN. The French platform we tested did not check SIREN digits, so we do.
Factur-X and ZUGFeRD files as PDF/A-3, with the embedded XML checked too. Germany needs one detail the standard tools let through, so we check it separately.
Every file is read with external entities and DTDs switched off. A file that tries to load one is refused before any rule reads it.
| Document | Checked against |
|---|---|
| Peppol BIS 3.0 (UBL) | UBL 2.1 XSD → EN 16931 schematron 1.3.16 → Peppol BIS Billing 3.0.21 |
| RO e-Factura (UBL) | UBL 2.1 XSD → EN 16931 and CIUS-RO 1.0.9 |
| XRechnung 3.0 (UBL or CII) | XSD → KoSIT validator 1.6.3 with the XRechnung 3.0.2 configuration |
| CII and Factur-X XML | CII D16B XSD → EN 16931 CII schematron 1.3.16 |
| KSeF FA(3) | FA(3) XSD 1-0E → KSeF file rules: UTF-8, no byte-order mark, 1 MB at most |
| Factur-X and ZUGFeRD PDF | PDF/A-3B with veraPDF → Mustang → the embedded XML |
On 27 September 2026 we planted 26 defects against the Peppol, XRechnung, CII, CIUS-RO and FA(3) rules. The official rule caught each one, and each passed once corrected.
See the evidenceSend the file and the message that came back. We will tell you which rule it breaks and where the fix belongs.
E-mail
[email protected]30-minute call
Choose a time