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
Peppol hanteert strikte wiskundige regels voor belastingberekeningen.
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
Identificatieproblemen van koper en verkoper.
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.
Ontbrekende of ongeldige kopersreferentie
BuyerReference (BT-10) is verplicht in Peppol BIS 3.0. Voor het Duitse XRechnung moet dit de Leitweg-ID zijn. Ontbrekende of onjuiste referenties veroorzaken afwijzing aan de koperskant.
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.
Wat is een Schematron-regel?
Schematron is een XML-validatietaal die wordt gebruikt om Peppol-bedrijfsregels uit te drukken. In tegenstelling tot XSD (dat structuur valideert) kan Schematron veldrelaties valideren zoals "als de belastingcategorie S is, dan moet het belastingtarief > 0 zijn".
Hoe vind ik mijn Peppol-eindpunt?
Uw Peppol-eindpunt is geregistreerd bij uw access point-provider. Het gebruikt een schema-ID (bijv. 0208 voor het Belgisch ondernemingsnummer) en uw identifier. Controleer bij uw AP-provider.
Kan ValidateFin NLCIUS- of XRechnung-regels controleren?
ValidateFin valideert tegen Peppol BIS 3.0 en EN 16931-kernregels, die de meerderheid van NLCIUS- en XRechnung-vereisten dekken. Landspecifieke uitbreidingen kunnen aanvullende validatie vereisen.
Wat is BR-CO-10?
BR-CO-10 is een EN 16931-regel die vereist dat de som van de nettobedragen van factuurregels gelijk is aan het exclusief-belastingbedrag. Het is een van de meest voorkomende gefaalde regels vanwege afrondingsproblemen.
Volgen creditnota's dezelfde regels?
Ja. Peppol BIS 3.0 past dezelfde bedrijfsregels toe op zowel facturen als creditnota's. Het belangrijkste verschil is de documenttypecode (380 voor factuur, 381 voor creditnota).
Hoe vaak veranderen Peppol-regels?
Peppol publiceert regelupdates ongeveer twee keer per jaar (lente- en herfstreleases). Elke update kan regels toevoegen, wijzigen of verwijderen. ValidateFin blijft actueel met de laatste release.