Erori e-FacturaBR-28

Prețul brut al articolului (BT-148) nu poate fi negativ

Codul regulii este BR-28.

Mesajul exact din validatorul ANAF

textEroare=[BR-28]-The Item gross price (BT-148) shall NOT be negative.

Ce inseamna

Prețul brut (de listă) al unui articol este prețul dinainte de discountul de linie. El nu are voie să aibă valoare negativă, indiferent cât de mare este reducerea acordată. În UBL, prețul brut se scrie în cac:Price/cac:AllowanceCharge/cbc:BaseAmount, iar discountul de linie (BT-147) în cbc:Amount din același grup. Reducerile se exprimă prin ChargeIndicator=false și un Amount pozitiv, niciodată printr-un preț brut cu minus.

Cum repari

Verifică de unde vine valoarea negativă: de obicei din import de stocuri, din conversii valutare sau din formule de tip «preț net minus discount» scrise greșit la generarea XML-ului. Scrie prețul brut ca sumă pozitivă (preț net + discount) și pune discountul, tot pozitiv, în cbc:Amount.

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>
    <cac:Price>
      <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
      <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:Amount currencyID="RON">20.00</cbc:Amount>
        <cbc:BaseAmount currencyID="RON">-120.00</cbc:BaseAmount>
      </cac:AllowanceCharge>
    </cac:Price>
  </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>
    <cac:Price>
      <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
      <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:Amount currencyID="RON">20.00</cbc:Amount>
        <cbc:BaseAmount currencyID="RON">120.00</cbc:BaseAmount>
      </cac:AllowanceCharge>
    </cac:Price>
  </cac:InvoiceLine>
</ubl:Invoice>
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 Item gross price (BT-148) shall NOT be negative.

Unde se aplica

$Invoice_Line

Conditia care trebuie sa fie adevarata

$BR-28
Ce nu rezulta din textul oficial al regulii

Nu am putut confirma din datele primite dacă validatorul CIUS-RO verifică suplimentar coerența dintre prețul net (BT-146), discount (BT-147) și prețul brut (BT-148) — regula BR-29 din EN 16931; exemplul corect de mai sus respectă ambele reguli. De asemenea, nu am confirmat dacă ordinea exactă a elementelor din cac:AllowanceCharge la nivel de preț este validată strict de schema UBL folosită de ANAF.