BR-27The Item net price (BT-146) shall NOT be negative.
Official rule text
A line's net price may not be negative. A minus belongs in the quantity or in a credit note, never in the price.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-08-31
- Checked on
Written and checked against the official KoSIT rule set by Dmytro Yalanskyi, NormAPI.
Why does BR-27 happen?
Reversal rows and rebates are readily modelled as a negative price, because that works immediately in your own total. The norm provides other means for it.
What the validator checks
The expression the official KoSIT rule set evaluates — not paraphrased, but read from the Schematron file it ships. UBL and CII address different document trees, so the same rule reads differently in each.
- UBL
(cac:Price/cbc:PriceAmount) >= 0- CII
(ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount) >= 0
Source: rule set v2026-08-31
How do you fix BR-27?
Model a rebate as an allowance on the line (BG-27), or issue a credit note. In CII that carries type 381 in ram:TypeCode. In UBL it does not: BR-CL-01 permits 381 only in cbc:CreditNoteTypeCode — that is, in a CreditNote document — and set in cbc:InvoiceTypeCode it reports an invalid code. The price in cac:Price/cbc:PriceAmount stays positive either way.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:Price>
<cbc:PriceAmount currencyID="EUR">-100.00</cbc:PriceAmount>
</cac:Price><cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
</cac:Price>Related rules
NormAPI provides technical validation, not tax or legal advice.