PEPPOL-EN16931-R130: Einheit der Preisbasismenge weicht ab

Die Einheit der Preisbasismenge (BT-150) muss der Einheit der berechneten Menge (BT-130) entsprechen.

Regelwerk
XRechnung (KoSIT)
Syntax
UBL und CII
Betroffene Felder
–

Offizieller Regeltext

Unit code of price base quantity MUST be same as invoiced quantity.

Regeltext aus dem XRechnung-Schematron in Version 2.6.0 (KoSIT), Lizenz Apache 2.0; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31. Die Regel stammt aus dem Peppol-Regelwerk und ist Bestandteil des XRechnung-Schematron.

Schweregrad

Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.

Typische Ursachen

Der Preis gilt zum Beispiel pro Packung, abgerechnet wird aber in Stück.

So behebst du den Fehler

Menge und Preisbasis in derselben Einheit angeben und gegebenenfalls umrechnen.

Geprüftes Beispiel: falsch und richtig

Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.

Beispiel in UBL

Änderung gegenüber der gültigen Rechnung: Einheit der Preisbasismenge weicht von der Mengeneinheit ab.

Falsch – ab Zeile 161
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">5.49</cbc:PriceAmount>
    <cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
  </cac:Price>
</cac:InvoiceLine>
Richtig – ab Zeile 161
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">5.49</cbc:PriceAmount>
    <cbc:BaseQuantity unitCode="H87">1</cbc:BaseQuantity>
  </cac:Price>
</cac:InvoiceLine>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • PEPPOL-EN16931-R130 Unit code of price base quantity MUST be same as invoiced quantity. Fundstelle: /Invoice[1]/InvoiceLine[2]/Price[1]/BaseQuantity[1]

Vollständige Dateien im Testkorpus: peppol-r130-einheit-preisbasis-abweichend_ubl.xml (falsch) und gemischt-7-19_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Einheit der Preisbasismenge weicht von der Mengeneinheit ab.

Falsch – ab Zeile 60
  <ram:NetPriceProductTradePrice>
    <ram:ChargeAmount>5.49</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="C62">1</ram:BasisQuantity>
  </ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
Richtig – ab Zeile 60
  <ram:NetPriceProductTradePrice>
    <ram:ChargeAmount>5.49</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="H87">1</ram:BasisQuantity>
  </ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • PEPPOL-EN16931-R130 Unit code of price base quantity MUST be same as invoiced quantity. Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/IncludedSupplyChainTradeLineItem[2]/SpecifiedLineTradeAgreement[1]/NetPriceProductTradePrice[1]/BasisQuantity[1]

Vollständige Dateien im Testkorpus: peppol-r130-einheit-preisbasis-abweichend_cii.xml (falsch) und gemischt-7-19_cii.xml (richtig).

Testdateien zu PEPPOL-EN16931-R130

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

ram:NetPriceProductTradePrice/ram:BasisQuantity[@unitCode] | ram:GrossPriceProductTradePrice/ram:BasisQuantity[@unitCode]

Prüfausdruck:

@unitCode = ../../../ram:SpecifiedLineTradeDelivery/ram:BilledQuantity/@unitCode

UBL

Kontext:

cac:Price/cbc:BaseQuantity[@unitCode]

Prüfausdruck:

not($hasQuantity) or @unitCode = $quantity/@unitCode

Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.