Erori e-FacturaBR-46

Grupa de TVA (BG-23) trebuie să aibă suma TVA (BT-117)

Codul regulii este BR-46.

Mesajul exact din validatorul ANAF

org.xml.sax.SAXParseException; lineNumber: 142; columnNumber: 24; cvc-complex-type.2.4.a: Invalid content was found starting with element '{"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":TaxCategory}'. One of '{"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":TaxAmount}' is expected.

Ce inseamna

Fiecare detaliere de TVA din factură (BG-23) trebuie să conțină și suma de TVA aferentă cotei respective (BT-117), nu doar baza impozabilă. Din acest element validatorul ANAF adună TVA-ul pe fiecare cotă și îl compară cu TVA-ul total al facturii (BT-110). Dacă lipsește, factura este respinsă chiar dacă totalul general pare corect.

Cum repari

În programul de facturare, verifică fiecare <cac:TaxSubtotal> și scrie în <cbc:TaxAmount> TVA-ul calculat pe grupa respectivă, în aceeași monedă ca factura. Elementul se pune între <cbc:TaxableAmount> și <cac:TaxCategory>.

Exemplu

Asa pica

<ubl:Invoice>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="RON">1000.00</cbc:TaxableAmount>
      <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>

Asa trece

<ubl:Invoice>
  <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>

In practica nu ajungi sa vezi codul regulii: valoarea e respinsa mai devreme, de schema XML, iar mesajul arata cum scrie mai sus. Regula exista si ea, dar prinde doar cazurile pe care schema le lasa sa treaca.

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 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

Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117).

Unde se aplica

$VAT_breakdown

Conditia care trebuie sa fie adevarata

$BR-46