E-facturatie

Wat is een UBL-factuur? Uitleg met voorbeeld

Een UBL-factuur is een factuur in XML volgens de internationale standaard Universal Business Language (UBL). In België is elke e-factuur via Peppol een UBL-factuur: het formaat Peppol BIS Billing 3.0 is gebouwd op UBL 2.1. Hieronder lees je wat dat betekent, hoe zo’n bestand eruitziet en hoe je het opent en controleert.

Wat is UBL?

UBL is een open standaard van de organisatie OASIS voor zakelijke documenten in XML: bestellingen, leveringsberichten, facturen, creditnota’s en meer. Versie 2.1 is ook een ISO-norm (ISO/IEC 19845). De standaard is gratis, en elk softwarepakket kan hem gebruiken. Daardoor kan een factuur uit het ene pakket zonder overtypen in een ander pakket terechtkomen.

UBL-factuur, EN 16931 en Peppol BIS: drie lagen

Een Belgische e-factuur volgt verschillende lagen tegelijk. UBL is de syntaxis: de namen en de volgorde van de XML-elementen. De Europese norm EN 16931 bepaalt welke gegevens een factuur bevat, zoals het factuurnummer, de partijen en de btw. Peppol BIS Billing 3.0 maakt die norm strenger en concreter voor het Peppol-netwerk. Een validator controleert daarom eerst de structuur (het XML-schema) en daarna de businessregels van de norm en van Peppol.

Voorbeeld van een UBL-factuur

Dit is het einde van onze geldige testfactuur voorbeeld-geldig.xml: de btw, de totalen en één factuurlijn. Het begin van het bestand, met de partijen, zie je op de pagina met testfacturen.

  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">63.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">300.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">63.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">300.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">300.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">363.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">363.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="HUR">3</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">300.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Advies e-facturatie</cbc:Name>
      …
    </cac:Item>
    <cac:Price><cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount></cac:Price>
  </cac:InvoiceLine>
</Invoice>
  • TaxTotal bevat het btw-bedrag, met per btw-categorie een TaxSubtotal. Categorie S staat voor het normale tarief, hier 21 %.
  • LegalMonetaryTotal bevat de totalen: lijnen samen, totaal zonder btw, totaal met btw en het te betalen bedrag.
  • InvoiceLine is een factuurlijn: 3 uur (eenheidscode HUR) aan 100,00 euro, samen 300,00 euro.
  • Elk bedrag heeft een currencyID, en de bedragen moeten exact kloppen. Een verschil van één cent geeft al een foutmelding, zoals BR-CO-15.

UBL of CII?

Naast UBL bestaat er een tweede syntaxis voor e-facturen: CII van UN/CEFACT. Beide kunnen dezelfde gegevens van de Europese norm bevatten. CII zit onder meer in Factur-X en ZUGFeRD, die je vooral in Frankrijk en Duitsland tegenkomt. Via Peppol in België gebruik je UBL.

Een UBL-factuur openen en controleren

  • Openen: met de UBL-viewer lees je een UBL-factuur als een gewone factuur en download je ze als pdf.
  • Controleren: de e-factuurvalidator toetst je bestand aan de officiële Peppol-regels. Wil je enkel de UBL-structuur testen, gebruik dan de UBL-validator.
  • Oefenen: op de pagina met testfacturen vind je bestanden met en zonder fouten.

Is een pdf ook een UBL-factuur?

Nee. Alleen het XML-bestand is de gestructureerde e-factuur. Een UBL-factuur kan wel een pdf als bijlage bevatten, maar die is louter visueel en mag nooit meer of andere informatie bevatten dan de XML. Controleer, boek en bewaar dus altijd de XML.

Veelgestelde vragen over de UBL-factuur

Hoe maak ik een UBL-factuur?

Met je boekhoud- of facturatiepakket. Bijna elk pakket kan facturen als UBL via Peppol versturen. Zelf XML schrijven is niet nodig.

Welke UBL-versie gebruikt Peppol?

Peppol BIS Billing 3.0 gebruikt UBL 2.1.

Is UBL hetzelfde als Peppol?

Nee. UBL is het bestandsformaat, Peppol is het netwerk waarlangs het bestand reist. Lees meer in wat is Peppol.

In hoofdstuk 4 van ons boek lichten we de XML-factuur, de lagen van de normen en de validatie uitgebreid toe.