EN16931
Rotunjirea sumei de plată nu poate avea mai mult de 2 zecimale
Codul regulii este BR-DEC-17.
Mesajul exact din validatorul ANAF
Ce înseamnă
BT-114 (PayableRoundingAmount) este diferența de rotunjire pe care o adaugi sau o scazi din suma de încasat, ca să ajungi la o sumă cu bani întregi. EN 16931 acceptă maximum 2 zecimale pentru acest câmp, adică exact ca la orice sumă în bani. Validatorul ANAF dă eroarea BR-DEC-17 când găsește 3 sau mai multe zecimale, de exemplu 0,205.
Cum repari
În programul de facturare, setează rotunjirea la 2 zecimale (0,20, nu 0,205) sau elimină complet câmpul dacă nu ai nevoie de rotunjire. Verifică apoi că suma de plată să fie TaxInclusiveAmount + PayableRoundingAmount.
Exemplu
Așa pică
<ubl:Invoice>
<cac:LegalMonetaryTotal>
<cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
<cbc:PayableRoundingAmount currencyID="RON">0.205</cbc:PayableRoundingAmount>
<cbc:PayableAmount currencyID="RON">1190.20</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
</ubl:Invoice>Așa trece
<ubl:Invoice>
<cac:LegalMonetaryTotal>
<cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
<cbc:PayableRoundingAmount currencyID="RON">0.20</cbc:PayableRoundingAmount>
<cbc:PayableAmount currencyID="RON">1190.20</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
</ubl:Invoice>Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-DEC-RO-17, 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 Rounding amount (BT-114) is 2.
Unde se aplică
$Document_totals
Condiția care trebuie să fie adevărată
$BR-DEC-17
Ce nu rezultă din textul oficial al regulii
În factura de referință BT-114 lipsește, așa că am adăugat elementul în ambele fragmente; poziția lui corectă este după PrepaidAmount și înainte de PayableAmount. Nu am putut confirma dacă validatorul aplică vreo toleranță la BR-CO-16 (PayableAmount = TaxInclusiveAmount - PrepaidAmount + PayableRoundingAmount): dacă nu aplică, variantă greșită va raporta în plus și o diferență de 0,005 între suma de plată și rotunjire, iar corecția trebuie făcută în ambele locuri.