Erori e-FacturaBR-S-10

Cota standard 19% nu poate avea motiv de scutire de TVA

Codul regulii este BR-S-10.

Mesajul exact din validatorul ANAF

textEroare=[BR-S-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) Standard rate 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 "S" - cota standard, adică 19% - nu are voie să conțină nici cod de motiv al scutirii (BT-121), nici text de motiv al scutirii (BT-120). Motivul scutirii are sens doar la categoriile scutite (E, AE, K, G, O, Z etc.), unde TVA-ul nu se colectează. Dacă pe o linie cu 19% apare un motiv de scutire, validatorul îl tratează ca pe o contradicție: ori ai scutire, ori ai cota standard, nu amândouă.

Cum repari

În programul de facturare, șterge din blocul de detaliere a TVA (TaxSubtotal) elementele TaxExemptionReasonCode și TaxExemptionReason atunci când codul categoriei de taxă este S. Dacă factura chiar are operațiuni scutite, nu le lasă pe cota standard: creează un TaxSubtotal separat, cu codul de categorie care corespunde scutirii și cota 0, și abia acolo pune motivul scutirii.

Exemplu

Asa pica

<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">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>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cbc:TaxExemptionReasonCode>VATEX-EU-O</cbc:TaxExemptionReasonCode>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
</ubl:Invoice>

Asa 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">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>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
</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) "Standard rate" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

Unde se aplica

$VATS

Conditia care trebuie sa fie adevarata

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

Codul VATEX-EU-O din varianta greșită este doar o valoare de exemplu, luată din lista de coduri de scutire EN 16931; regula se declanșează identic pentru orice cod sau text de scutire pus pe o categorie S, deci nu contează valoarea concretă. Nu am verificat dacă validatorul ANAF raportează regula sub același nume BR-S-10 sau tradus.