Dezimalstellen des Zuschlagsbasisbetrags begrenzen

Fehler BR-DEC-06 EN 16931

Die zulässige maximale Anzahl von Dezimalstellen für den Grundbetrag des Zuschlags auf Dokumentenebene (BT-100) beträgt 2.

Pflichtregel: Solange sie verletzt ist, ist die Rechnung ungültig und wird von Validatoren abgewiesen.
Was nicht stimmt

Der Wert von BasisAmount enthält mehr als zwei Ziffern nach dem Dezimaltrennzeichen. Für den Basisbetrag des Zuschlags sind höchstens zwei Dezimalstellen zulässig.

Was die Regel bedeutet

Die Begrenzung legt die zulässige Genauigkeit für den Basisbetrag des Zuschlags fest.

Betroffene Felder BT-100
Bitte geben Sie den Basisbetrag des Zuschlags mit höchstens zwei Dezimalstellen an

Der Basisbetrag des Zuschlags enthält mehr als zwei Dezimalstellen. Sie können den Basisbetrag mit höchstens zwei Dezimalstellen angeben.

Was ist zu tun?
  1. Suchen Sie den Basisbetrag des Zuschlags im Element BasisAmount.
  2. Geben Sie den Betrag mit höchstens zwei Dezimalstellen an.
  3. Prüfen Sie den Wert von AbstractTradeAllowanceCharge.BasisAmount.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:SpecifiedTradeAllowanceCharge>
  <ram:BasisAmount>12.345</ram:BasisAmount>
</ram:SpecifiedTradeAllowanceCharge>
✓ In Ordnung
<ram:SpecifiedTradeAllowanceCharge>
  <ram:BasisAmount>12.34</ram:BasisAmount>
</ram:SpecifiedTradeAllowanceCharge>
In FactoorSharp prüfen
  • AbstractTradeAllowanceCharge.BasisAmount (Document level charge: BT-100)
Technische Details

Der Test zählt die Zeichen nach einem Punkt in BasisAmount und lässt höchstens zwei zu.

Wo die Regel greift

Die Regel gilt für den Basisbetrag BasisAmount eines Zuschlags auf Dokumentenebene innerhalb von ApplicableHeaderTradeSettlement.

Originalmeldung aus dem Schematron
The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2.
Kontext (rule/@context)
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='true']
Prüfausdruck (assert/@test)
string-length(substring-after(../ram:BasisAmount,'.'))<=2