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

Suma de pe linia facturii nu corespunde produsului dintre cantitate și prețul unitar

Referință: EN16931 BR-CO-13

Ce înseamnă

Pe fiecare linie de factură, suma declarată în <cbc:LineExtensionAmount> (BT-131) trebuie să fie egală cu cantitatea înmulțită cu prețul unitar al articolului, minus eventualele reduceri aplicate la nivel de linie.

Formal:

LineExtensionAmount = InvoicedQuantity × PriceAmount − AllowanceAmount + ChargeAmount

ANAF respinge XML-ul când această egalitate nu se respectă, chiar și pentru diferențe foarte mici cauzate de rotunjire.

Cauze frecvente

  • Rotunjire greșită — calculezi cantitate × preț la mai multe zecimale decât suma totală pe linie, iar diferența nu se închide
  • Discount aplicat la nivel de linie dar nedeclarat în <cac:AllowanceCharge> la nivelul liniei
  • Cantități cu zecimale combinate cu prețuri rotunjite — ex: 1.5 × 33.00 = 49.50 declarat ca 49.49 sau 49.51
  • Liniile generate manual într-un export Excel, fără validare programatică

Cum se rezolvă

  1. Calculează linia cu aceeași precizie pe care o folosești pentru totaluri. Standardul EN16931 cere 2 zecimale pentru sumele monetare; rotunjește produsul cantitate × preț la 2 zecimale înainte de a-l declara.
  2. Dacă oferi un discount, declară-l explicit în <cac:AllowanceCharge> ca un sub-element al <cac:InvoiceLine>, cu <cbc:ChargeIndicator>false</cbc:ChargeIndicator>.
  3. Verifică că <cbc:PriceAmount> din <cac:Price> este prețul net (după discount unitar), nu prețul de catalog.

Exemplu valid

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="RON">200.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Serviciu consultanță</cbc:Name>
  </cac:Item>
  <cac:Price>
    <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

2 × 100.00 = 200.00 — egalitatea se respectă, regula BR-CO-13 trece.

Exemplu invalid

<cac:InvoiceLine>
  <cbc:InvoicedQuantity unitCode="C62">3</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="RON">299.99</cbc:LineExtensionAmount>
  <cac:Price>
    <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

3 × 100.00 = 300.00, dar suma declarată este 299.99. Diferența de 1 ban face XML-ul invalid din punct de vedere EN16931.

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