EN16931
Linia cu cod TVA „O” nu poate avea cotă de TVA completată
Codul regulii este BR-O-05.
Mesajul exact din validatorul ANAF
Ce înseamnă
Când o linie are codul de categorie de TVA „O” (nu face obiectul TVA-ului), nu se aplică nicio cotă, deci elementul BT-152 (cota de TVA a articolului) nu are ce să conțină. Validatorul ANAF respinge linia dacă în XML apare cbc:Percent în ClassifiedTaxCategory, chiar și cu 0.00. Regula se aplică exclusiv liniilor cu „O”; la „S”, „Z” sau „E” cota este obligatorie și trebuie să rămână completată.
Cum repari
La articolele facturate cu categoria „O”, golește câmpul de cotă TVA din linie, astfel încât în XML să nu se mai genereze cbc:Percent în cac:ClassifiedTaxCategory. Dacă programul preia cota implicită de 19% din fișa articolului, suprascrie-o cu „fără cotă” pentru aceste linii. Nu modifica cota la liniile cu „S”, „Z” sau „E”.
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>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Serviciu de consultanta</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>O</cbc:ID>
<cbc:Percent>19.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
</cac:Price>
</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>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Serviciu de consultanta</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>O</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</ubl:Invoice>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ă
An Invoice line (BG-25) where the VAT category code (BT-151) is "Not subject to VAT" shall not contain an Invoiced item VAT rate (BT-152).
Unde se aplică
$VATO_Line
Condiția care trebuie să fie adevărată
$BR-O-05
Ce nu rezultă din textul oficial al regulii
Nu am putut confirma din datele primite cum trebuie să arate restul facturii după trecerea liniei pe „O”: detalierea TVA (BG-23) are nevoie de un TaxSubtotal cu BT-118 = O și BT-117 = 0.00, iar totalurile (BT-110, BT-112, BT-115) se recalculează corespunzător. Aceste elemente nu fac parte din fragmentul afișat, care acoperă doar linia de factură. De asemenea, nu am verificat dacă în CIUS-RO există o regulă pereche la nivel de factură pentru același cod „O”.