E-Invoicing Conformance Levels: BASIC, EN 16931, and EXTENDED Explained
In European e-invoicing, conformance levels define different tiers of data completeness and structure according to the **EN 16931 standard** . This is an easy to follow guide.
Pigeon AI Introduction
In European e-invoicing, conformance levels define different tiers of data completeness and structure according to the EN 16931 standard (the European norm for electronic invoicing). These levels are particularly relevant for formats like Factur-X/ZUGFeRD that embed XML data in PDFs.
Understanding these conformance levels is crucial for implementing compliant e-invoicing solutions, especially when dealing with cross-border transactions, B2G (business-to-government) invoicing, or automated accounts payable systems.
The Three Main Conformance Levels
BASIC (and BASIC WL - Without Lines)
The BASIC level represents the minimum viable invoice structure. It comes in two variants:
- BASIC (with lines): Contains header information plus line-item details
- BASIC WL (Without Lines): Contains only invoice header and summary information, no line-item details
This level covers essentials like seller/buyer information, totals, payment terms, and tax summaries. It has the smallest data footprint and is useful for simple invoices or scenarios where line details aren't required for processing (such as expense reports or simple statements).
EN 16931 (COMFORT in ZUGFeRD)
This is the core compliance level mandated by the EU directive. It includes:
- All mandatory fields required by EN 16931-1
- Both header and complete line-item information
- All necessary references (PO, contract, delivery, etc.)
- Standard business requirements across EU member states
This is what most B2G (business-to-government) invoicing requires and represents the sweet spot for EU compliance - it ensures legal compliance while keeping the data model manageable.
EXTENDED
The EXTENDED level is a superset of EN 16931 that includes:
- All EN 16931 fields plus additional optional elements
- Industry-specific or national extensions
- Logistics data, customs information, and detailed item attributes
- Maximum data richness but larger file sizes
You'd only use EXTENDED when you need specific additional data that EN 16931 doesn't cover, and typically requires agreement between trading partners on which extensions to use.
Detailed Comparison Table
Below is a comprehensive breakdown showing which elements are mandatory (✅), optional (🟡), or not supported (❌) in each conformance level:
| Element Category | BASIC (with Lines) | BASIC WL | EN 16931 | EXTENDED |
|---|---|---|---|---|
| HEADER - Basic Info | ||||
| Invoice number | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Invoice date | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Invoice currency | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Invoice type code | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Seller name | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Seller postal address | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Seller country code | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Seller VAT identifier | ✅ Mandatory* | ✅ Mandatory* | ✅ Mandatory* | ✅ Mandatory* |
| Buyer name | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Buyer postal address | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Buyer country code | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Payment terms description | 🟡 Optional | 🟡 Optional | 🟡 Optional | 🟡 Optional |
| Payment due date | 🟡 Optional | 🟡 Optional | 🟡 Optional | 🟡 Optional |
| Payment account identifier (IBAN) | 🟡 Optional | 🟡 Optional | 🟡 Optional | 🟡 Optional |
| Payment account name | 🟡 Optional | 🟡 Optional | 🟡 Optional | 🟡 Optional |
| HEADER - Extended Info | ||||
| Buyer VAT identifier | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Seller electronic address | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Buyer electronic address | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Seller identifier | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Buyer identifier | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Seller legal registration ID | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Buyer legal registration ID | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Seller contact point | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Buyer contact point | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Seller tax representative | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Purchase order reference | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Sales order reference | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Contract reference | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Project reference | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Tender/lot reference | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Delivery location | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Delivery date/period | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Invoicing period (start/end) | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Preceding invoice reference | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Ship-to party | ❌ | ❌ | ❌ | 🟡 Optional |
| Invoice recipient (if different) | ❌ | ❌ | ❌ | 🟡 Optional |
| Department/cost center codes | ❌ | ❌ | ❌ | 🟡 Optional |
| Multiple contact persons | ❌ | ❌ | ❌ | 🟡 Optional |
| Buyer accounting reference | ❌ | ❌ | ❌ | 🟡 Optional |
| TAX | ||||
| Tax category code | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Tax rate (percentage) | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Tax category taxable amount | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Tax category tax amount | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory | ✅ Mandatory |
| Tax exemption reason code | ❌ | ❌ | 🟡 Conditional** | 🟡 Conditional** |
| Tax exemption reason text | ❌ | ❌ | 🟡 Conditional** | 🟡 Conditional** |
| Tax point date | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| VAT accounting currency | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Local/additional tax types | ❌ | ❌ | ❌ | 🟡 Optional |
| Multiple tax schemes | ❌ | ❌ | ❌ | 🟡 Optional |
| DOCUMENT-LEVEL CHARGES | ||||
| Document charges supported | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Charge amount | ❌ | ❌ | ✅ Mandatory*** | ✅ Mandatory*** |
| Charge base amount | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Charge percentage | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Charge reason code | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Charge reason text | ❌ | ❌ | 🟡 Optional | 🟡 Optional |
| Charge tax category | ❌ | ❌ | ✅ Mandatory*** | ✅ Mandatory*** |
| Charge tax rate | ❌ | ❌ | ✅ Mandatory*** | ✅ Mandatory*** |
| Multiple charges simultaneously | ❌ | ❌ | ❌ | 🟡 Optional |
| Charge sequence number | ❌ | ❌ | ❌ | 🟡 Optional |
| DOCUMENT-LEVEL ALLOWANCES |