Factur-X EN16931: your invoice is probably not compliant (and you don't know it)

# facturx# einvoicing# php# pdf
Factur-X EN16931: your invoice is probably not compliant (and you don't know it)Palks Studio

Most invoicing solutions claim Factur-X compliance. Few actually pass all three validation...

Factur-X EN16931 compliant invoice — XSD, Schematron and PDF/A-3 validated

Most invoicing solutions claim Factur-X compliance.
Few actually pass all three validation levels.


The three levels

Factur-X conformity requires passing all of these:

  • XSD validation — XML structure is syntactically correct
  • Schematron validation — EN16931 business rules are respected
  • PDF/A-3 validation — the PDF document is archivable with the XML correctly embedded

Where most solutions fail

PDF/A-3 is the real problem.

Common PHP PDF libraries — Dompdf, TCPDF — produce DeviceRGB without ICC OutputIntent.
The XML can be perfectly structured. The invoice is still rejected.


The combination that works

  • mPDF generates clean PDF/A-1b output
  • factur-x (Python) injects the EN16931 XML and converts to PDF/A-3

Result: XSD ✅ Schematron ✅ PDF/A-3 ✅


Full note → https://palks-studio.com/en/electronic-invoicing-compliance


https://palks-studio.com