Zum Inhalt springen

BR-TMP-3: Basismenge von Brutto- und Nettopreis (BT-149) weicht ab

Offizielle Meldung

[BR-TMP-3] Wenn BT-149 (Item price base quantity) sowohl in GrossPriceProductTradePrice als auch in NetPriceProductTradePrice vorhanden ist, müssen die Werte identisch sein. Wenn BT-150 (unit of measure code) auf dem NetPrice-Pfad vorhanden ist, muss es auch auf dem GrossPrice-Pfad vorhanden und identisch sein.

XRechnung (CII) · Fehler · Sprache der Meldung: Deutsch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31
Schweregrad
Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
Gilt für
XRechnung (CII)
Betroffene Felder
BT-149, BT-150

Was bedeutet das?

Ist die Basismenge des Artikelpreises (Item price base quantity, BT-149) sowohl beim Bruttopreis als auch beim Nettopreis einer Position angegeben, müssen beide Werte gleich sein. Ist bei beiden Preisen eine Mengeneinheit (BT-150) angegeben, muss auch sie übereinstimmen. In der Position ist das nicht der Fall.
Die Regel gilt für die CII-Syntax: ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:BasisQuantity und ram:NetPriceProductTradePrice/ram:BasisQuantity. Laut Regeltext soll eine Einheit beim Nettopreis auch beim Bruttopreis stehen.

Typische Ursachen

Der Bruttopreis bezieht sich auf eine andere Menge als der Nettopreis, z. B. Bruttopreis je 100 Stück, Nettopreis je Stück.
Die Einheiten der beiden Basismengen unterscheiden sich, z. B. KGM und GRM.

So beheben Sie den Fehler

Brutto- und Nettopreis auf dieselbe Basismenge und Einheit beziehen und den Bruttopreis gegebenenfalls umrechnen.
In beiden Preisen dieselbe ram:BasisQuantity mit demselben unitCode angeben oder die Basismenge beim Bruttopreis weglassen.
Die Rechnung erneut erzeugen und prüfen.

In E-Rechnungsfreund

Im Rechnungsformular in der Ansicht „Experte“ im Abschnitt „Rechnungspositionen (BG-25)“ bei der Position die Felder „Basis-Menge Brutto (BT-149-1)“ und „ME Bruttopreis (BT-150-1)“ leer lassen oder dieselben Werte wie in „Basis-Menge Netto (BT-149)“ und „ME Nettopreis (BT-150)“ eintragen. Leer gelassen schreibt die Anwendung beim Bruttopreis die Basismenge und Einheit des Nettopreises.

Beispiel

Fehlerhaft

<ram:SpecifiedLineTradeAgreement>
  <ram:GrossPriceProductTradePrice>
    <ram:ChargeAmount>120.00</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="H87">100</ram:BasisQuantity>
  </ram:GrossPriceProductTradePrice>
  <ram:NetPriceProductTradePrice>
    <ram:ChargeAmount>1.20</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="H87">1</ram:BasisQuantity>
  </ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>

Richtig

<ram:SpecifiedLineTradeAgreement>
  <ram:GrossPriceProductTradePrice>
    <ram:ChargeAmount>1.20</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="H87">1</ram:BasisQuantity>
  </ram:GrossPriceProductTradePrice>
  <ram:NetPriceProductTradePrice>
    <ram:ChargeAmount>1.20</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="H87">1</ram:BasisQuantity>
  </ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
Für Entwickler: Prüfausdruck je Syntax

XRechnung (CII) (CII)

Kontext: /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem

not(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:BasisQuantity and ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:BasisQuantity) or (ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:BasisQuantity = ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:BasisQuantity and (not(ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:BasisQuantity/@unitCode and ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:BasisQuantity/@unitCode) or ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:BasisQuantity/@unitCode = ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:BasisQuantity/@unitCode))

Verwandte Prüfregeln

Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.