Erori e-Factura

EN16931

Linia facturii nu poate avea mai mult de 2 zecimale

Codul regulii este BR-DEC-23.

Mesajul exact din validatorul ANAF

textEroare=[BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.
textEroare=[UBL-DT-01]-Amounts shall be decimal up to two fraction digits
textEroare= [BR-RO-Z2]-Numarul maxim permis de zecimale pentru Valoarea neta a liniei facturii (BT-131) este 2. #The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.

Ce înseamnă

Valoarea netă a liniei (BT-131) are voie la maximum 2 zecimale. Regula nu se uită la mărimea sumei, ci la câte cifre scrii după virgulă: 1000.00 și 1000.000 sunt același număr, dar a doua varianta are 3 zecimale și este respinsă. De obicei apare când programul calculează cantitate x preț unitar fără să rotunjească rezultatul.

Cum repari

Forțează formatarea tuturor valorilor monetare din XML la exact 2 zecimale (rotunjire la a doua zecimală), nu doar afișarea din ecran. Dacă prețul unitar sau cantitatea au mai multe zecimale, rotunjește rezultatul liniei înainte de a-l scrie în LineExtensionAmount, altfel diferența se vede și la totaluri.

Exemplu

Așa pică

<ubl:Invoice>
  <cac:InvoiceLine>
    <cbc:LineExtensionAmount currencyID="RON">1000.000</cbc:LineExtensionAmount>
  </cac:InvoiceLine>
</ubl:Invoice>

Așa trece

<ubl:Invoice>
  <cac:InvoiceLine>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
  </cac:InvoiceLine>
</ubl:Invoice>

Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-DEC-RO-23, UBL-DT-01. Le repari pe toate odată cu asta.

Verificat. Am pus fiecare din cele două fragmente într-o factură completă și le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fără nicio eroare. Verificarea s-a făcut pe 14.09.2026.
Regula așa cum e scrisă în schematronul oficial

Textul oficial, în engleză

The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.

Unde se aplică

$Invoice_Line

Condiția care trebuie să fie adevărată

$BR-DEC-23
Ce nu rezultă din textul oficial al regulii

Nu am putut confirma din datele primite dacă validatorul trunchiază automat zecimalele în exces sau respinge direct factura; regulile BR-DEC sunt implementate pe șirul de caractere, deci tratează varianta cu 3 zecimale ca încălcare.