PEPPOL-EN16931-R121PEPPOL

PEPPOL-EN16931-R121: Preis-Basismenge muss größer als null sein

Die Basismenge des Einheitspreises (BT-149) ist null oder negativ. Fast immer schreibt die Software eine 0 als Standardwert in das Feld, statt es wegzulassen.

Regeltext im Prüfregelwerk

Base quantity MUST be a positive number above zero.

BT-149BT-146BT-129

Die Basismenge sagt, worauf sich der Einheitspreis bezieht: „12,50 EUR je 1 Stück" oder „89,00 EUR je 100 Stück". Eine Basismenge von null wäre ein Preis pro nichts, und genau das verbietet diese Regel.

Was die Regel prüft

Wenn eine Position die Preis-Basismenge (BT-149; BT steht für Business Term, das nummerierte Feld der Norm) angibt, muss der Wert eine positive Zahl größer null sein. Das Feld ist optional: Fehlt es, gilt der Nettopreis (BT-146) automatisch je einer Einheit. Steht es aber in der XML, muss es einen sinnvollen Wert tragen, denn der Positionsbetrag ergibt sich rechnerisch aus Menge mal Preis geteilt durch Basismenge, und durch null lässt sich nicht teilen.

Warum sie in der Praxis fehlschlägt

Der mit Abstand häufigste Auslöser ist ein Software-Standardwert: Das Exportmodul schreibt das Feld immer in die Datei und füllt es mit 0, wenn im Artikelstamm keine Preiseinheit gepflegt ist. Gemeint ist „keine Angabe", in der XML steht aber eine unzulässige Null.

Zweiter Fall sind Gutschriften und Korrekturen: Manche Programme drehen bei negativen Positionen sämtliche Zahlenfelder ins Minus, auch die Basismenge. Negative Werte gehören aber in die Menge (BT-129) oder den Positionsbetrag, niemals in die Basismenge, die ist eine reine Bezugsgröße.

So behebst du den Fehler

Wenn deine Preise sich ohnehin auf eine Einheit beziehen, lass das Feld ganz weg oder setz es auf 1. Beides ist gleichwertig. Rechnest du tatsächlich mit Preiseinheiten, etwa „je 100 Stück" bei Kleinteilen, trag die echte Bezugsmenge ein (100) und achte darauf, dass die Einheit zur abgerechneten Menge passt, sonst folgt als nächste Meldung PEPPOL-EN16931-R130.

Bei Gutschriften: Basismenge positiv lassen, das Vorzeichen gehört in Menge oder Betrag.

XML-Beispiel: vorher und nachher

Die Software hat die Basismenge als 0 exportiert (H87 ist der Einheitencode für Stück):

<!-- verletzt PEPPOL-EN16931-R121: Basismenge 0 -->
<ram:SpecifiedLineTradeAgreement>
  <ram:NetPriceProductTradePrice>
    <ram:ChargeAmount>19.90</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="H87">0</ram:BasisQuantity>
  </ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>

Korrigiert: Der Preis gilt je 1 Stück (alternativ das Element komplett entfernen):

<ram:SpecifiedLineTradeAgreement>
  <ram:NetPriceProductTradePrice>
    <ram:ChargeAmount>19.90</ram:ChargeAmount>
    <ram:BasisQuantity unitCode="H87">1</ram:BasisQuantity>
  </ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>

Rechnung selbst prüfen

Lade deine Datei hoch und sieh in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.

Regeln, die oft zusammen auftreten

← Alle Fehlermeldungen im Überblick