EN16931
Codul de TVA O (neimpozabil): valoarea TVA trebuie să fie 0
Codul regulii este BR-O-09.
Mesajul exact din validatorul ANAF
Ce înseamnă
Codul de TVA „O” (Not subject to VAT) marcheaza operațiuni care nu intra in sfera de aplicare a TVA-ului, adica acolo unde nu se colecteaza TVA. In detalierea pe cote (BG-23), la acest cod valoarea TVA (BT-117) trebuie să fie exact 0.00, fiindca nu exista TVA de calculat. Daca in detaliere ramane o suma de TVA, factură este respinsa la BR-O-09 chiar daca totalurile se inchid aritmetic.
Cum repari
Pentru orice detaliere de TVA cu codul O, pune 0.00 la valoarea TVA și refa lantul de totaluri: totalul de TVA (BT-110), totalul cu TVA (BT-112) și totalul de plata (BT-115) scad cu suma respectiva. Daca pe factură ai și alte cote de TVA, codul O nu este cel potrivit pentru acea operațiune, asa ca revino la codul real (S, Z, E sau AE) și lasa TVA-ul calculat.
Exemplu
Așa pică
<Invoice xmlns="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>
<cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="RON">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="RON">1190.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<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>
</Invoice>Așa trece
<Invoice xmlns="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>
<cbc:TaxAmount currencyID="RON">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="RON">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="RON">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="RON">1000.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="RON">1000.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<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>
</Invoice>Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-CO-17. 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ă
The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Not subject to VAT" shall be 0 (zero).
Unde se aplică
$VATO
Condiția care trebuie să fie adevărată
$BR-O-09
Ce nu rezultă din textul oficial al regulii
Factură de referinta nu are nicio detaliere cu codul O, asa ca exemplul e construit pornind de la detalierea cu S (aceleasi cantitati și sume), doar codul de TVA și cota fiind schimbate. Nu am putut confirma din datele primite daca pentru codul O mai exista și alte conditii in CIUS-RO (de exemplu interzicerea cotei de TVA BT-119 la detaliere și BT-152 la linie, obligatia unui motiv de scutire, sau regula ca o factură cu O să nu contina și alte cote de TVA); BR-O-09 se refera strict la valoarea TVA din detalierea pe cote.