BR-CL-20
Coded charge reasons MUST belong to the UNCL 7161 code list
Official rule text
[BR-CL-20]-Coded charge reasons MUST belong to the UNCL 7161 code list
Where the rule applies
| Rule set | Document type | Severity |
|---|---|---|
| XRechnung with the CEN EN 16931 rules (3.0.2) KoSIT, CEN | EN16931 XRechnung (UBL Invoice), EN16931 XRechnung Extension (UBL Invoice), EN16931 XRechnung CVD (UBL Invoice), EN16931 XRechnung (UBL CreditNote), EN16931 XRechnung CVD (UBL CreditNote), EN16931 XRechnung (CII), EN16931 XRechnung Extension (CII), EN16931 XRechnung CVD (CII), EN16931 (UBL Invoice), EN16931 (UBL CreditNote), EN16931 (CII) | fatal |
| Peppol BIS Billing 3.0 (3.0-2026.5) OpenPeppol | Peppol BIS Billing 3.0 (UBL Invoice), Peppol BIS Billing 3.0 (UBL CreditNote) | fatal |
| CIUS-RO (1.0.9) Romanian Ministry of Finance | CIUS-RO (UBL Invoice), CIUS-RO (UBL CreditNote), CIUS-RO (CII): EN 16931 only | fatal |
| HR-CIUS (eRačun) (1.0.4) Croatian Tax Administration | HR-CIUS (UBL Invoice), HR-CIUS (UBL CreditNote) | fatal |
Fatal and error findings make the invoice invalid (valid: false); warnings and information do not.
Technical check
- Syntax
- UBL · HR-CIUS (eRačun) (1.0.4), Peppol BIS Billing 3.0 (3.0-2026.5), XRechnung with the CEN EN 16931 rules (3.0.2)
- Context
cac:AllowanceCharge[cbc:ChargeIndicator = true()]/cbc:AllowanceChargeReasonCode- Test (must be true)
((not(contains(normalize-space(.), ' ')) and contains(' AA AAA AAC AAD AAE AAF AAH AAI AAS AAT AAV AAY AAZ ABA ABB ABC ABD ABF ABK ABL ABN ABR ABS ABT ABU ACF ACG ACH ACI ACJ ACK ACL ACM ACS ADC ADE ADJ ADK ADL ADM ADN ADO ADP ADQ ADR ADT ADW ADY ADZ AEA AEB AEC AED AEF AEH AEI AEJ AEK AEL AEM AEN AEO AEP AES AET AEU AEV AEW AEX AEY AEZ AJ AU CA CAB CAD CAE CAF CAI CAJ CAK CAL CAM CAN CAO CAP CAQ CAR CAS CAT CAU CAV CAW CAX CAY CAZ CD CG CS CT DAB DAD DAC DAF DAG DAH DAI DAJ DAK DAL DAM DAN DAO DAP DAQ DL EG EP ER FAA FAB FAC FC FH FI GAA HAA HD HH IAA IAB ID IF IR IS KO L1 LA LAA LAB LF MAE MI ML NAA OA PA PAA PC PL PRV RAB RAC RAD RAF RE RF RH RV SA SAA SAD SAE SAI SG SH SM SU TAB TAC TT…
- Syntax
- CII · CIUS-RO (1.0.9), XRechnung with the CEN EN 16931 rules (3.0.2)
- Context
ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator = true()]/ram:ReasonCode- Test (must be true)
((not(contains(normalize-space(.), ' ')) and contains(' AA AAA AAC AAD AAE AAF AAH AAI AAS AAT AAV AAY AAZ ABA ABB ABC ABD ABF ABK ABL ABN ABR ABS ABT ABU ACF ACG ACH ACI ACJ ACK ACL ACM ACS ADC ADE ADJ ADK ADL ADM ADN ADO ADP ADQ ADR ADT ADW ADY ADZ AEA AEB AEC AED AEF AEH AEI AEJ AEK AEL AEM AEN AEO AEP AES AET AEU AEV AEW AEX AEY AEZ AJ AU CA CAB CAD CAE CAF CAI CAJ CAK CAL CAM CAN CAO CAP CAQ CAR CAS CAT CAU CAV CAW CAX CAY CAZ CD CG CS CT DAB DAD DAC DAF DAG DAH DAI DAJ DAK DAL DAM DAN DAO DAP DAQ DL EG EP ER FAA FAB FAC FC FH FI GAA HAA HD HH IAA IAB ID IF IR IS KO L1 LA LAA LAB LF MAE MI ML NAA OA PA PAA PC PL PRV RAB RAC RAD RAF RE RF RH RV SA SAA SAD SAE SAI SG SH SM SU TAB TAC TT…
- Syntax
- UBL · CIUS-RO (1.0.9)
- Context
cac:AllowanceCharge[cbc:ChargeIndicator = true()]/cbc:AllowanceChargeReasonCode- Test (must be true)
((not(contains(normalize-space(.), ' ')) and contains(' AA AAA AAC AAD AAE AAF AAH AAI AAS AAT AAV AAY AAZ ABA ABB ABC ABD ABF ABK ABL ABN ABR ABS ABT ABU ACF ACG ACH ACI ACJ ACK ACL ACM ACS ADC ADE ADJ ADK ADL ADM ADN ADO ADP ADQ ADR ADT ADW ADY ADZ AEA AEB AEC AED AEF AEH AEI AEJ AEK AEL AEM AEN AEO AEP AES AET AEU AEV AEW AEX AEY AEZ AJ AU CA CAB CAD CAE CAF CAI CAJ CAK CAL CAM CAN CAO CAP CAQ CAR CAS CAT CAU CAV CAW CAX CAY CAZ CD CG CS CT DAB DAD DAC DAF DAG DAH DAI DAJ DAK DAL DAM DAN DAO DAP DAQ DL EG EP ER FAA FAB FAC FC FH FI GAA HAA HD HH IAA IAB ID IF IR IS KO L1 LA LAA LAB LF MAE MI ML NAA OA PA PAA PC PL RAB RAC RAD RAF RE RF RH RV SA SAA SAD SAE SAI SG SH SM SU TAB TAC TT TV…
How the API reports this rule
Every finding of POST /v1/validate carries the rule id, severity, message, location (XPath) and rule set, and links this page (docUrl):
{
"severity": "fatal",
"ruleId": "BR-CL-20",
"message": "[BR-CL-20]-Coded charge reasons MUST belong to the UNCL 7161 code list",
"xpath": "/…",
"source": "schematron:xrechnung@3.0.2",
"docUrl": "https://einvoice-api.eu/rules/br-cl-20.html"
}Check an invoice against this rule and every other rule of the rule set – in the browser, without sign-up.
Rule text and severity are taken unchanged from the official rule set; this page is generated from the API's configuration. Not legal advice.