Erori e-FacturaBR-CL-18

Categoria de TVA trebuie codificată din lista UNCL5305 (S, Z, E)

Codul regulii este BR-CL-18.

Mesajul exact din validatorul ANAF

textEroare=[BR-S-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is Standard rated shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with Standard rated .
textEroare=[BR-S-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is Standard rated , the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is Standard rated and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).
textEroare=[BR-CL-18]-Invoice tax categories MUST be coded using UNCL5305 code list

Ce inseamna

Codul din cac:ClassifiedTaxCategory/cbc:ID (BT-151) nu este text liber, ci o literă din lista UNCL5305: S cota standard, Z cota zero, E scutit, AE taxare inversă, K operațiune intracomunitară, G export, O în afara sferei de aplicare (lista mai conține L, M, B). Validatorul compară valoarea exact, literă cu literă: spații, minuscule sau denumiri precum "19" ori "STANDARD" sunt respinse, chiar dacă TVA-ul calculat e corect. Codul trebuie să fie identic în antetul liniilor și în detalierea de TVA din cac:TaxTotal, altfel apar erori în lanț.

Cum repari

În programul de facturare, câmpul de TVA al articolului trebuie să genereze doar codul din lista, cu literă mare și fără spații, nu procentul sau denumirea cotei: pentru 19%, 9% sau 5% codul este S; pentru cota 0% este Z; pentru scutit este E; pentru taxare inversă este AE. Verifică apoi că același cod să apară și în cac:TaxSubtotal/cac:TaxCategory/cbc:ID, nu doar pe linie.

Exemplu

Asa pica

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
             xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
             xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:InvoiceLine>
    <cac:Item>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>19</cbc:ID>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
  </cac:InvoiceLine>
</ubl:Invoice>

Asa trece

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
             xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
             xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:InvoiceLine>
    <cac:Item>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
  </cac:InvoiceLine>
</ubl:Invoice>

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-S-01, BR-S-08. Le repari pe toate odata cu asta.

Verificat. Am pus fiecare din cele doua fragmente intr-o factura completa si le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stanga a fost respinsa cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fara nicio eroare. Verificarea s-a facut pe 14.09.2026.
Regula asa cum e scrisa in schematronul oficial

Textul oficial, in engleza

Invoice tax categories MUST be coded using UNCL5305 code list

Unde se aplica

cac:ClassifiedTaxCategory/cbc:ID

Conditia care trebuie sa fie adevarata

( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) )
Ce nu rezulta din textul oficial al regulii

Nu am putut confirma din datele primite dacă CIUS-RO folosește efectiv codurile L, M și B (în practică românească nu apar) și nici dacă pentru cota 0% se cere Z sau E în toate situațiile; textul regulii enumera doar lista UNCL5305, fără corespondență cu cotele românești.