Codul regulii este BR-28.
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.
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.
<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><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>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.The Item gross price (BT-148) shall NOT be negative.
$Invoice_Line
$BR-28
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.