Erori e-FacturaBR-DEC-11

Suma taxelor la nivel de document are prea multe zecimale

Codul regulii este BR-DEC-11.

Mesajul exact din validatorul ANAF

textEroare=[BR-DEC-11]-The allowed maximum number of decimals for the Sum of charges on document level (BT-108) 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 taxelor suplimentare la nivelul documentului (BT-108) este 2. #The allowed maximum number of decimals for the Sum of charges on document level(BT-108) is 2.

Ce inseamna

BT-108 este suma taxelor de la nivelul întregii facturi (nu al liniilor) și se scrie în cac:LegalMonetaryTotal, în cbc:ChargeTotalAmount. Elementul e opțional, dar dacă îl trimiți, BR-DEC-11 cere ca valoarea lui să aibă cel mult 2 zecimale. Astfel 0,000 sau 12,345 sînt respinse de validator, în timp ce 0,00 sau 12,35 trec. Regula nu se uită la cît de mare e suma, ci doar la numărul de zecimale.

Cum repari

În programul de facturare, rotunjește suma taxelor pe document la 2 zecimale înainte de generarea XML-ului; dacă nu ai astfel de taxe, cel mai simplu e să nu emiți deloc elementul, fiindcă e opțional. Verifică și că în fișier apar doar punctul ca separator zecimal și fără separator de mii.

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:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
    <cbc:ChargeTotalAmount currencyID="RON">0.000</cbc:ChargeTotalAmount>
    <cbc:PayableAmount currencyID="RON">1190.00</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:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
    <cbc:ChargeTotalAmount currencyID="RON">0.00</cbc:ChargeTotalAmount>
    <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-11, 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 Sum of charges on document level (BT-108) is 2.

Unde se aplica

$Document_totals

Conditia care trebuie sa fie adevarata

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

Nu am informații despre valoarea reală a taxelor pe document din factura respinsă, așa că exemplul folosește 0.00: orice sumă diferită de zero ar obliga la recalcularea bazei și a TVA-ului (BT-109, BT-110, BT-112, BT-115), ceea ce ar strica aritmetica facturii de referință (1000,00 + 190,00 = 1190,00). De asemenea, elementul fiind opțional, nu pot confirma dacă în cazul dumneavoastră e mai simplu să îl rotunjiți sau să îl eliminați complet.