ValidateFin
Terug naar blog
EN 169318 min lezenDoor Eliel Nicaise

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.

Open de UBL / Peppol Validator

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%.

VerplichtAltijd vereist voor een conforme factuur.
VoorwaardelijkVereist wanneer een voorwaarde van toepassing is (zie elke rij).
OptioneelTer referentie vermeld - niet vereist door de basis EN 16931, maar nationale regels of Peppol maken het vaak verplicht.

1. Documentniveau

Identificeer de factuur zelf: nummer, datums, type en valuta.

CodeVeldVereisteFormaatVoorbeeld
BT-1FactuurnummerVerplichtTextINV-2026-0001
BT-2FactuurdatumVerplichtYYYY-MM-DD2026-06-21
BT-3FactuurtypecodeVerplichtUNCL 1001380
BT-24Specificatie-identificatie (CIUS)VerplichtIdentifierurn:cen.eu:en16931:2017
BT-5Factuurvaluta-codeVerplichtISO 4217EUR
BT-10KoperreferentieOptioneelTextPO-4567
BT-9Vervaldatum betalingVoorwaardelijkYYYY-MM-DD2026-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.

CodeVeldVereisteFormaatVoorbeeld
BT-27Naam verkoperVerplichtTextACME GmbH
BT-31Btw-identificatie verkoperVoorwaardelijkTextDE123456789
BT-30Wettelijke registratie-identificatie verkoperVoorwaardelijkTextHRB 12345
BT-34Elektronisch adres verkoperOptioneelIdentifier + EAS9930:DE123456789
BT-35Adresregel 1 verkoperOptioneelTextHauptstraße 1
BT-37Plaats verkoperOptioneelTextBerlin
BT-38Postcode verkoperOptioneelText10115
BT-40Landcode verkoperVerplichtISO 3166-1DE

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.

CodeVeldVereisteFormaatVoorbeeld
BT-44Naam koperVerplichtTextJane Doe
BT-48Btw-identificatie koperVoorwaardelijkText- (B2C)
BT-49Elektronisch adres koperOptioneelIdentifier + EAS0002:73282932
BT-50Adresregel 1 koperOptioneelText12 Rue de Paris
BT-52Plaats koperOptioneelTextLyon
BT-53Postcode koperOptioneelText69001
BT-55Landcode koperVerplichtISO 3166-1FR

4. Factuurregel (BG-25)

Ten minste één regel is vereist. Elke regel beschrijft één artikel met de hoeveelheid, prijs, nettobedrag en btw-categorie.

CodeVeldVereisteFormaatVoorbeeld
BT-126Factuurregel-identificatieVerplichtText1
BT-129Gefactureerde hoeveelheidVerplichtDecimal2
BT-130Code maateenheidVerplichtUN/ECE Rec 20C62
BT-153Naam artikelVerplichtTextWireless keyboard
BT-146Nettoprijs artikelVerplichtDecimal50.00
BT-131Nettobedrag factuurregelVerplichtDecimal (2)100.00
BT-151Btw-categoriecode gefactureerd artikelVerplichtUNCL 5305S

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.

CodeVeldVereisteFormaatVoorbeeld
BT-116Belastbaar bedrag btw-categorieVerplichtDecimal (2)100.00
BT-117Belastingbedrag btw-categorieVerplichtDecimal (2)21.00
BT-118Btw-categoriecodeVerplichtUNCL 5305S
BT-119Btw-categorietariefVoorwaardelijkPercentage21
BT-120Reden btw-vrijstelling (tekst)VoorwaardelijkTextExempt - Art. 44
BT-121Code reden btw-vrijstellingVoorwaardelijkCodeVATEX-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.

CodeVeldVereisteFormaatVoorbeeld
BT-106Som van nettobedragen factuurregelsVerplichtDecimal (2)100.00
BT-109Totaalbedrag factuur exclusief btwVerplichtDecimal (2)100.00
BT-110Totaal btw-bedrag factuurVoorwaardelijkDecimal (2)21.00
BT-112Totaalbedrag factuur inclusief btwVerplichtDecimal (2)121.00
BT-115Te betalen bedragVerplichtDecimal (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-validator

Veelgestelde 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.