EN16931
Linia facturii nu poate avea mai mult de 2 zecimale
Codul regulii este BR-DEC-23.
Mesajul exact din validatorul ANAF
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.
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.