# BR-16 At least one invoice line is required

An invoice shall have at least one Invoice line (BG-25) describing a billed item, service or charge.

## Problem Description

> **ERROR**: EN 16931 core business rule (CEN)

## Context and Significance

This is an EN 16931 core rule. An invoice without lines cannot show what is billed; even an invoice for a single lump sum needs at least one line. The UBL schema already requires cac:InvoiceLine, so BR-16 is mainly reported for CII invoices, typically when a summary invoice is exported with totals only.

## Solution

Include at least one cac:InvoiceLine element with its identifier, quantity, price and net amount.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-16)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-16)

## Valid Examples

- Document contains one or more cac:InvoiceLine elements

## Invalid Examples

- A CII invoice with header and totals but no ram:IncludedSupplyChainTradeLineItem; in UBL an invoice without cac:InvoiceLine is already an XML schema error

## Code Examples

### Valid XML
```
<rsm:SupplyChainTradeTransaction>
  <ram:IncludedSupplyChainTradeLineItem>
    <ram:AssociatedDocumentLineDocument>
      <ram:LineID>1</ram:LineID>
    </ram:AssociatedDocumentLineDocument>
  </ram:IncludedSupplyChainTradeLineItem>
  <ram:ApplicableHeaderTradeAgreement/>
  <ram:ApplicableHeaderTradeDelivery/>
  <ram:ApplicableHeaderTradeSettlement/>
</rsm:SupplyChainTradeTransaction>
```

### Invalid XML
```
<rsm:SupplyChainTradeTransaction>
  <ram:ApplicableHeaderTradeAgreement/>
  <ram:ApplicableHeaderTradeDelivery/>
  <ram:ApplicableHeaderTradeSettlement/>
</rsm:SupplyChainTradeTransaction>
```

## Affected Fields

- [BG-25 Invoice line](/resources/xrechnung/bt-126-invoice-line-identifier)

## Related Rules

- [BR-21](/resources/kosit-validator-errors/br-21-invoice-line-identifier-required)
- [BR-12](/resources/kosit-validator-errors/br-12-sum-of-line-net-amount-required)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
