# BR-21 Kennung der Rechnungsposition ist erforderlich

Jede Rechnungsposition (BG-25) muss eine Kennung der Rechnungsposition (BT-126) haben, die innerhalb der Rechnung eindeutig ist.

## Problembeschreibung

Jede Rechnungsposition (BG-25) muss eine Kennung der Rechnungsposition (BT-126) haben, die innerhalb der Rechnung eindeutig ist.

> **FEHLER**: XRechnung 3.0

## Kontext und Bedeutung

Dies ist eine EN16931-Kernregel; die Positionskennung ermöglicht es Referenzen und Korrekturen, eine bestimmte Position anzusprechen, daher muss jede Position eine haben.

## Lösung

Geben Sie jeder cac:InvoiceLine einen cbc:ID-Wert, z. B. 1, 2, 3, sodass keine Position ohne Kennung bleibt.

- validate
- convert

## Gültige Beispiele

- BT-126 = 1 auf der ersten Position, BT-126 = 2 auf der zweiten Position

## Ungültige Beispiele

- Ein cac:InvoiceLine-Element ohne cbc:ID-Kindelement

## Code-Beispiele

### Gültiges XML
```
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
</cac:InvoiceLine>
```

### Ungültiges XML
```
<cac:InvoiceLine>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
</cac:InvoiceLine>
```

## Betroffene Felder

- [BT-126 Kennung der Rechnungsposition](/resources/xrechnung/bt-126-invoice-line-identifier)

## Verwandte Regeln

- [BR-16](/resources/kosit-validator-errors/br-16-at-least-one-invoice-line-required)

## Validierungstools

- [Offizieller KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Überprüfen Sie Ihre XRechnung-Dateien gegen alle BR-DE-Regeln.
- [PDF zu XRechnung konvertieren](/pdf-to-xrechnung): Validierungsfehler beim Konvertieren erkennen, prüfen und gezielt beheben.

## Verwandte Ressourcen

- [Offizielle Spezifikation](https://xeinkauf.de/xrechnung/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Vollständige Fehlerliste](/resources/kosit-validator-errors): Übersicht aller deutschen XRechnung-Validierungsregeln.
