Which Factur-X / ZUGFeRD profile do you need?

Factur-X (France) and ZUGFeRD (Germany) are the same hybrid PDF/A-3 + EN 16931 XML standard, published in a ladder of profiles from MINIMUM to EXTENDED. The one thing that trips people up: the two lowest rungs are not compliant invoices. Here is the whole ladder in plain terms.

ProfileWhat it carriesCompliant EN 16931 invoice?
MINIMUMHeader + document totals only; no lines. A booking aid.No — not a legal invoice
BASIC WLHeader + tax breakdown, but no line items ("without lines").No — below the norm
BASICThe full core invoice with line items, restricted to common cases.Yes
EN 16931 (COMFORT)The complete EN 16931 semantic model.Yes
EXTENDEDEN 16931 plus extra business-detail fields (a superset).Yes
XRECHNUNGThe German national CIUS of EN 16931 (usually XML-only).Yes

The short answer

Send at least BASIC. BASIC covers most invoices; step up to EN 16931 (COMFORT) or EXTENDED when you need richer line, allowance or charge detail. Do not issue MINIMUM or BASIC WL as your legal invoice — the standard itself declares them below the EN 16931 norm (MINIMUM is a booking aid; BASIC WL has no lines), so a receiver's system can reject them.

🇫🇷🇩🇪 Mandate context: France's receive obligation lands 1 September 2026 and Germany's issuance wave from 1 January 2027 — both require a structured EN 16931 invoice, i.e. BASIC or above. A MINIMUM/BASIC WL file will not satisfy the obligation on its own.

Check what profile a file actually is

Verify an incoming (or your own) invoice, free — no signup:

The consistency check reads the profile identifier (BT-24) and flags a below-norm MINIMUM / BASIC WL file (code PROFILE_BELOW_EN16931) alongside the arithmetic checks; the validator confirms EN 16931 conformance against the official engines.

Check invoice consistency → Validate a Factur-X invoice →

FacturProof — e-invoice validation, consistency and VAT verification with signed, offline-verifiable attestations. Guidance on the standards, not tax or legal advice. A verdict from our engine is honest: an engine that did not run is reported as such, never as a pass.

Related: PDF vs XML — which is authoritative? →