Verplichte velden EN 16931: factuurvelden en formaten
Een veld-voor-veld referentie van de verplichte EN 16931-factuurvelden — bedrijfstermcodes, formaten en voorbeelden voor verkoper, koper, regels, btw en totalen.
Valideer uw bestand nu
Gratis, direct en 100% in uw browser - er wordt nooit een bestand geüpload.
Hoe deze referentie te lezen
EN 16931 definieert een semantisch gegevensmodel - een lijst van “business terms” (BT) gegroepeerd in “business groups” (BG). Deze gids somt de velden op die u nodig hebt voor een conforme basisfactuur - elk verplicht veld, de belangrijkste voorwaardelijke velden en de essentiële optionele velden - telkens met het formaat en een realistisch voorbeeld.
Elk veld is gemarkeerd als Verplicht (altijd vereist), Voorwaardelijk (vereist wanneer een regel van toepassing is - bijvoorbeeld het btw-tarief wanneer de categorie “standaard” is) of Optioneel (niet vereist door de basis EN 16931, maar vermeld omdat nationale regels of Peppol het vaak verplicht maken). Naast het basismodel kunnen de CIUS van uw land (een nationaal profiel zoals XRechnung of de Franse specificatie) of Peppol BIS extra verplichte velden toevoegen.
Hetzelfde model wordt uitgedrukt in twee XML-syntaxen - UBL 2.1 en UN/CEFACT CII (de basis van Factur-X / ZUGFeRD). De onderstaande BT/BG-codes zijn identiek in beide; alleen de XML-elementnamen verschillen. De voorbeelden gebruiken een binnenlandse verkoop met een btw-tarief van 21%.
1. Documentniveau
Identificeer de factuur zelf: nummer, datums, type en valuta.
| Code | Veld | Vereiste | Formaat | Voorbeeld |
|---|---|---|---|---|
| BT-1 | Factuurnummer | Verplicht | Text | INV-2026-0001 |
| BT-2 | Factuurdatum | Verplicht | YYYY-MM-DD | 2026-06-21 |
| BT-3 | Factuurtypecode | Verplicht | UNCL 1001 | 380 |
| BT-24 | Specificatie-identificatie (CIUS) | Verplicht | Identifier | urn:cen.eu:en16931:2017 |
| BT-5 | Factuurvaluta-code | Verplicht | ISO 4217 | EUR |
| BT-10 | Koperreferentie | Optioneel | Text | PO-4567 |
| BT-9 | Vervaldatum betaling | Voorwaardelijk | YYYY-MM-DD | 2026-07-21 |
2. Verkoper (BG-4 / BG-5)
Wie de factuur uitreikt. De landcode is altijd verplicht; de btw-identificatie is vereist telkens wanneer btw in rekening wordt gebracht.
| Code | Veld | Vereiste | Formaat | Voorbeeld |
|---|---|---|---|---|
| BT-27 | Naam verkoper | Verplicht | Text | ACME GmbH |
| BT-31 | Btw-identificatie verkoper | Voorwaardelijk | Text | DE123456789 |
| BT-30 | Wettelijke registratie-identificatie verkoper | Voorwaardelijk | Text | HRB 12345 |
| BT-34 | Elektronisch adres verkoper | Optioneel | Identifier + EAS | 9930:DE123456789 |
| BT-35 | Adresregel 1 verkoper | Optioneel | Text | Hauptstraße 1 |
| BT-37 | Plaats verkoper | Optioneel | Text | Berlin |
| BT-38 | Postcode verkoper | Optioneel | Text | 10115 |
| BT-40 | Landcode verkoper | Verplicht | ISO 3166-1 | DE |
3. Koper (BG-7 / BG-8)
Wie de factuur ontvangt. Voor B2C is de koper een particulier, dus de btw-identificatie blijft leeg - maar naam en landcode blijven verplicht.
| Code | Veld | Vereiste | Formaat | Voorbeeld |
|---|---|---|---|---|
| BT-44 | Naam koper | Verplicht | Text | Jane Doe |
| BT-48 | Btw-identificatie koper | Voorwaardelijk | Text | - (B2C) |
| BT-49 | Elektronisch adres koper | Optioneel | Identifier + EAS | 0002:73282932 |
| BT-50 | Adresregel 1 koper | Optioneel | Text | 12 Rue de Paris |
| BT-52 | Plaats koper | Optioneel | Text | Lyon |
| BT-53 | Postcode koper | Optioneel | Text | 69001 |
| BT-55 | Landcode koper | Verplicht | ISO 3166-1 | FR |
4. Factuurregel (BG-25)
Ten minste één regel is vereist. Elke regel beschrijft één artikel met de hoeveelheid, prijs, nettobedrag en btw-categorie.
| Code | Veld | Vereiste | Formaat | Voorbeeld |
|---|---|---|---|---|
| BT-126 | Factuurregel-identificatie | Verplicht | Text | 1 |
| BT-129 | Gefactureerde hoeveelheid | Verplicht | Decimal | 2 |
| BT-130 | Code maateenheid | Verplicht | UN/ECE Rec 20 | C62 |
| BT-153 | Naam artikel | Verplicht | Text | Wireless keyboard |
| BT-146 | Nettoprijs artikel | Verplicht | Decimal | 50.00 |
| BT-131 | Nettobedrag factuurregel | Verplicht | Decimal (2) | 100.00 |
| BT-151 | Btw-categoriecode gefactureerd artikel | Verplicht | UNCL 5305 | S |
5. Btw-uitsplitsing (BG-23)
Eén uitsplitsing per btw-tarief, met een samenvatting van de belastbare grondslag en het belastingbedrag. Vereist, zelfs voor een factuur met één enkel tarief.
| Code | Veld | Vereiste | Formaat | Voorbeeld |
|---|---|---|---|---|
| BT-116 | Belastbaar bedrag btw-categorie | Verplicht | Decimal (2) | 100.00 |
| BT-117 | Belastingbedrag btw-categorie | Verplicht | Decimal (2) | 21.00 |
| BT-118 | Btw-categoriecode | Verplicht | UNCL 5305 | S |
| BT-119 | Btw-categorietarief | Voorwaardelijk | Percentage | 21 |
| BT-120 | Reden btw-vrijstelling (tekst) | Voorwaardelijk | Text | Exempt - Art. 44 |
| BT-121 | Code reden btw-vrijstelling | Voorwaardelijk | Code | VATEX-EU-AE |
6. Documenttotalen (BG-22)
De financiële samenvatting. Deze bedragen moeten intern consistent zijn, anders zullen de EN 16931-berekeningsregels de factuur afwijzen.
| Code | Veld | Vereiste | Formaat | Voorbeeld |
|---|---|---|---|---|
| BT-106 | Som van nettobedragen factuurregels | Verplicht | Decimal (2) | 100.00 |
| BT-109 | Totaalbedrag factuur exclusief btw | Verplicht | Decimal (2) | 100.00 |
| BT-110 | Totaal btw-bedrag factuur | Voorwaardelijk | Decimal (2) | 21.00 |
| BT-112 | Totaalbedrag factuur inclusief btw | Verplicht | Decimal (2) | 121.00 |
| BT-115 | Te betalen bedrag | Verplicht | Decimal (2) | 121.00 |
Formaten en codelijsten
EN 16931 staat u niet toe waarden te verzinnen voor getypte velden - deze moeten deze standaardformaten en codelijsten volgen.
Datums
ISO 8601-kalenderdatum, formaat YYYY-MM-DD (bijv. 2026-06-21). Geen tijd of tijdzone op factuurdatums.
Geldbedragen
Decimaal met maximaal 2 decimalen, een punt als decimaalscheidingsteken en geen duizendtalscheidingsteken (bijv. 1234.50).
Valuta (BT-5)
ISO 4217 drielettercode (bijv. EUR, SEK, PLN). Eén documentvaluta per factuur.
Landcodes
ISO 3166-1 alpha-2 tweelettercode (bijv. DE, FR, BE) voor elk adres.
Btw-categorie (BT-118 / BT-151)
UNCL 5305-code: S (standaard), Z (nultarief), E (vrijgesteld), AE (verlegging), K (intra-EU), G (export), O (buiten toepassingsgebied).
Maateenheid (BT-130)
UN/ECE Aanbeveling 20/21-code (bijv. C62 = stuk, KGM = kilogram, HUR = uur, MTR = meter).
Factuurtype (BT-3)
UNCL 1001-code: 380 (handelsfactuur), 381 (creditnota), 384 (gecorrigeerde factuur), 389 (zelf-gefactureerde factuur).
Identificaties en schema's
Veel ID's dragen een schema-identificatie - bijv. een btw-ID van een verkoper zoals DE123456789, of een elektronisch adres gekwalificeerd door een Peppol EAS-schema (zoals 9930).
Wat verandert er voor B2C (facturatie aan particulieren)
EN 16931 is voornamelijk ontworpen voor B2B en B2G, maar het kernmodel is van toepassing op elke factuur - inclusief verkopen aan particulieren. De structuur verandert niet; een paar velden gedragen zich gewoon anders.
De btw-identificatie van de koper (BT-48) is niet vereist voor particulieren - laat deze weg. De naam van de koper (BT-44) en de landcode van de koper (BT-55) blijven verplicht, en een volledig postadres wordt sterk aanbevolen (en is vaak vereist door nationale btw-regels).
Btw blijft volledig van toepassing: elke regel heeft een btw-categoriecode (BT-151) nodig en de btw-uitsplitsing (BG-23) moet aanwezig zijn. Voor een normale binnenlandse B2C-verkoop is dit categorie S met uw nationale standaardtarief.
Routing is het echte verschil. Het Peppol-netwerk richt zich op B2B/B2G, dus voor pure B2C produceert u nog steeds een EN 16931-conforme XML (voor archivering, btw/OSS-aangifte, of om aan de klant te overhandigen) maar u verstuurt deze meestal niet via Peppol. Controleer altijd het mandaat van uw land - sommige vereisen alleen gestructureerde facturen voor B2B of boven een drempel.
Een volledig voorbeeld (alle verplichte velden)
Hier is een minimale maar volledig EN 16931-conforme factuur in UBL 2.1, overeenkomstig het B2C-voorbeeld hierboven (een verkoop van € 100 tegen 21 % btw). Elke verplichte business term is aanwezig en gelabeld met zijn BT-code.
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID> <!-- BT-24 -->
<cbc:ID>INV-2026-0001</cbc:ID> <!-- BT-1 -->
<cbc:IssueDate>2026-06-21</cbc:IssueDate> <!-- BT-2 -->
<cbc:DueDate>2026-07-21</cbc:DueDate> <!-- BT-9 -->
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> <!-- BT-3 -->
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode> <!-- BT-5 -->
<cac:AccountingSupplierParty> <!-- BG-4 Seller -->
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Hauptstraße 1</cbc:StreetName> <!-- BT-35 -->
<cbc:CityName>Berlin</cbc:CityName> <!-- BT-37 -->
<cbc:PostalZone>10115</cbc:PostalZone> <!-- BT-38 -->
<cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country> <!-- BT-40 -->
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID> <!-- BT-31 -->
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ACME GmbH</cbc:RegistrationName> <!-- BT-27 -->
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty> <!-- BG-7 Buyer (B2C) -->
<cac:Party>
<cac:PostalAddress>
<cac:Country><cbc:IdentificationCode>FR</cbc:IdentificationCode></cac:Country> <!-- BT-55 -->
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Jane Doe</cbc:RegistrationName> <!-- BT-44 -->
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">21.00</cbc:TaxAmount> <!-- BT-110 -->
<cac:TaxSubtotal> <!-- BG-23 VAT breakdown -->
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount> <!-- BT-116 -->
<cbc:TaxAmount currencyID="EUR">21.00</cbc:TaxAmount> <!-- BT-117 -->
<cac:TaxCategory>
<cbc:ID>S</cbc:ID> <!-- BT-118 -->
<cbc:Percent>21</cbc:Percent> <!-- BT-119 -->
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal> <!-- BG-22 Totals -->
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> <!-- BT-106 -->
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount> <!-- BT-109 -->
<cbc:TaxInclusiveAmount currencyID="EUR">121.00</cbc:TaxInclusiveAmount> <!-- BT-112 -->
<cbc:PayableAmount currencyID="EUR">121.00</cbc:PayableAmount> <!-- BT-115 -->
</cac:LegalMonetaryTotal>
<cac:InvoiceLine> <!-- BG-25 Invoice line -->
<cbc:ID>1</cbc:ID> <!-- BT-126 -->
<cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity> <!-- BT-129 / BT-130 -->
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> <!-- BT-131 -->
<cac:Item>
<cbc:Name>Wireless keyboard</cbc:Name> <!-- BT-153 -->
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID> <!-- BT-151 -->
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount> <!-- BT-146 -->
</cac:Price>
</cac:InvoiceLine>
</Invoice>Dit is de basis EN 16931. Om de factuur via Peppol te versturen, voeg ook de elektronische adressen (BT-34 / BT-49), de ProfileID (BT-23) en een kopersreferentie (BT-10) toe. Dezelfde factuur in CII (Factur-X) gebruikt dezelfde BT-codes met andere elementnamen.
Valideer uw EN 16931-factuur gratis
Genereer uw UBL- of CII-bestand en zet het vervolgens in onze validator om elk verplicht veld, elke codelijst en elke EN 16931-bedrijfsregel te controleren - volledig in uw browser, zonder dat er gegevens naar een server worden geüpload.
Open de UBL / Peppol-validatorVeelgestelde vragen
Hoeveel velden vereist EN 16931?
Het kernmodel heeft ongeveer 160 business terms, maar slechts een deel daarvan is verplicht. Een minimale conforme factuur heeft ongeveer 25–30 verplichte velden nodig, verspreid over de documentkop, de verkoper, de koper, ten minste één regel, de btw-uitsplitsing en de totalen.
Is het btw-nummer van de koper verplicht?
Nee. BT-48 is voorwaardelijk - vereist voor B2B-verlegging of intra-EU-leveringen, maar niet voor B2C-verkopen aan particulieren. De naam en landcode van de koper zijn altijd verplicht.
Welk datumformaat gebruikt EN 16931?
ISO 8601-kalenderdatums, YYYY-MM-DD (bijv. 2026-06-21). Factuurdatums bevatten geen tijd- of tijdzonecomponent.
Hoeveel decimalen zijn toegestaan op bedragen?
Geldbedragen gebruiken maximaal 2 decimalen met een punt als decimaalscheidingsteken. Hoeveelheden en eenheidsprijzen mogen meer decimalen gebruiken.
Wat is het verschil tussen verplichte en voorwaardelijke velden?
Verplichte velden moeten altijd aanwezig zijn. Voorwaardelijke velden worden verplicht wanneer een regel van toepassing is - bijvoorbeeld het btw-tarief (BT-119) is vereist wanneer de btw-categorie "Standaard" is.
Welke factuurtypecode moet ik gebruiken?
BT-3 gebruikt codelijst UNCL 1001. Gebruik 380 voor een handelsfactuur en 381 voor een creditnota; 384 is een gecorrigeerde factuur.
Heb ik zowel UBL als CII nodig?
Nee - kies één syntax. UBL 2.1 is gangbaar op Peppol; CII vormt de basis van Factur-X/ZUGFeRD. De verplichte business terms zijn identiek in beide.
Zijn er extra verplichte velden naast het kernmodel?
Ja. Nationale CIUS (bijv. XRechnung in Duitsland, het Franse profiel) en Peppol BIS voegen regels toe - XRechnung vereist bijvoorbeeld een koperreferentie (BT-10) en contactgegevens van de verkoper.
Welke btw-categoriecode gebruik ik voor een normale binnenlandse verkoop?
Categorie S (standaardtarief) met het toepasselijke percentage in BT-119. Gebruik Z voor nultarief, E voor vrijgesteld, en AE voor verlegging.
Hoe controleer ik of mijn factuur volledig is?
Valideer deze tegen de EN 16931-bedrijfsregels (Schematron), niet alleen tegen het XSD-schema. Onze gratis UBL/Peppol-validator controleert verplichte velden, codelijsten en de EN 16931-berekeningsregels.