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

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

The specification identifier of Factur-X BASIC WL, short for BASIC without lines: everything a payment and booking process needs at document level, while the line items stay in the PDF.

What this identifier declares

urn:factur-x.eu:1p0:basicwl is the BT-24 specification identifier of the BASIC WL profile of Factur-X, the hybrid PDF/A-3 invoice with embedded CII XML. WL stands for "without lines": the profile carries a proper document-level invoice, including both parties with their tax registrations, the VAT breakdown per rate, document-level allowances and charges, payment terms and instructions, and the monetary totals, but not a single invoice line. The line detail lives only in the human-readable PDF.

That missing piece has a consequence you can read straight off the string: because the EN 16931 core model requires line items, BASIC WL cannot claim compliance with it, so the identifier does not carry the urn:cen.eu:en16931:2017 stem that BASIC and the higher profiles have.

Where it appears in the XML

Like every Factur-X profile declaration, it sits in BT-24 at the top of the embedded factur-x.xml:

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

The PDF's XMP metadata mirrors it as fx:ConformanceLevel with the value BASIC WL (with a space). Search hits for the concatenated basicwl token usually come from the XML side; the spaced form from the PDF side. They are the same profile.

What validators derive from it

The identifier decides the rulebook. On seeing basicwl, a conforming validator applies the BASIC WL restricted XSD plus that profile's Schematron rules, and skips checks that presume lines exist. The InvoiceXML validator detects the profile automatically from BT-24, names it in data.profile, and adds a PROFILE-SCOPE advisory so a green result is never mistaken for full EN 16931 coverage.

Common problems around this identifier

  • The German mandate boundary. BASIC WL fell out of scope for domestic German B2B in January 2025, together with MINIMUM. French usage within the reform tolerates it as a transition profile; German receivers increasingly do not.
  • Receivers that need lines. Any process that matches invoice lines against orders or goods receipts has nothing to match. If your counterparty asks for line data, no amount of fixing the XML you have will help; the profile has to change.
  • Mixed-up declarations. Files that declare basicwl but include line items fail the restricted schema, and files stamped BASIC WL in XMP but BASIC in BT-24 fail container consistency checks.

Working with BASIC WL documents

To see what a received file actually declares and whether it holds up, run it through the Factur-X validator, then pull the document-level data into your system with /v1/extract/json (or the raw XML with /v1/extract/xml). On the sending side, the create endpoint takes the same invoice JSON for every profile; adding your line items and switching the profile option is the entire upgrade path from BASIC WL to a compliant document. The Factur-X hub shows the full profile ladder, and the API toolkit guide covers the integration end to end.

Frequently asked questions

What does the WL in basicwl stand for?

Without lines. BASIC WL is the BASIC profile minus the invoice line items: it keeps the document-level data (parties, VAT breakdown, allowances and charges, payment terms, totals) but carries no ram:IncludedSupplyChainTradeLineItem elements at all.

Is BASIC WL EN 16931 compliant?

No. The EN 16931 core model requires invoice lines, so a profile without them cannot claim compliance. That is why the identifier stands alone rather than building on the urn:cen.eu:en16931:2017 stem, exactly like MINIMUM.

Can I use BASIC WL for domestic German B2B invoices?

Not since the mandate took effect in January 2025. German law now requires EN 16931 compliant content for domestic B2B, which rules out both MINIMUM and BASIC WL. BASIC is the smallest profile that qualifies.

What is the difference between basicwl and basic?

One letter pair and a compliance boundary. basic carries invoice lines and is a true EN 16931 subset, declared as urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic. basicwl drops the lines and with them the EN 16931 claim.