Sinds de e-facturatieverplichting van 2026 duikt het steeds vaker op: een factuur als .xml-bestand, of een boekhouder die vraagt om "het UBL-bestand". Wie het opent, ziet een muur van tekst tussen haakjes. Dat is normaal. Een UBL-bestand is gemaakt voor software, niet om te lezen. Toch is het handig om te weten wat erin staat, al was het maar om te controleren waarom een factuur geweigerd werd.
Wat is een UBL-bestand?
UBL (Universal Business Language) is een XML-formaat voor handelsdocumenten. Een Peppol-factuur is een UBL-bestand dat de regels van Peppol BIS Billing 3.0 volgt, de Europese norm EN 16931 toegepast op UBL. Het verschil met een pdf: in een pdf staat een afbeelding van een factuur, in een UBL-bestand staat elk gegeven in een vast vakje met een vaste naam. Daarom kan een boekhoudpakket het zonder overtypen inlezen. De achtergrond lees je in het Peppol-formaat uitgelegd.
Drie manieren om een UBL-bestand te openen
- In je boekhoud- of facturatiepakket. De bedoelde manier. Facturen die via Peppol binnenkomen, verschijnen daar meestal al als leesbare factuur. Kreeg je het bestand los, per mail, dan kan je het in de meeste pakketten importeren als aankoopfactuur.
- In een browser of teksteditor. Sleep het bestand in Chrome, Edge of Firefox en je ziet de structuur als boom. Leesbaar genoeg om een bedrag of nummer te controleren.
- In een online viewer. Er bestaan gratis websites die een UBL-bestand omzetten naar een leesbare factuur. Handig, maar let op: je uploadt de gegevens van je leverancier en jezelf naar een derde partij. Gebruik alleen een dienst waarvan je weet wie erachter zit en wat ze met de data doen.
De velden die je terugvindt
Je hoeft geen XML te kennen om de belangrijkste stukken te herkennen. Zoek in het bestand naar deze namen:
cbc:CustomizationID: welke regels het bestand volgt. Bij een Peppol-factuur bevat ditpeppol.eu:2017:poacc:billing:3.0.cbc:ID(bovenaan): het factuurnummer.cbc:IssueDateencbc:DueDate: factuurdatum en vervaldag.cbc:InvoiceTypeCode: 380 is een factuur. Een creditnota is een apart documenttype,CreditNote.cac:AccountingSupplierPartyencac:AccountingCustomerParty: verkoper en koper, met naam, adres, btw-nummer en Peppol-identificatie.cac:InvoiceLine: één blok per factuurlijn, met omschrijving, hoeveelheid (cbc:InvoicedQuantity), eenheidsprijs en btw-categorie.cac:TaxTotal: de btw per tarief.cac:LegalMonetaryTotal: de totalen, met onderaancbc:PayableAmount, het te betalen bedrag.cac:PaymentMeans: rekeningnummer en gestructureerde mededeling.
Waar zit de pdf?
Veel leveranciers sturen een pdf mee in het UBL-bestand. Je vindt ze onder cac:AdditionalDocumentReference, in het veld cbc:EmbeddedDocumentBinaryObject met mimeCode="application/pdf". Ze staat er als een lange reeks letters en cijfers (base64). Je boekhoudpakket of een viewer zet die terug om naar een gewone pdf. Belangrijk: de pdf is een bijlage. Als de pdf en de data verschillen, geldt de data.
Waarom een UBL-factuur geweigerd wordt
Elk Peppol-toegangspunt controleert een factuur vóór verzending. De meest voorkomende redenen voor een weigering:
- Een ontbrekend of fout ondernemingsnummer van de koper, waardoor de ontvanger niet gevonden wordt.
- Totalen die niet optellen, vaak door afrondingen per lijn.
- Een btw-categorie zonder reden, bijvoorbeeld een vrijstelling of verlegging zonder de verplichte vermelding.
- Lijnen zonder eenheid of hoeveelheid, zoals "materiaal: 85 euro".
Bijna al die fouten ontstaan vóór de factuur: in een klantfiche met een oud nummer, een artikellijst zonder eenheden of een werkbon met "klein materiaal". Wie de brondata op orde heeft, hoeft nooit een UBL-bestand te openen. Hoe je die keten sluit, lees je in werkbonnen koppelen aan je boekhoudpakket en bij e-facturatie zonder dubbele administratie.
Bronnen
- OpenPeppol, Peppol BIS Billing 3.0, inclusief de syntaxis van UBL Invoice en CreditNote.
- FOD Financiën, efactuur.belgium.be.
Klaar voor één systeem?
Ontdek in twee minuten waar jouw team tijd verliest en wat dat per jaar kost.