Erori e-Factura

coduri

Codul categoriei de TVA trebuie luat din lista UNCL5305

Codul regulii este BR-CL-17.

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-CL-17]-Invoice tax categories MUST be coded using UNCL5305 code list

Ce înseamnă

În factură, cbc:ID de sub cac:TaxCategory (atât în detalierea TVA, cât și pe fiecare linie, la ClassifiedTaxCategory) nu este text liber: trebuie să fie un cod din lista UNCL5305, scris cu majuscule și fără spații. Cota de TVA nu se pune aici, ci în cbc:Percent. Dacă pui cifra cotei sau o prescurtare inventată (ST, TVA, 19), factura este respinsă cu eroarea BR-CL-17, chiar dacă aritmetica este corectă.

Cum repari

În programul de facturare, caută maparea categoriei de TVA folosită la exportul e-Factura și înlocuiește valoarea cu un cod UNCL5305: S pentru cota standard, Z pentru cota zero, E pentru scutit, AE pentru taxare inversă, K pentru livrare intracomunitară, G pentru export, O pentru în afara sferei de aplicare. Nu lasă spații și nu scrie codul cu litere mici; cota procentuală rămâne doar în cbc:Percent. Verifică ambele locuri: detalierea TVA și fiecare linie de factură.

Exemplu

Așa pică

<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:TaxTotal>
    <cac:TaxSubtotal>
      <cac:TaxCategory>
        <cbc:ID>19</cbc:ID>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
</ubl:Invoice>

Așa 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:TaxTotal>
    <cac:TaxSubtotal>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
</ubl:Invoice>

Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-S-01. Le repari pe toate odată cu asta.

Verificat. Am pus fiecare din cele două fragmente într-o factură completă și le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fără nicio eroare. Verificarea s-a făcut pe 14.09.2026.
Regula așa cum e scrisă în schematronul oficial

Textul oficial, în engleză

Invoice tax categories MUST be coded using UNCL5305 code list

Unde se aplică

cac:TaxCategory/cbc:ID

Condiția care trebuie să fie adevărată

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

Nu pot confirma din datele primite care dintre codurile listei UNCL5305 (B, L, M, G, O, K) sunt acceptate în practică de validatorul ANAF pentru o factură românească; textul regulii citează toată lista, dar pentru RO relevante sunt în principal S, E, Z, AE, K, G și O. Nu pot confirma nici dacă unele programe folosesc alte denumiri interne (ex. ST, TVA) care ajung în XML - trebuie verificat în setările de export.