Veelvoorkomende UBL- en Peppol-BIS-3.0-fouten en hoe ze te verhelpen
Praktische gids voor de meest voorkomende UBL-validatiefouten en Peppol-BIS-3.0-schematron-regels, inclusief BR-foutcodes en correcties.
Waarom UBL-bestanden Peppol-validatie niet doorstaan
UBL-facturen (Universal Business Language) die via het Peppol-netwerk worden verzonden, moeten drie validatielagen doorstaan: UBL 2.1 XSD-schema, EN 16931-bedrijfsregels (BR-codes) en Peppol-BIS-3.0-CIUS-regels (PEPPOL-codes).
Elke laag kan een factuur afwijzen. Deze gids behandelt de meest voorkomende fouten die teams tegenkomen bij het genereren of indienen van live Peppol-facturen.
De foutcodes volgen een gestructureerd patroon: BR-XX voor EN 16931-bedrijfsregels, PEPPOL-XX voor Peppol-specifieke regels en UBL-SR-XX voor UBL-syntaxregels.
Veelvoorkomende fouten en correcties
De meest gerapporteerde UBL/Peppol-validatiefouten:
BR-01: Factuur moet een specificatie-ID hebben
Het element <cbc:CustomizationID> ontbreekt of is leeg. Voor Peppol BIS 3.0 moet het exact bevatten: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
BR-02: Factuur moet een factuurnummer hebben
Het element <cbc:ID> ontbreekt of is leeg. Het factuurnummer moet uniek zijn en mag niet alleen uit spaties bestaan.
BR-04: Factuurdatum is verplicht
<cbc:IssueDate> ontbreekt. De datum moet worden opgegeven in het formaat YYYY-MM-DD, bijv. 2026-01-15. Het formaat DD/MM/YYYY wordt niet geaccepteerd.
Structuur- en formaatfouten
Blog.post12.s3.intro
Ontbrekende verplichte velden bij leveranciers/kopers
Zowel AccountingSupplierParty als AccountingCustomerParty moeten PartyName, PostalAddress (met CountryIdentificationCode) en PartyTaxScheme (met TaxSchemeID=VAT en CompanyID) bevatten.
Ongeldige TaxScheme-ID
Het TaxScheme/ID-element moet exact 'VAT' bevatten, niet 'BTW', 'TVA', 'IVA' of andere lokale schrijfwijzen.
Berekening van regelstotaal
LineExtensionAmount moet gelijk zijn aan Quantity × Price.PriceAmount (minus eventuele kortingen). De som van alle regels moet overeenkomen met TaxExclusiveAmount in LegalMonetaryTotal.
BTW- en belastingfouten
Blog.post12.s4.intro
Ongeldige BTW-categoriecode
UBL/EN 16931 definieert specifieke categoriecodes: S (Standaard), Z (Nultarief), E (Vrijgesteld), AE (Verleggingsregeling), K (Intracommunautaire levering EG), G (Export buiten EU), O (Niet belastbaar), L (Canarische Eilanden), M (Ceuta/Melilla). Gebruik geen code die niet op deze lijst staat.
Ontbrekende BTW-uitsplitsing
Het TaxTotal-element moet minimaal één TaxSubtotal bevatten voor elke verschillende toegepaste BTW-categorie. Een factuur met gemengde BTW-tarieven heeft afzonderlijke TaxSubtotal-vermeldingen nodig voor elk tarief.
Blog.post12.s4.e3.label
Blog.post12.s4.e3.desc
Valideer uw UBL-facturen gratis
ValidateFin voert een volledige driefasige validatie uit: XSD-schema, EN 16931-bedrijfsregels en Peppol-BIS-3.0-CIUS-regels. Fouten worden weergegeven met hun BR/PEPPOL-code en het onjuiste XML-pad.
UBL-validator openenVeelgestelde vragen
Wat is het verschil tussen BR- en PEPPOL-foutcodes?
BR-codes (bijv. BR-01, BR-CO-15) komen uit de EN 16931-norm en zijn van toepassing op alle conforme e-facturen in Europa. PEPPOL-codes (bijv. PEPPOL-EN16931-R004) zijn Peppol-BIS-3.0-specifieke aanvullende regels die alleen gelden voor Peppol-netwerktransmissies.
Kan ik een UBL-factuur indienen zonder het Peppol-netwerk?
Ja. UBL kan direct worden ingediend via API, e-mail, portal of andere kanalen. Peppol-BIS-3.0-regels gelden alleen voor het Peppol-netwerk. Voor andere kanalen hoeft u mogelijk alleen EN 16931 en landspecifieke CIUS te naleven.
Hoe rond ik BTW-bedragen correct af in UBL?
EN 16931 staat een afrondingstolerantie van ±€ 0,01 per regel toe. Voor het totaal moet u alle regelbedragen optellen en dan afronden op 2 decimalen. Vermijd het gebruik van zwevende komma-rekenkunde voor financiële berekeningen.
Is CustomizationID verplicht voor alle UBL-facturen?
CustomizationID is verplicht voor Peppol BIS 3.0. Voor andere CIUS (zoals XRechnung of nationale Peppol-implementaties) is een andere waarde vereist. Controleer altijd de specifieke CIUS van uw doelland.
Blog.post12.faq.q5
Blog.post12.faq.a5
Blog.post12.faq.q6
Blog.post12.faq.a6
Blog.post12.faq.q7
Blog.post12.faq.a7
Blog.post12.faq.q8
Blog.post12.faq.a8
Blog.post12.faq.q9
Blog.post12.faq.a9
Blog.post12.faq.q10
Blog.post12.faq.a10