Erori e-Factura

EN16931

Suma plătită în avans (BT-113) nu poate avea peste 2 zecimale

Codul regulii este BR-DEC-16.

Mesajul exact din validatorul ANAF

textEroare=[BR-DEC-16]-The allowed maximum number of decimals for the Paid amount (BT-113) 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 platita (BT-113) este 2. #The allowed maximum number of decimals for the Paid amount(BT-113) is 2.

Ce înseamnă

BT-113 este avansul încasat înainte de emiterea facturii, adică suma care se scade din totalul cu TVA pentru a rezulta suma de plată. Regula cere ca această sumă să fie scrisă cu cel mult 2 zecimale, ca toate celelalte sume din factură. Validatorul numără zecimalele din textul XML, nu valoarea numerică: 100.000 este respins, chiar dacă înseamnă exact 100,00.

Cum repari

Setează în programul de facturare două zecimale fixe pentru câmpul de avans (BT-113) și verifică fișierul XML exportat, fiindcă rotunjirea de la afișare poate ascunde o a treia zecimală. Dacă modifici avansul, recalculează suma de plată: BT-115 = BT-112 − BT-113 + BT-114.

Exemplu

Așa pică

<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:PrepaidAmount currencyID="RON">100.000</cbc:PrepaidAmount>
    <cbc:PayableAmount currencyID="RON">1090.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</ubl:Invoice>

Așa 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:PrepaidAmount currencyID="RON">100.00</cbc:PrepaidAmount>
    <cbc:PayableAmount currencyID="RON">1090.00</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-16, UBL-DT-01. Le repari pe toate odată cu asta.

Verificat. Am pus fiecare din cele două fragmente într-o factură completă și le-am trecut prin validatorul oficial ANAF, versiunea 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 Paid amount (BT-113) is 2.

Unde se aplică

$Document_totals

Condiția care trebuie să fie adevărată

$BR-DEC-16
Ce nu rezultă din textul oficial al regulii

Factura de referință nu conține deloc avans, așa că am adăugat eu elementul cbc:PrepaidAmount, în ambele variante, pe poziția lui din secvența UBL (după TaxInclusiveAmount, înainte de PayableAmount). Nu am putut confirma din datele primite dacă CIUS-RO impune și alte condiții pentru BT-113 în afara numărului de zecimale, nici dacă validatorul ANAF tratează zerourile finale exact ca în exemplu.