# BR-CO-08 Reden en code van de regeltoeslag moeten overeenkomen

De redencode van de regeltoeslag (BT-145) en de reden van de regeltoeslag (BT-144) moeten hetzelfde soort toeslagreden aanduiden.

## Probleembeschrijving

> **FOUT**: Reken- en consistentieregel van EN 16931 (BR-CO)

## Context en betekenis

Deze regel is de tegenhanger van BR-CO-06 op regelniveau. De EN 16931-validatiebestanden voor UBL en CII die de KoSIT-validator gebruikt, bevatten voor BR-CO-08 alleen een lege controle die altijd slaagt; BR-CO-08 verschijnt dus nooit in een validatierapport. De eis blijft gelden: een regeltoeslag waarvan de redencode (BT-145) en de tekst (BT-144) elkaar tegenspreken, zoals code ABL (extra verpakking) met de tekst "Loyaliteitskorting", leidt bij de koper tot handmatige controle. Een typische oorzaak is een korting die in het ERP als negatieve toeslag is ingevoerd.

## Oplossing

Zorg er binnen de regeltoeslag voor dat de reden in tekst (BT-144) en de redencode (BT-145) dezelfde toeslag beschrijven, bijv. code ABL (extra verpakking) met de tekst "Speciale verpakking". Is het bedrag eigenlijk een korting, neem het dan op als regelkorting (BG-27).

- [XML valideren](/nl/xrechnung-validator?source=resource&rule=BR-CO-08)
- [Factuur converteren](/nl/pdf-to-xrechnung?source=resource&rule=BR-CO-08)

## Geldige voorbeelden

- BT-145 = ABL (extra verpakking) met BT-144 = "Speciale verpakking"

## Ongeldige voorbeelden

- BT-145 = ABL (extra verpakking) met BT-144 = "Loyaliteitskorting"

## Codevoorbeelden

### Geldig XML
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Special packaging</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

### Ongeldig XML
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

## Betrokken velden

- [BT-144 Reden regeltoeslag](/resources/xrechnung/bt-144-invoice-line-charge-reason)
- [BT-145 Redencode regeltoeslag](/resources/xrechnung/bt-145-invoice-line-charge-reason-code)

## Gerelateerde regels

- [BR-CO-06](/resources/kosit-validator-errors/br-co-06-charge-reason-code-match)
- [BR-CO-24](/resources/kosit-validator-errors/br-co-24-line-charge-reason-required)

## Validatietools

- [Officiële KoSIT-validator](https://github.com/itplr-kosit/validator): Draai de officiële KoSIT-validator met de XRechnung-configuratie om EN 16931- en XRechnung-regels te controleren.
- [PDF naar XRechnung converteren](/pdf-to-xrechnung): Vind validatiefouten tijdens de conversie en controleer elke correctie.

## Gerelateerde bronnen

- [Officiële specificatie](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle validatiefouten](/resources/kosit-validator-errors): Overzicht van de hier uitgelegde validatieregels uit EN 16931, XRechnung en Peppol.
