Factur-X vs ZUGFeRD — what's the difference?
Practically nothing. Factur-X 1.x and ZUGFeRD 2.x are the same format, defined jointly by France's FNFE-MPE and Germany's FeRD. Both use UN/CEFACT Cross Industry Invoice (CII) XML embedded in a PDF/A-3 wrapper. They share the same XML schema, the same five profiles and the same schematron rules. The only differences are branding and the specific code-list versions referenced by each profile. Any tool validating one validates the other — including aiDoks.
Factur-X is the mandated B2G format in France via Chorus Pro and becomes mandatory for B2B exchanges between French companies progressively from 2026. ZUGFeRD has been the dominant German hybrid format alongside XRechnung for almost a decade. If you exchange invoices in either market, your invoice must pass the validation rules — non-compliant invoices are rejected at the portal and never reach the buyer.
Common Factur-X validation errors
- BR-01 — Mandatory field missing. Each profile has its own mandatory-field list; MINIMUM is the shortest, EXTENDED the longest. The error message names the missing element.
- BR-CL-01 — Code-list value not in the official enumeration. Common offender: a currency code that does not exist in ISO 4217, or a UN/ECE Rec 20 unit code that has been retired.
- BR-CO-13 — Tax total amount mismatch. Sum of tax-category subtotals must equal the document-level
TaxTotalAmount. - BR-DEC-XX — Wrong number of decimal places. CII amounts must use 2 decimals for monetary totals, 4 for unit prices.
- FX-SCH-A-XX — Profile-specific Factur-X schematron error. The error message names which profile rule fired and what value was expected.
Validating PDFs from any tool
Whether the PDF was generated by Mustangproject, akretion's factur-x library, SAP Document Compliance, DATEV, Lexware, Sage, Quadient AP, or your own PDFBox-based pipeline — if the PDF/A-3 contains an embedded CII XML attachment with a recognised filename, the aiDoks validator extracts and validates it. Useful for QA-ing your own Factur-X output before sending, and for verifying supplier invoices before importing them into accounting.