Erori e-FacturaBR-DEC-23

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 inseamna

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

Asa pica

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

Asa trece

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

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-DEC-RO-23, UBL-DT-01. Le repari pe toate odata cu asta.

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

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

Unde se aplica

$Invoice_Line

Conditia care trebuie sa fie adevarata

$BR-DEC-23
Ce nu rezulta 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.