# BR-23 Maßeinheitencode für die abgerechnete Menge muss angegeben werden

Gemäß EN-16931-Regel BR-23 muss jede abgerechnete Menge in BT-129 ein zugehöriges Maßeinheitencode-Attribut in BT-130 (@unitCode) aufweisen. Der Code muss aus den UN/ECE-Empfehlungen 20 bzw. 21 stammen (z. B. „H87“ für Stück, „C62“ für Einheit, „KGM“ für Kilogramm, „MTR“ für Meter, „HUR“ für Stunde oder „DAY“ für Tag). Ohne das Attribut unitCode bleibt die Mengendimension unbestimmt.

## Problembeschreibung

> **FEHLER**: Geschäftsregel der EN 16931 (CEN)

## Kontext und Bedeutung

Dies ist eine Kernregel der EN 16931. Eine Menge ohne unitCode-Attribut verletzt BR-23; ein Attribut mit leerem oder unbekanntem Code verletzt stattdessen die Codelistenregel BR-CL-23. BR-23 entsteht meist, wenn der Export keine Einheitenzuordnung hat und nur die Menge schreibt, während eine in unitCode übernommene ERP-Einheit wie „Stk.“ BR-CL-23 auslöst.

## Lösung

Hinterlegen Sie in den Stammdaten oder der Positionskonfiguration Ihres ERP-Systems für jede Menge einen gültigen UN/ECE-Einheitencode. In UBL 2.1 befüllen Sie das Attribut unitCode: <cbc:InvoicedQuantity unitCode="H87">10.00</cbc:InvoicedQuantity>. In UN/CEFACT CII befüllen Sie das Attribut unitCode: <ram:BilledQuantity unitCode="H87">10.00</ram:BilledQuantity>.

- [XML validieren](/de/xrechnung-validator?source=resource&rule=BR-23)
- [Rechnung konvertieren](/de/pdf-to-xrechnung?source=resource&rule=BR-23)

## Gültige Beispiele

- Rechnungsposition mit BT-129 = 10 und BT-130 = „H87“ (10 Stück)
- Rechnungsposition mit BT-129 = 40.5 und BT-130 = „HUR“ (40,5 Stunden)

## Ungültige Beispiele

- cac:InvoiceLine enthält numerische Menge, lässt das Attribut unitCode jedoch weg (<cbc:InvoicedQuantity>10</cbc:InvoicedQuantity>)
- Eine Gutschriftposition mit <cbc:CreditedQuantity>2</cbc:CreditedQuantity> ohne unitCode-Attribut; ein leeres oder unbekanntes unitCode scheitert stattdessen an der Codelistenregel BR-CL-23

## Code-Beispiele

### Gültiges XML
```
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
</cac:InvoiceLine>
```

### Ungültiges XML
```
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity>10</cbc:InvoicedQuantity>
</cac:InvoiceLine>
```

## Betroffene Felder

- [BT-130 Maßeinheitencode der abgerechneten Menge](/resources/xrechnung/bt-130-invoice-line-quantity-unit-of-measure-code)
- [BT-129 Abgerechnete Menge](/resources/xrechnung/bt-129-invoice-line-quantity)
- [BG-25 Rechnungsposition](/resources/xrechnung/bt-126-invoice-line-identifier)

## Verwandte Regeln

- [BR-22](/resources/kosit-validator-errors/br-22-invoice-line-quantity-must-be-present)
- [BR-CL-23](/resources/kosit-validator-errors/br-cl-23-unece-rec20-unit-code)

## Validierungstools

- [Offizieller KoSIT Validator](https://github.com/itplr-kosit/validator): Führen Sie den offiziellen KoSIT-Validator mit der XRechnung-Konfiguration aus, um EN-16931- und XRechnung-Regeln zu prüfen.
- [PDF zu XRechnung konvertieren](/pdf-to-xrechnung): Validierungsfehler beim Konvertieren erkennen, prüfen und gezielt beheben.

## Verwandte Ressourcen

- [Offizielle Spezifikation](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle Validierungsfehler](/resources/kosit-validator-errors): Übersicht der hier erklärten Validierungsregeln aus EN 16931, XRechnung und Peppol.
