Erori e-FacturaBR-Z-10

La cota 0% (Zero rated) nu scrii motiv de scutire de TVA

Codul regulii este BR-Z-10.

Mesajul exact din validatorul ANAF

textEroare=[BR-Z-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) Zero rated shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

Ce inseamna

Când detalierea de TVA (BG-23) are codul de categorie Z, adică Zero rated / cotă 0%, factura nu are voie să conțină nici codul motivului de scutire (BT-121), nici textul motivului de scutire (BT-120). Cota 0% nu este o scutire de TVA, ci o operațiune impozabilă cu cotă zero, deci nu există un motiv de scutire de justificat. Motivul de scutire se folosește doar la categoriile E (scutit), AE (taxare inversă) sau O (în afara sferei de aplicare), unde chiar există o scutire.

Cum repari

În programul de facturare, golește câmpurile „cod motiv scutire” și „motiv scutire” ori de câte ori categoria de TVA este Z (cotă 0%). Dacă ai nevoie de un motiv de scutire în factură, înseamnă că ai ales greșit categoria: pune E, AE sau O, în funcție de situația fiscală reală, și atunci motivul devine obligatoriu, nu interzis.

Exemplu

Asa pica

<ubl:Invoice>
  <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>
        <cbc:TaxExemptionReasonCode>VATEX-EU-IC</cbc:TaxExemptionReasonCode>
        <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>

Asa trece

<ubl:Invoice>
  <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>
Verificat. Am pus fiecare din cele doua fragmente intr-o factura completa si le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stanga a fost respinsa cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fara nicio eroare. Verificarea s-a facut pe 14.09.2026.
Regula asa cum e scrisa in schematronul oficial

Textul oficial, in engleza

A VAT breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

Unde se aplica

$VATZ

Conditia care trebuie sa fie adevarata

$BR-Z-10
Ce nu rezulta din textul oficial al regulii

Codul VATEX-EU-IC folosit în varianta greșită este un cod real din lista VATEX, dar aici e doar ilustrativ: regula se încalcă cu orice cod sau text de scutire pus lângă categoria Z. Pentru că trecerea de la S la Z schimbă TVA-ul, am ajustat în ambele fragmente și linia, și detalierea de TVA, și totalurile (TVA 0.00, total cu TVA 1000.00), ca decupajul să rămână coerent aritmetic; restul facturii de referință (părțile, IBAN, datele) rămâne neschimbat. Nu am putut confirma din datele primite dacă CIUS-RO 1.0.1 mai adaugă alte condiții pentru categoria Z (de exemplu valori impuse pentru BT-119) dincolo de regula BR-Z-10.