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.

Fails
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">-100.00</cbc:PriceAmount>
</cac:Price>
Fixed
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
</cac:Price>

Related rules

NormAPI provides technical validation, not tax or legal advice.