Quaterio
Factur-X glossary

Factur-X profile

Also called MINIMUM, BASIC WL, EN 16931 profile, EXTENDED, conformance level

A Factur-X profile says how much of the invoice made it into the structured XML, ranging from MINIMUM, which carries little more than the parties and the totals, to EXTENDED. The EN 16931 profile is the full European standard and the one the mandates are written around.

Declared in
BT-24 in the XML, and the XMP metadata on the PDF
Profiles
MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED
What the mandates expect
EN 16931
What we generate
EN 16931 only

The ladder

MINIMUM carries the parties and the totals and no line items, which is not enough to serve as a legal invoice in most cases. BASIC WL adds document level detail but still no lines. BASIC adds the lines. EN 16931 is the full standard. EXTENDED goes beyond it for cases the standard does not cover.

More detail is not automatically better. A profile is a promise about what a receiver can rely on finding, so emitting EN 16931 from data that only supports BASIC produces a document making a promise it cannot keep.

The file can disagree with itself, and often does

The profile is declared inside the XML at BT-24, and it is also stamped into the PDF metadata as the XMP conformance level. Nothing in the toolchain forces those to agree.

It is entirely possible to build a file whose XML is full EN 16931 while its metadata claims MINIMUM. It opens perfectly and contradicts itself, and our validator reports it as FX-XMP-PROFILE-MATCH.

This is why our own generator reads the profile back off BT-24 after building the XML rather than trusting the request. A caller may choose which profile to target. Nobody, including us, gets to declare what the result is.

Why it matters

  • A supplier sending MINIMUM is technically sending Factur-X and is not sending something you can process as an invoice.
  • A file whose XML and metadata name different profiles will be read differently by different receivers, which is the worst kind of bug.

Check it on your own file

  • See the declared profile

    Read out of BT-24 and compared against the XMP metadata, so a file that disagrees with itself is reported rather than passed.

Common questions

Which Factur-X profile should I use?
EN 16931 unless you have a specific reason otherwise. It is what the French and German mandates are written around, and the lower profiles omit line items.
Where is the profile stored?
In BT-24, the specification identifier inside the XML, and separately in the PDF XMP metadata. Both should say the same thing, and nothing enforces that but a validator.

Related terms