← Înapoi la dicționar
BR-CO-14 Eroare Calcul totale (BR-CO-*)

Suma TVA per categorie nu corespunde sumei pe linii

Referință: EN16931 BR-CO-14 (BT-110)

Ce înseamnă

Pentru fiecare cotă de TVA distinctă, suma de TVA totală (<cac:TaxTotal><cbc:TaxAmount>, BT-110) trebuie să fie egală cu suma TVA-urilor calculate pe linii. ANAF respinge XML-ul cu BR-CO-14 dacă totalul declarat nu se închide.

Pe scurt: TaxAmount total = Σ (TaxableAmount × Rate ÷ 100) per categorie.

Cauze frecvente

  • Rotunjire pe linie vs total — calculezi TVA-ul pe fiecare linie cu 2 zecimale, dar îl declari în total rotunjit altfel
  • Cote diferite pe linii diferite — facturi cu mix 19% / 9% / 5% produc mai multe <cac:TaxSubtotal> pe care fiecare trebuie să se închidă separat
  • TaxableAmount calculat greșit — trebuie să fie totalul fără TVA pentru acea categorie, nu totalul cu TVA

Cum se rezolvă

  1. Grupează liniile pe vat_rate și vat_category_code (S, Z, E, O)
  2. Pentru fiecare grup, calculează:
    • TaxableAmount = Σ LineExtensionAmount (linii din grup)
    • TaxAmount = round(TaxableAmount × Rate / 100, 2)
  3. Emite câte un <cac:TaxSubtotal> per grup
  4. TaxTotal/TaxAmount la nivel de document = suma tuturor TaxSubtotal/TaxAmount

Exemplu

Două linii la cotă 19%:

<cac:InvoiceLine>
  <cbc:LineExtensionAmount currencyID="RON">100.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>

<cac:InvoiceLine>
  <cbc:LineExtensionAmount currencyID="RON">200.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="RON">57.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="RON">300.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="RON">57.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

100 + 200 = 300 și 300 × 19% = 57.00 — egalitatea trece.

Verifică dacă XML-ul tău are această eroare

Încărcăm fișierul, rulăm aceleași reguli EN16931 pe care le folosește ANAF și îți arătăm toate codurile găsite.

Validează gratuit