PEPPOL-EN16931-R041PEPPOL

PEPPOL-EN16931-R041: Prozentsatz ohne Basisbetrag beim Nachlass oder Zuschlag

Ein Nachlass oder Zuschlag nennt einen Prozentsatz, aber keinen Basisbetrag. PEPPOL verlangt beide Felder paarweise, damit der Betrag nachrechenbar ist.

Regeltext im Prüfregelwerk

Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.

BG-20BG-21BG-27BG-28BT-93BT-94BT-100BT-101

Die Meldung bedeutet: In einem Nachlass oder Zuschlag steht ein Prozentsatz, aber das Feld, worauf sich dieser Prozentsatz bezieht, fehlt.

Was die Regel prüft

Nachlässe und Zuschläge auf Dokument- oder Positionsebene können neben dem Pflichtfeld Betrag zwei optionale Felder tragen: den Basisbetrag (BT = Business Term, das nummerierte Feld der Norm; BT-93 beim Dokument-Nachlass, BT-100 beim Dokument-Zuschlag) und den Prozentsatz (BT-94 bzw. BT-101). Ein Prozentsatz allein ist nicht auswertbar: 3 % wovon? Deshalb verlangt PEPPOL, dass zum Prozentsatz immer der Basisbetrag mitgeliefert wird. Die Gegenrichtung prüft R042, die Rechenprobe der drei Felder macht R040.

Warum sie in der Praxis fehlschlägt

Typischer Auslöser ist eine Rabatt-Eingabemaske, in der der Nutzer nur „3 %" einträgt. Die Software rechnet den Betrag intern korrekt aus, schreibt aber nur Prozentsatz und Ergebnis in die XML und lässt die Bezugsgröße weg, weil sie im eigenen Datenmodell selbstverständlich ist.

Zweiter Fall: Die Basis wäre eigentlich vorhanden, wird aber nur ins PDF-Layout gedruckt und nicht als strukturiertes Feld in die XML übernommen. Für den Validator zählt ausschließlich die XML.

So behebst du den Fehler

Zwei gleichwertige Wege:

  1. Basisbetrag ergänzen: Trag in BT-93 bzw. BT-100 (auf Positionsebene BT-137 bzw. BT-142) den Betrag ein, auf den sich der Prozentsatz bezieht, in der Regel die Netto-Zwischensumme der betroffenen Positionen. Achte darauf, dass Betrag = Basis × Prozent / 100 aufgeht, sonst folgt R040.
  2. Prozentsatz entfernen: Wenn du den Rabatt ohnehin als Festbetrag führst, lösch den Prozentsatz aus der XML. Nur der Betrag ist Pflicht.

Belegschmied schreibt bei prozentualen Nachlässen immer das komplette Tripel aus Basis, Prozentsatz und gerundetem Betrag, der Fall ist dort abgedeckt.

XML-Beispiel: vorher und nachher

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
  <!-- verletzt PEPPOL-EN16931-R041: CalculatedPercent ohne BasisAmount -->
  <ram:CalculatedPercent>3</ram:CalculatedPercent>
  <ram:ActualAmount>37.04</ram:ActualAmount>
  <ram:Reason>Rabatt</ram:Reason>
  <!-- … -->
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
  <ram:CalculatedPercent>3</ram:CalculatedPercent>
  <ram:BasisAmount>1234.56</ram:BasisAmount>
  <ram:ActualAmount>37.04</ram:ActualAmount>
  <ram:Reason>Rabatt</ram:Reason>
  <!-- … -->
</ram:SpecifiedTradeAllowanceCharge>

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