Erori e-FacturaBR-DEC-18

Suma de plată nu poate avea mai mult de 2 zecimale

Codul regulii este BR-DEC-18.

Mesajul exact din validatorul ANAF

textEroare=[BR-DEC-18]-The allowed maximum number of decimals for the Amount due for payment (BT-115) 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 Suma de plata (BT-115) este 2. #The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.

Ce inseamna

Câmpul BT-115 (PayableAmount, suma de plată din BG-22 LegalMonetaryTotal) acceptă maximum două zecimale. Regula se uită la textul scris în XML, așa că 1190.000 are trei zecimale și este respins, chiar dacă valoarea numerică este identică cu 1190.00. Nu e vorba de o sumă greșită, ci de felul în care a fost scrisă la export. Aceeași limită de 2 zecimale se aplică, prin reguli surori, tuturor sumelor în RON din factură (linii, detalieri de TVA, totaluri).

Cum repari

Formatează suma de plată cu exact două zecimale la exportul UBL (1190.00), nu cu trei sau cu numărul brut rezultat din calcul. Nu modifica valoarea, doar reprezentarea: dacă rotunjirea chiar schimbă suma, corectează întâi totalurile din care provine, ca BT-115 să rămână egal cu suma de plată reală.

Exemplu

Asa pica

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:LegalMonetaryTotal>
    <cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="RON">1190.000</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</ubl:Invoice>

Asa trece

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:LegalMonetaryTotal>
    <cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="RON">1190.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</ubl:Invoice>

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-DEC-RO-18, 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 Amount due for payment (BT-115) is 2.

Unde se aplica

$Document_totals

Conditia care trebuie sa fie adevarata

$BR-DEC-18
Ce nu rezulta din textul oficial al regulii

Nu am testat în validatorul ANAF dacă zeroul final suplimentar (1190.000) chiar declanșează regula: schematronul oficial numără zecimalele pe textul literal, deci ar trebui să pice, dar un validator care normalizează numeric valoarea înainte de verificare ar putea trece. În schimb, un caz cu trei zecimale semnificative, de exemplu 1190.125, încalcă regula în orice interpretare — dar acolo ar trebui ajustate și celelalte totaluri, ca să nu cadă alte reguli.