Peppol-foutcodes

BR-S-08: btw-basis per tarief klopt niet met de factuurlijnen

Foutcode BR-S-08 betekent: de maatstaf van heffing in het btw-subtotaal is niet gelijk aan de som van de lijnen aan dat tarief.

Regelset: EN 16931 · Ernst: fout (fatal): een Access Point weigert de factuur · Gecontroleerd met de officiële regels van mei 2026

Wat betekent BR-S-08?

De validator toont deze melding (in het Engels, zoals in de officiële regels):

[BR-S-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "Standard rated", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "Standard rated" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).

Per btw-tarief in de categorie S (standaardtarief) bevat de factuur een btw-subtotaal (BG-23). De maatstaf van heffing daarin (BT-116, cbc:TaxableAmount) moet precies gelijk zijn aan de som van de lijnbedragen aan dat tarief, plus de toeslagen en min de kortingen op documentniveau aan hetzelfde tarief. De regel rekent dat per tarief na. Zo krijg je bij 6 % en 21 % op dezelfde factuur twee aparte controles.

Veelvoorkomende oorzaken

  • Een factuurlijn kreeg in het pakket een ander tarief dan het tarief waaronder ze in het subtotaal geteld wordt.
  • Een korting of toeslag op documentniveau werd wel van de basis afgetrokken, maar staat niet als cac:AllowanceCharge in de factuur.
  • Het pakket berekent de basis op afgeronde btw-bedragen of op bedragen inclusief btw, in plaats van op de lijnbedragen.

Zo los je het op als verzender

  1. Tel per tarief de lijnbedragen (BT-131) op. Tel de toeslagen op documentniveau aan dat tarief erbij en trek de kortingen af.
  2. Zet die uitkomst in cbc:TaxableAmount van het subtotaal en bereken daarop het btw-bedrag.
  3. Controleer of elke lijn, korting en toeslag de juiste btw-categorie en het juiste tarief heeft, en valideer opnieuw.

Je ontving een factuur met deze fout?

Een factuur met deze fout is niet conform. Vraag de leverancier om een gecorrigeerde factuur en pas de XML niet zelf aan.

Voorbeeld in de XML

❌ Fout

<!-- twee lijnen aan 21 %: 200.00 + 100.00 = 300.00 -->
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">200.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">42.00</cbc:TaxAmount>
  <cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>21</cbc:Percent>...</cac:TaxCategory>
</cac:TaxSubtotal>

✅ Juist

<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:TaxCategory>
</cac:TaxSubtotal>

Beide fragmenten komen uit een volledige testfactuur die we met onze validator hebben gecontroleerd: de foute versie geeft precies deze melding, de juiste versie geen enkele fout.

Goed om te weten

Klopt de basis niet, dan klopt het btw-bedrag vaak ook niet. Je krijgt dan naast BR-S-08 ook BR-S-09 of BR-CO-17. Los eerst de basis op: het btw-bedrag volgt daar meestal vanzelf uit.

Controleer je factuur

Plak of sleep je XML in de gratis validator. Je ziet meteen of deze fout (nog) voorkomt, met een link naar de uitleg bij elke melding.

Officiële regel

De volledige regel met de technische test (Schematron) staat in de officiële Peppol-documentatie:

Verwante foutcodes

  • BR-CO-17: Het btw-bedrag van een btw-tarief is niet gelijk aan de maatstaf van heffing × het tarief.
  • BR-CO-18: De factuur bevat geen enkel btw-subtotaal.

Veelgestelde vragen over BR-S-08

Wat is het verschil tussen BR-S-08 en BR-CO-17?

BR-S-08 controleert de maatstaf van heffing per tarief tegenover de lijnen. BR-CO-17 controleert het btw-bedrag in het subtotaal tegenover die maatstaf en het tarief.

Geldt BR-S-08 ook voor 0 % of vrijgestelde lijnen?

Nee. BR-S-08 geldt voor de categorie S. Voor andere categorieën bestaan gelijkaardige regels, zoals BR-Z-08 voor het nultarief en BR-E-08 voor een vrijstelling.

← Alle Peppol-foutcodes