Skip to content

BR-16: Invoice without an invoice line (BG-25)

Official message

[BR-16] An Invoice shall have at least one Invoice line (BG-25).

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-16] An Invoice shall have at least one Invoice line (BG-25)

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-16] An Invoice shall have at least one Invoice line (BG-25).

Factur-X / ZUGFeRD EN 16931 · Error · Message language: English · Version: Factur-X 1.08 / ZUGFeRD 2.4
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Affected fields
BG-25

What does this mean?

Every invoice must contain at least one invoice line (BG-25). The invoice contains no line.

Typical causes

The invoice was generated with header data and totals only, e.g. as a lump-sum or partial invoice without a line.
The services only appear in free text (invoice note) instead of as a line.
All lines were deleted before export.

How to fix the error

Provide at least one invoice line with line identifier, item name, quantity, unit, net price, net amount and VAT category; a lump sum is a line as well.
CII: rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem, UBL: cac:InvoiceLine or cac:CreditNoteLine.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, section "Rechnungspositionen (BG-25)" (invoice lines), add and fill in at least one line.

Example

Wrong

<rsm:SupplyChainTradeTransaction>
  <ram:ApplicableHeaderTradeAgreement>...</ram:ApplicableHeaderTradeAgreement>
  <ram:ApplicableHeaderTradeDelivery>...</ram:ApplicableHeaderTradeDelivery>
  <ram:ApplicableHeaderTradeSettlement>...</ram:ApplicableHeaderTradeSettlement>
</rsm:SupplyChainTradeTransaction>

Correct

<rsm:SupplyChainTradeTransaction>
  <ram:IncludedSupplyChainTradeLineItem>
    <ram:AssociatedDocumentLineDocument>
      <ram:LineID>1</ram:LineID>
    </ram:AssociatedDocumentLineDocument>
    ...
  </ram:IncludedSupplyChainTradeLineItem>
  <ram:ApplicableHeaderTradeAgreement>...</ram:ApplicableHeaderTradeAgreement>
  <ram:ApplicableHeaderTradeDelivery>...</ram:ApplicableHeaderTradeDelivery>
  <ram:ApplicableHeaderTradeSettlement>...</ram:ApplicableHeaderTradeSettlement>
</rsm:SupplyChainTradeTransaction>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: /rsm:CrossIndustryInvoice

//ram:IncludedSupplyChainTradeLineItem

EN 16931 (UBL) (UBL)

Context: /ubl:Invoice | /cn:CreditNote

exists(cac:InvoiceLine) or exists(cac:CreditNoteLine)

Factur-X / ZUGFeRD EN 16931 (CII)

Technical ID in the source: FX-SCH-A-000253

Context: /rsm:CrossIndustryInvoice

//ram:IncludedSupplyChainTradeLineItem

Related validation rules

  • BR-01: Specification identifier (BT-24) is missing
  • BR-02: Invoice number (BT-1) is missing
  • BR-03: Invoice issue date (BT-2) is missing
  • BR-04: Invoice type code (BT-3) is missing
  • BR-05: Invoice currency code (BT-5) is missing
  • BR-06: Seller name (BT-27) is missing

Last updated:
Explanation of the validation rule, not legal or tax advice.