Wat je precies hebt gekregen
Vrijwel alle Nederlandse UBL komt neer op hetzelfde: UBL 2.1 volgens de Europese norm EN 16931. De namen die je tegenkomt — Peppol BIS 3.0, NLCIUS, SI-UBL 2.0 — zijn geen aparte formaten maar dezelfde norm met Nederlandse of Peppol-specifieke inperkingen erbovenop.
Dat verklaart iets wat vaak verwarring geeft: een validator die voor één land is geschreven, klaagt over een factuur uit een ander land die volkomen in orde is. Eén lezer kan ze allemaal aan; één landspecifieke controle kan dat niet.
Sleep gerust de hele map, inclusief ZIP-bestanden. Die worden vanzelf uitgepakt, ook archieven in archieven.
Het btw-id dat «fout» heet en toch klopt
Sinds 1 januari 2020 heeft elke eenmanszaak een nieuw btw-identificatienummer. De negen cijfers erin zijn willekeurig — met opzet, want in het oude nummer stond je BSN, en dat kwam dus op elke factuur te staan die je verstuurde.
Het gevolg: de klassieke elfproef gaat niet meer op. Software die dat controlecijfer nog als harde eis gebruikt, meldt bij elke zzp'er «btw-nummer ongeldig». Er zijn in Nederland ruim een miljoen eenmanszaken — dat is geen randgeval, dat is de halve inbox van een boekhouder.
Hier telt de elfproef alleen als bewijs dat het klopt: gaat hij op, dan is het
nummer goed. Gaat hij niet op, dan zeggen we niets — offline is niet te zien of het
een typefout in een oud nummer is of een geldig nieuw nummer. Wél gecontroleerd wordt
de vorm: negen cijfers, een B, en twee cijfers voor de subnummering.
Een nummer echt bevestigen kan alleen via VIES bij de Europese Commissie, en daar hoort een online bevraging bij. Deze pagina doet niets online — dus doen we die claim ook niet.
Wat er in de tabel komt
Eén regel per factuur: nummer, datum, vervaldatum, leverancier en diens btw-nummer, afnemer, valuta, bedrag exclusief, btw uitgesplitst per tarief (21 %, 9 %, 0 %), totaal en het documenttype. Creditnota's komen negatief binnen, met een verwijzing naar de factuur die ze corrigeren — anders staat er in je grootboek een bedrag zonder herkomst.
De bedragen worden uit de XML gelezen, niet teruggerekend uit stuksprijzen. Dat verschil telt precies wanneer het ertoe doet: staat er een afrondingsverschil op de factuur, dan staat dat verschil ook in de tabel — en niet een nieuw verschil dat wij hebben verzonnen.
De download is .xlsx en opent in Excel, LibreOffice of Google
Spreadsheets. Er is ook CSV, als het door moet naar een boekhoudpakket.
Controleren vóór het boeken
Naast lezen wordt er ook getoetst aan EN 16931: ontbreekt er een verplicht veld, telt de som van de regels niet op tot het bedrag exclusief btw, is de btw-categorie er een die de norm kent, staat bij een vrijstelling ook de reden vermeld. Voor één factuur laat de controlepagina de lijst regel voor regel zien.
En wat er uit het buitenland binnenkomt
In dezelfde map mogen ook facturen zitten die geen UBL zijn: Factur-X /
ZUGFeRD (een PDF met de XML erin, uit Frankrijk en Duitsland), XRechnung,
FatturaPA in een .p7m-envelop uit Italië, Facturae in
.xsig uit Spanje, e-Factura uit Roemenië, KSeF uit Polen.
Alles komt in dezelfde tabel terecht, met dezelfde kolommen.
E-mails in .eml of .msg kun je er rechtstreeks op slepen:
de bijlagen worden er vanzelf uitgehaald.
Er wordt niets geüpload
De bestanden worden in je eigen browser gelezen. Niet «veilig verzonden» — niet verzonden, en dat kun je zelf zien: open het tabblad Netwerk in de ontwikkelaarstools en sleep er een factuur in. Er gaat geen enkel verzoek uit. Na de eerste keer laden werkt de pagina ook zonder internet.
Voor een administratiekantoor betekent dat: klantgegevens komen niet bij een derde terecht — niet omdat wij dat beloven, maar omdat er nergens heen te sturen valt.
Probeer het
Sleep de bestanden op de hoofdpagina — tot 10 facturen per export en 20 per dag, gratis en zonder account. Eén factuur nakijken kan op de controlepagina.