coduri
Categoria de TVA trebuie codificată din lista UNCL5305 (S, Z, E)
Codul regulii este BR-CL-18.
Mesajul exact din validatorul ANAF
Ce înseamnă
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
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:InvoiceLine>
<cac:Item>
<cac:ClassifiedTaxCategory>
<cbc:ID>19</cbc:ID>
</cac:ClassifiedTaxCategory>
</cac:Item>
</cac:InvoiceLine>
</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:InvoiceLine>
<cac:Item>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
</cac:ClassifiedTaxCategory>
</cac:Item>
</cac:InvoiceLine>
</ubl:Invoice>Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-S-01, BR-S-08. Le repari pe toate odată cu asta.
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:ClassifiedTaxCategory/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 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.