BR-16An Invoice shall have at least one Invoice line (BG-25)
Official rule text
The invoice must contain at least one invoice line (BG-25). A document consisting only of header and total data is not permitted.
- 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-16 happen?
Appears when the generator builds lines from an item list and that list is empty — typically flat-fee or instalment invoices that are managed internally without line items.
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
exists(cac:InvoiceLine) or exists(cac:CreditNoteLine)- CII
//ram:IncludedSupplyChainTradeLineItem
Source: rule set v2026-08-31
How do you fix BR-16?
Emit exactly one line even for a flat amount: cac:InvoiceLine in UBL, ram:IncludedSupplyChainTradeLineItem in CII. That single line then has to be complete in itself — a line identifier (BR-21), quantity 1 (BR-22), the unit code C62 for “one” (BR-23), a net amount (BR-24), an item name (BR-25) and a net price (BR-26). Create the line and leave those six out and you have traded one error for six.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cbc:PayableAmount currencyID="EUR">1190.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal><cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cbc:PayableAmount currencyID="EUR">1190.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Pauschale</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1000.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>Related rules
NormAPI provides technical validation, not tax or legal advice.