Ga naar de hoofdinhoud

Referentie

Markdown-export

BR-CO-21 Korting op documentniveau vereist een reden of redencode

Elke korting op documentniveau (BG-20) moet een reden voor de korting (BT-97) of een redencode (BT-98) bevatten, of beide.

Probleembeschrijving

FOUT

Reken- en consistentieregel van EN 16931 (BR-CO)

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-CO-21 rekenregel 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-CO-21: rekenregel 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

Elke korting op documentniveau (UBL: cac:AllowanceCharge met cbc:ChargeIndicator = false) heeft een reden in tekst of een redencode nodig, zodat de koper ziet waarvoor de korting geldt en die juist kan boeken. De fout ontstaat vaak wanneer het ERP alleen een kortingsbedrag of -percentage exporteert, zonder omschrijving.

Oplossing

Voeg voor elke korting op documentniveau een reden (BT-97) en/of een redencode (BT-98) uit UNCL 5189 toe: cbc:AllowanceChargeReason / cbc:AllowanceChargeReasonCode in UBL, ram:Reason / ram:ReasonCode in ram:SpecifiedTradeAllowanceCharge in CII.

Snelle acties

Geldige voorbeelden

  • Korting op documentniveau met BT-98 = 95 en BT-97 = "Volumekorting"

Ongeldige voorbeelden

  • Kortingsbedrag 10,00 zonder BT-97 en zonder BT-98

Codevoorbeelden

Geldig XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
Ongeldig XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>

Betrokken velden

Validatietools