Oficjalna treść reguły
[BR-CL-20] Coded charge reasons MUST belong to the UNCL 7161 code list
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Wartość musi pochodzić ze stałej listy kodów, a wartość w pliku na niej nie występuje. Częste przyczyny: tekst zamiast kodu („Faktura” zamiast 380), kod ze starszej wersji listy, małe litery albo kod poprawny w innym standardzie, lecz nie w tym.
Jak to naprawić
Zastąp wartość kodem z listy wskazanej w treści reguły (UNTDID 1001 dla typów dokumentów, UNTDID 5305 dla kategorii VAT, ISO 4217 dla walut, ISO 3166-1 dla krajów, UN/ECE Rec. 20/21 dla jednostek, EAS dla adresów elektronicznych, ISO 6523 ICD dla schematów identyfikatorów). Wielkość liter ma znaczenie.
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
cac:AllowanceCharge[cbc:ChargeIndicator = true()]/cbc:AllowanceChargeReasonCodeTest (XPath):
((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 TV V1 V2 WH XAA YY ZZZ ', concat(' ', normalize-space(.), ' '))))CII
ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator = true()]/ram:ReasonCodeTest (XPath):
((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 TV V1 V2 WH XAA YY ZZZ ', concat(' ', normalize-space(.), ' '))))
Sprawdź swoją fakturę
Upuść plik XML lub PDF w walidatorze; każda naruszona reguła ma link do swojej strony tutaj. Bezpłatnie, bez konta, plik nie jest zapisywany.
To samo sprawdzenie przez API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validatePowiązane reguły
BR-CL-01Kod rodzaju faktury nie jest prawidłowym kodem UNTDID 1001BR-CL-03Atrybut currencyID nie jest kodem ISO 4217BR-CL-04Kod waluty faktury nie jest kodem ISO 4217BR-CL-05Kod waluty podatku MUSI być zgodny z listą ISO 4217 alpha-3BR-CL-06Kod daty powstania obowiązku VAT MUSI być zgodny z ograniczeniem UNTDID 2005BR-CL-07Identyfikator schematu identyfikatora obiektu MUSI być zgodny z ograniczeniem…BR-CL-08Kod tematu uwagi musi być zgodny z UNCL4451BR-CL-10Schemat identyfikatora podmiotu nie jest kodem ISO 6523 ICD
Najczęstsze pytania
Co oznacza BR-CL-20?
BR-CL-20 to reguła podstawowa en 16931: Coded charge reasons MUST belong to the UNCL 7161 code list
Czy moja faktura zostanie odrzucona z powodu BR-CL-20?
Tak. BR-CL-20 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy BR-CL-20?
Każda faktura EN 16931: XRechnung, ZUGFeRD 2.x / Factur-X (profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 oraz krajowe CIUS. Składnia: UBL i CII.
Źródło: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.