Erori e-FacturaBR-DEC-24

Reducerea pe linia facturii nu poate avea mai mult de 2 zecimale

Codul regulii este BR-DEC-24.

Mesajul exact din validatorul ANAF

textEroare=[BR-DEC-24]-The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) 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 deducerii la linia facturii (BT-136) este 2. #The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2.

Ce inseamna

BT-136 este suma reducerii acordate pe o singură linie de factură (grupul BG-27, când ChargeIndicator este false). Regula spune că în acest element nu ai voie mai mult de 2 zecimale, la fel ca la toate sumele în bani din factura. Cu 3 zecimale factura este respinsă la validare, chiar dacă suma și TVA-ul sunt calculate corect. Orice altă valoare cu zecimale în plus pe linie (inclusiv majorările, adică ChargeIndicator true, care folosesc același element Amount) produce aceeași eroare.

Cum repari

Rotunjește suma reducerii de pe linie la 2 zecimale înainte s-o scrii în XML, în exemplu 10.005 devine 10.00. Verifică toate reducerile și majorările de pe linii, nu doar prima. Dacă rotunjirea schimbă valoarea netă a liniei, actualizează în același timp BT-131 (LineExtensionAmount) și toate totalurile care depind de ea.

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:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
      <cbc:AllowanceChargeReason>Reducere comerciala</cbc:AllowanceChargeReason>
      <cbc:Amount currencyID="RON">10.005</cbc:Amount>
    </cac:AllowanceCharge>
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name>
    </cac:Item>
  </cac:InvoiceLine>
</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:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
      <cbc:AllowanceChargeReason>Reducere comerciala</cbc:AllowanceChargeReason>
      <cbc:Amount currencyID="RON">10.00</cbc:Amount>
    </cac:AllowanceCharge>
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name>
    </cac:Item>
  </cac:InvoiceLine>
</ubl:Invoice>

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-DEC-RO-24, 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 allowance amount (BT-136) is 2.

Unde se aplica

$Invoice_line_allowances

Conditia care trebuie sa fie adevarata

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

Factura de referință nu are nicio reducere la nivel de linie, așa că grupul cac:AllowanceCharge a fost adăugat întreg în ambele fragmente, pe poziția lui din secvența UBL (după LineExtensionAmount, înainte de cac:Item). Nu am putut confirma din datele primite dacă validatorul ANAF verifică suplimentar aritmetică pe linie (BT-131 = cantitate x preț - BT-136); de aceea am lăsat LineExtensionAmount neschimbat în ambele variante, ca să nu stric totalurile facturii de referință. În factura ta reală, dacă reducerea schimbă valoarea netă a liniei, ajustează și BT-131, detalierea de TVA și totalurile.