Ga naar de hoofdinhoud

Referentie

Markdown-export

BR-47 Btw-categoriecode moet in elke btw-uitsplitsing aanwezig zijn

Volgens EN 16931-regel BR-47 moet elke btw-uitsplitsing (BG-23) een btw-categoriecode (BT-118) bevatten uit de door de norm toegestane deelverzameling van UNTDID 5305 (BR-CL-17 in UBL / BR-CL-18 in CII): "S" (standaardtarief, ook voor verlaagde tarieven zoals 9%), "Z" (nultarief), "E" (vrijgesteld), "AE" (btw verlegd), "K" (intracommunautaire levering), "G" (uitvoer buiten de EU), "O" (niet onderworpen aan btw), "L" (IGIC, Canarische Eilanden), "M" (IPSI, Ceuta en Melilla) of "B" (split payment, alleen Italië). Per categorie en tarief staat er één uitsplitsing met grondslag (BT-116) en btw-bedrag (BT-117).

Probleembeschrijving

FOUT

Bedrijfsregel van EN 16931 (CEN)

Interactieve validatieketen

Klik op een stap om te zien wat die controleert, of typ een regel-ID om de stap te vinden die hem meldt.

Probeer:

BR-47 kernregel van EN 16931

Gemeld in stap 2: EN 16931-regels.

Niveau fout: het rapport adviseert de factuur af te wijzen.

Stap 2 · Wat wordt gecontroleerd

  • De kernbedrijfstermen zijn aanwezig (BR-01 tot BR-65).
  • Totalen kloppen en samenhangende velden passen bij elkaar (BR-CO); codes en decimalen zijn geldig (BR-CL, BR-DEC).
  • Elke btw-categorie is consistent: S, Z, E, AE, K, G, O, L, M (BR-S, BR-Z, BR-AE, BR-IC …).

Voorbeeldcodes

Typische correctie

Bereken totalen en btw opnieuw uit de regels en corrigeer de btw-categorie in de brongegevens.

Een validator controleert een e-factuur in stappen. Eerst moet het bestand goed gevormde XML zijn die past bij het UBL- of CII-schema (XSD). Dan volgen de bedrijfsregels van EN 16931: BR-kernregels, BR-CO-berekeningen, BR-CL-codelijsten, BR-DEC-decimalen en regels per btw-categorie zoals BR-S. Daarna komen de nationale of netwerkregels die BT-24 kiest: BR-DE voor XRechnung, PEPPOL-EN16931 voor Peppol BIS Billing. Het rapport noemt elke geschonden regel: één fout betekent afwijzen, alleen waarschuwingen betekenen nog steeds accepteren. BR-47: kernregel van EN 16931, gemeld in de stap “EN 16931-regels”. Regelsets: KoSIT-validator 1.6.3 met de XRechnung-configuratie van 31 aug 2026 (EN 16931-artefacten 1.3.16), Peppol BIS Billing 3.0.21.

Context en betekenis

Dit is een kernregel van EN 16931. Zonder BT-118 kan de ontvanger de grondslag en het btw-bedrag niet aan een btw-categorie toewijzen, en kunnen de categorieregels (BR-S, BR-AE, BR-E enz.) niet worden toegepast. De fout ontstaat vaak als een export alleen het percentage in cac:TaxCategory schrijft. Een code buiten de toegestane lijst, zoals "AA" voor het verlaagde tarief, geeft geen BR-47 maar faalt op BR-CL-17 (UBL) of BR-CL-18 (CII).

Oplossing

Zorg in de btw-instellingen van uw ERP dat elke btw-uitsplitsing in TaxTotal een btw-categoriecode bevat. Voeg in UBL 2.1 onder <cac:TaxTotal> het element <cac:TaxSubtotal><cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19.00</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory></cac:TaxSubtotal> toe. Voeg in CII <ram:CategoryCode> toe onder <ram:ApplicableHeaderTradeSettlement><ram:ApplicableTradeTax>.

Snelle acties

Geldige voorbeelden

  • Btw-uitsplitsing BG-23 met BT-118 = "S" (standaardtarief 19%)
  • Btw-uitsplitsing BG-23 met BT-118 = "AE" (btw verlegd)

Ongeldige voorbeelden

  • cac:TaxSubtotal bevat grondslag en btw-bedrag maar laat cbc:ID in cac:TaxCategory weg
  • CII: ram:ApplicableTradeTax met ram:TypeCode VAT, ram:BasisAmount en ram:CalculatedAmount maar zonder ram:CategoryCode

Codevoorbeelden

Geldig XML
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19.00</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
Ongeldig XML
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:Percent>19.00</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

Betrokken velden

Validatietools