Peppol & e-facturatie

Peppol: btw-uitsplitsing

Vergelijk bij een Peppol-factuur de btw-categorie én het percentage per regel met de uitsplitsing onderaan het document. Twee regels met dezelfde categoriecode kunnen een ander tarief hebben. Een kloppend totaal zonder btw laat nog niet zien of de bedragen in de juiste btw-groepen staan.

Kort antwoord

Schrijf per factuurregel het nettobedrag, de categoriecode en het percentage over uit dezelfde export. Groepeer daarna op de combinatie van code en percentage. Vergelijk per groep de grondslag en btw, en tel pas daarna de btw-bedragen op. Houd een verschil bij de betreffende groep, zodat je de bron van de afwijking kunt terugvinden.

Deze controle gaat over de aansluiting tussen velden. Ze bepaalt niet welk tarief bij jouw levering hoort. Onze tabel en foutproef zijn verzonnen; we hebben geen volledig XML-bestand gevalideerd, pakket getest, factuur verstuurd of aangifte beoordeeld.

Zoek categorie, percentage en grondslag op hun eigen plek

De OpenPeppol-syntax beschrijft ClassifiedTaxCategory onder een factuurregel als de btw-informatie bij het gefactureerde artikel. De categorie staat in cbc:ID, het tarief in cbc:Percent. Noteer de bovenliggende groep: elders kan een element met dezelfde naam iets anders aanduiden.

Bij TaxSubtotal onder TaxTotal staan onder meer TaxableAmount, de grondslag, en TaxAmount, de btw voor die groep. De bijbehorende TaxCategory bevat de categoriegegevens. Een gevonden bedrag is dus pas bruikbaar als je weet of het een regelnetto, groepsgrondslag of groeps-btw is.

Laat in een viewer eerst één factuurregel aanwijzen en daarna de passende uitsplitsing. Neem documentnummer en exportversie mee op je blad. Een zoekresultaat voor alleen “TaxAmount” is geen volledige vergelijking.

Groepeer op categorie én percentage

In hoofdstuk 8 van Peppol BIS Billing staat een uitsplitsing per verschillende combinatie van categoriecode en tarief. Verschillen in achterliggende nullen maken geen nieuwe groep: een percentage 21 en 21,00 lees je als dezelfde waarde. Alleen op de letter sorteren is daarom evenmin voldoende als alleen op de weergave van het percentage.

De Belastingdienst onderscheidt onder meer 21%, 9%, 0% en vrijstellingen. Bij verschillende tarieven moet de administratie daarmee rekening houden. Voor een combinatie van goederen en diensten moet bovendien worden vastgesteld of het één prestatie is of meer. Kies dus geen tarief op basis van onze technische tabel; die inhoudelijke vraag gaat vooraf aan de exportcontrole.

We nemen in de volgende oefening de categorieën en percentages als gegeven aan. Het gaat uitsluitend om het bewaren van die gekozen indeling wanneer de regelbedragen naar de uitsplitsing gaan.

Eigen proef: twee tarieven op één fictief blad

We verzinnen document B-1810 met regel A van € 100 en regel B van € 50, beide netto zonder btw. Voor de oefening nemen we code S met respectievelijk 21% en 9% aan. Er zijn geen kortingen, toeslagen, andere regels, vooruitbetalingen of afrondingscorrecties. Alle bedragen staan in EUR. De aannames zijn geen tariefadvies voor een echt product.

ControleEigen registratie voor B-1810
Regel ANetto € 100,00
Code S · percentage 21
Regel BNetto € 50,00
Code S · percentage 9
Groep S/21Grondslag € 100,00
Btw € 21,00
Groep S/9Grondslag € 50,00
Btw € 4,50

Voor de eigen rekensom geldt € 100 × 21 ÷ 100 = € 21 en € 50 × 9 ÷ 100 = € 4,50. De twee grondslagen samen zijn € 150. Ze blijven afzonderlijk herkenbaar in de btw-uitsplitsing, omdat onze aangenomen percentages verschillen.

