EN16931
O linie cu cotă zero cere codul Z în defalcarea de TVA
Codul regulii este BR-Z-01.
Mesajul exact din validatorul ANAF
Ce înseamnă
Dacă oriunde în factură apare codul de cotă Z (Zero rated) — pe o linie (BT-151), pe o reducere (BT-95) sau pe o majorare (BT-102) — atunci în defalcarea de TVA (BG-23) trebuie să existe exact o înregistrare cu codul Z. Validatorul nu se uită la procent, ci la codul de categorie: dacă nu găsește nicio linie Z în defalcare, respinge factura. Simetric, două rânduri Z în defalcare sunt la fel de greșite ca niciunul.
Cum repari
În programul de facturare, orice linie (sau reducere/majorare) cu cotă zero trebuie să genereze automat un rând corespunzător în defalcarea de TVA, cu codul Z și procent 0.00. Verifică dacă aplicația nu cumva scrie codul S (standard) pe liniile zero-rated sau sare peste rândul de TVA când TVA-ul este zero.
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>
<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>S</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<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>Z</cbc:ID>
<cbc:Percent>0.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: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>Z</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<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>Z</cbc:ID>
<cbc:Percent>0.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>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ă
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 "Zero rated" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Zero rated".
Unde se aplică
$Invoice
Condiția care trebuie să fie adevărată
$BR-Z-01
Ce nu rezultă din textul oficial al regulii
Nu am putut confirma din datele primite dacă pentru codul Z validatorul CIUS-RO cere explicit cbc:Percent 0.00 sau acceptă și lipsa lui; am păstrat 0.00. De asemenea, nu pot verifica dacă pentru livrările similare (export, livrare intracomunitară) programul folosește codurile G sau K, care au reguli proprii.