Codul regulii este BR-DEC-09.
EN 16931 limitează numărul de zecimale al sumelor din factură la numărul de zecimale al monedei facturii; pentru RON sunt 2. Regula se aplică pe totalul BG-22 (BT-106), deci nu ajunge să rotunjești liniile: dacă totalul iese cu 3 sau 4 zecimale din însumare ori din conversie valutară, factura este respinsă. În exemplul de referință suma este deja rotundă (10 x 100,00 = 1.000,00), deci regula e respectată.
Rotunjește la 2 zecimale valoarea pe care o scrii în LineExtensionAmount din LegalMonetaryTotal, imediat înainte de generarea XML-ului, după ce ai însumat liniile. Dacă lucrezi cu prețuri unitare cu multe zecimale sau cu conversii valutare, aplică rotunjirea atât pe linie (BT-131), cât și pe total, ca să nu apară diferențe.
<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:LineExtensionAmount currencyID="RON">1000.001</cbc:LineExtensionAmount>
</cac:LegalMonetaryTotal>
</ubl:Invoice><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:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
</cac:LegalMonetaryTotal>
</ubl:Invoice>Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-CO-10, BR-CO-13, BR-DEC-RO-09, UBL-DT-01. Le repari pe toate odata cu asta.
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.The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2.
$Document_totals
$BR-DEC-09
Nu am putut confirma din datele primite cum se produce practic valoarea cu 3 zecimale (împărțire, conversie valutară sau preț unitar cu multe zecimale) și nici dacă validatorul aplică numărul de zecimale în funcție de monedă sau îl fixează la 2. De asemenea, modificarea doar a lui BT-106, fără ajustarea celorlalte totaluri, poate declanșa în validator și erori de coerență între totaluri, nu doar BR-DEC-09.