Dit blad is geen complete Peppol-factuur. Het laat alleen zien welke gekozen regelgegevens bij welke grondslag en btw horen. We hebben geen levering, fiscale kwalificatie of echte administratie onderzocht.

Een juiste nettosom kan een verkeerde btw verbergen

Veronderstel nu dat een tweede, bewust fout blad de hele € 150 onder S/21 zet. De nettosom blijft hetzelfde, maar de btw wordt € 150 × 21 ÷ 100 = € 31,50. Onze gescheiden groepen geven € 21 + € 4,50 = € 25,50. Het verschil is € 31,50 − € 25,50 = € 6,00.

In deze proef is het verschil verklaard doordat de € 50 naar het verkeerde percentage is verplaatst. Pas niet alleen de btw-cel aan om de som gelijk te maken. Zoek terug waar de regelindeling in het bronconcept en de uitsplitsing uit elkaar lopen. Bewaar beide versies naast je uitleg.

BR-S-09 beschrijft voor categorie S de relatie tussen de groepsgrondslag, het tarief en het btw-bedrag. Onze ronde oefenbedragen geven geen afrondingsverschil. Daarmee hebben we geen grensgeval of tolerantie van een validator getest.

Neem alleen de bedragen mee die bij de groep horen

BR-S-08 koppelt bij S elk verschillend percentage aan de som van de bijpassende regelnetto's, plus documenttoeslagen en min documentkortingen met dezelfde categorie en hetzelfde tarief. Onze proef heeft die documentbedragen niet; bij een echte vergelijking moet je ze wel kunnen terugvinden.

Begin daarom bij de plaats van korting en toeslag in de factuur. Markeer op je werkblad welke korting al in een regelnetto zit. Zet een documentkorting daarnaast met haar eigen categorie en percentage. Een omschrijving als “algemene korting” vertelt op zichzelf niet hoe de export die verdeelt. Vraag de leverancier om die verdeling in hetzelfde document aan te wijzen.

Tel btw-groepen op binnen dezelfde valuta

BR-CO-14 laat het totale btw-bedrag aansluiten op de som van de btw-bedragen uit de uitsplitsingen. In onze proef is dat € 21,00 + € 4,50 = € 25,50. Het fictieve totaal inclusief btw wordt vervolgens € 150,00 + € 25,50 = € 175,50. Dat is een ander getal dan alleen de btw.

Vergelijk bedragen met hun valutacode. Bij een afzonderlijke btw-boekhoudvaluta helpt onze uitleg over het bijbehorende btw-totaal om de twee betekenissen apart te houden. Voeg geen bedragen in verschillende valuta samen en behandel een extra omgerekend btw-totaal niet als een extra btw-groep in deze EUR-proef.

Bewaar de verklaring bij de nieuwe export

Onze overdrachtsnotitie bevat document B-1810, de bekeken versie, de combinatie S/9, de € 50 grondslag en het verschil van € 6. Voeg bij een echt dossier de werkelijke veldlocatie en eventuele regelmelding toe. Zo krijgt de leverancier een concrete vraag in plaats van alleen “de btw klopt niet”.

Corrigeer een verklaarde bronfout via het pakket en controleer de nieuwe export opnieuw. Laat vastleggen welke specificatie en regels zijn gebruikt. Een juiste optelsom bewijst geen volledige technische geldigheid, en een technische acceptatie beslist niet welk Nederlands tarief inhoudelijk van toepassing is. Bewaar die beoordelingen als afzonderlijke controles.

Bronnen en verder lezen

Zeven primaire pagina's rechtstreeks gelezen op 18 oktober 2026. De geraadpleegde OpenPeppol-documentatie toont de May 2026 Release. Het controleblad B-1810 en de foutproef zijn onze eigen fictieve uitwerking. Geen account, volledige XML-validatie, berichtverzending, aangifte of toepasselijk tarief voor een echte levering is getest of beoordeeld.