BR-25Each Invoice line (BG-25) shall contain the Item name (BT-153).

Official rule text

Every invoice line must carry an item name (BT-153). Without one the row states an amount for something unnamed.

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-25 happen?

The description comes from a long-text field that is allowed to be empty, while the internal article number is always populated. The mapping reads the long text and finds nothing.

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
normalize-space(cac:Item/cbc:Name) != ''
CII
normalize-space(ram:SpecifiedTradeProduct/ram:Name) != ''

Source: rule set v2026-08-31

How do you fix BR-25?

Put a short description in cac:Item/cbc:Name in UBL, ram:SpecifiedTradeProduct/ram:Name in CII. The full text belongs beside it in BT-154 and the article number in BT-155.

In the XML

A UBL fragment. The CII path is named above — same change, different element names.

Fails
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>
Fixed
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Beratungsleistung</cbc:Name>
  </cac:Item>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

Related rules

NormAPI provides technical validation, not tax or legal advice.