BR-DE-13 Mengeneinheit
Was diese Regel prüft
BR-DE-13 validiert, dass die Mengeneinheit einer Rechnungsposition im Feld BT-130 (Invoiced quantity unit of measure) einen gültigen Code gemäß der UN/ECE-Empfehlung Nr. 20 verwendet. Der Code wird im XML als Attribut unitCode des Elements cbc:InvoicedQuantity angegeben.
Die Regel stellt sicher, dass keine Freitext-Einheiten (z. B. „Stück”, „Stunden”) verwendet werden, sondern ausschließlich die standardisierten alphanumerischen Codes der UN/ECE.
Warum diese Regel existiert
Standardisierte Mengeneinheiten sind für die automatisierte Rechnungsverarbeitung unerlässlich:
- Interoperabilität: Empfängersysteme müssen Mengenangaben maschinell interpretieren können. Der Code
C62wird weltweit einheitlich als „Stück” verstanden, während „Stk.”, „Stück” oder „pcs” mehrdeutig sein können. - Automatisierte Wareneingangsprüfung: ERP-Systeme gleichen die Mengeneinheit der Rechnung mit der Bestellung ab. Nur bei Übereinstimmung der UN/ECE-Codes kann ein automatischer Dreiwege-Abgleich erfolgen.
- Europäische Norm EN 16931: Die Richtlinie 2014/55/EU zur elektronischen Rechnungsstellung schreibt die Verwendung der UN/ECE-Empfehlung 20 verbindlich vor.
Was einen Fehler auslöst
Die Regel schlägt fehl, wenn:
- Das Attribut
unitCodeeinen Freitext enthält (z. B.Stück,Stunden,pieces) - Ein ungültiger oder nicht existierender Code verwendet wird
- Das Attribut
unitCodekomplett fehlt - Ein veralteter oder zurückgezogener Code verwendet wird
Fehlerhaftes XML-Beispiel
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<!-- FEHLER: Deutscher Freitext statt UN/ECE-Code -->
<cbc:InvoicedQuantity unitCode="Stück">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">500.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Bürostuhl Modell X</cbc:Name>
</cac:Item>
</cac:InvoiceLine>
Der Wert Stück ist kein gültiger UN/ECE-Rec-20-Code. Obwohl der menschliche Leser die Bedeutung versteht, kann ein Validierungssystem diesen Wert nicht verarbeiten.
Die Lösung
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<!-- KORREKT: C62 = Stück (one/piece) nach UN/ECE Rec 20 -->
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">500.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Bürostuhl Modell X</cbc:Name>
</cac:Item>
</cac:InvoiceLine>
Verwenden Sie den korrekten UN/ECE-Code als Wert des Attributs unitCode. Der Code ist ein XML-Attribut, kein Elementinhalt.
Sonderfälle und häufige Fehler
Häufig verwendete UN/ECE-Rec-20-Codes
| Code | Bedeutung | Typische Verwendung |
|---|---|---|
C62 | Stück (one) | Waren, Artikel, Einheiten |
H87 | Stück (piece) | Alternative zu C62 |
HUR | Stunde | Dienstleistungen, Beratung |
DAY | Tag | Tagessätze |
MON | Monat | Monatsabonnements |
KGM | Kilogramm | Gewichtsbasierte Waren |
MTR | Meter | Längenbasierte Waren |
LTR | Liter | Flüssigkeiten |
MTK | Quadratmeter | Flächenbasierte Leistungen |
KWH | Kilowattstunde | Energie |
SET | Satz/Set | Zusammenstellungen |
LS | Pauschal (lump sum) | Pauschalleistungen |
Weitere wichtige Hinweise
C62vs.H87: Beide bedeuten „Stück”, sind aber technisch unterschiedliche Codes.C62(one) ist der gebräuchlichere Code in der deutschen Praxis. Klären Sie mit Ihrem Handelspartner, welcher Code erwartet wird.- Groß-/Kleinschreibung: Die Codes sind case-sensitiv.
c62ist ungültig; verwenden SieC62. - Attribut, nicht Element:
unitCodeist ein XML-Attribut voncbc:InvoicedQuantity, nicht ein separates Element. Schreiben Sie<cbc:InvoicedQuantity unitCode="C62">, nicht<cbc:UnitCode>C62</cbc:UnitCode>. - Veraltete Codes: Einige Codes wurden in neueren Versionen der Empfehlung zurückgezogen. Stellen Sie sicher, dass Sie die aktuelle Version (Revision 11 oder neuer) verwenden.
- Bestellabgleich: Verwenden Sie denselben
unitCodein Rechnung und zugehöriger Bestellung, um automatisierte Abgleichprozesse zu ermöglichen.