Automation MCP Server Features Blog Pricing Contact
Identifier reference Factur-X profile

urn:factur-x.eu:1p0:minimum

The specification identifier of the Factur-X MINIMUM profile: a hybrid PDF invoice whose embedded XML carries header data only. Here is what the string declares, where it lives, and what it does not cover.

What this identifier declares

urn:factur-x.eu:1p0:minimum is the specification identifier (BT-24) of the MINIMUM profile of Factur-X 1.0, the Franco-German hybrid invoice format (a PDF/A-3 with an embedded UN/CEFACT CII XML file). A document declaring it promises the least structured data the standard allows: the parties, the invoice number, date and type, the currency, the totals, and a buyer or order reference. There are no invoice lines, no VAT breakdown per rate beyond the totals, and no payment details. The human-readable PDF, not the XML, carries the full picture.

Unlike the BASIC and EN 16931 profiles, the identifier does not start with urn:cen.eu:en16931:2017. That is deliberate: MINIMUM sits below the European core model, so it cannot claim compliance with it.

Where it appears in the XML

Inside the embedded factur-x.xml, the identifier is the guideline parameter of the document context, right at the top of the file:

<rsm:ExchangedDocumentContext>
  <ram:GuidelineSpecifiedDocumentContextParameter>
    <ram:ID>urn:factur-x.eu:1p0:minimum</ram:ID>
  </ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>

The PDF side repeats the claim in its XMP metadata, where fx:ConformanceLevel reads MINIMUM. The two must agree; tooling that checks one and not the other is a classic source of confusing reports.

What validators derive from it

Profile detection starts here. A validator reads BT-24, recognises the MINIMUM profile, and applies the MINIMUM-restricted XSD plus the profile's own rule set, rather than the full EN 16931 checks the richer profiles get. The InvoiceXML Factur-X validator does exactly this and additionally attaches a PROFILE-SCOPE advisory to the verdict, flagging that a pass at MINIMUM level is a pass against a reduced rulebook, not proof of a complete e-invoice.

Common problems around this identifier

  • It is not enough for the German mandate. Since January 2025, domestic German B2B invoices must be EN 16931 compliant, and MINIMUM is not. Files declaring this identifier get rejected or reclassified as "sonstige Rechnung" by German receivers.
  • Automation stops at the header. A booking system cannot post line-level detail that only exists as pixels in the PDF. If your receivers complain about missing data, the profile, not your XML, is the issue.
  • Declared profile versus actual content. XML that declares minimum but carries lines fails the restricted schema; XML that declares a richer profile while the XMP still says MINIMUM trips container-level checks.

Working with MINIMUM documents

If a file with this identifier just landed in your integration, validate it in the browser or over the API to see the applied profile and any findings, and use /v1/extract/json to pull the header data into your system. If you are generating invoices and only reached for MINIMUM out of caution, the create endpoint emits any profile from the same JSON payload, so stepping up to EN 16931 costs you nothing but the profile option. The Factur-X hub compares all five profiles, and the Factur-X API guide walks through a full integration.

Frequently asked questions

Is a MINIMUM invoice EN 16931 compliant?

No. MINIMUM carries less data than the EN 16931 core requires, which is why its identifier stands alone instead of building on the urn:cen.eu:en16931:2017 stem. It is a valid Factur-X profile, but not a compliant EN 16931 invoice.

Does MINIMUM satisfy the German B2B e-invoicing mandate?

No. Since the mandate took effect in January 2025, MINIMUM and BASIC WL no longer count as structured electronic invoices for domestic German B2B, because the structured part is incomplete. Use the EN 16931 profile (or BASIC, where its scope suffices) instead.

What happens if the XML declares minimum but contains line items?

The document fails validation. The declared profile selects the MINIMUM-restricted XSD, and elements outside that subset, such as invoice lines, are schema violations. Either strip the extra data or declare the profile that actually matches the content.

How do I read the data out of a MINIMUM hybrid I received?

Post the PDF to /v1/extract/json to get the header fields as BT-mapped JSON, or /v1/extract/xml to pull the embedded CII file out untouched. Anything beyond the header exists only in the visual PDF, which is the point of the profile.