Dezimalstellen der Nettosumme begrenzen

Fehler BR-DEC-09 EN 16931

Die zulässige Höchstzahl an Dezimalstellen für die Summe der Nettobeträge aller Rechnungspositionen (BT-106) beträgt 2.

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

LineTotalAmount enthält mehr als zwei Ziffern nach dem Dezimaltrennzeichen.

Was die Regel bedeutet

Die Nettosumme der Rechnungspositionen darf höchstens zwei Nachkommastellen haben.

Betroffene Felder BT-106
Bitte begrenzen Sie die Nachkommastellen der Nettosumme

LineTotalAmount enthält mehr Nachkommastellen als für die Nettosumme zulässig sind. Sie können den Betrag auf höchstens zwei Nachkommastellen anpassen.

Was ist zu tun?
  1. Prüfen Sie den Wert von LineTotalAmount.
  2. Begrenzen Sie ihn auf höchstens zwei Nachkommastellen.
  3. Prüfen Sie die Property LineTotalAmount.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount>123.456</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ In Ordnung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount>123.45</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
In FactoorSharp prüfen
  • FacturXInvoice.LineTotalAmount (BT-106)
Technische Details

Der XPath zählt die Zeichen nach dem Punkt in LineTotalAmount und erlaubt höchstens zwei.

Wo die Regel greift

Die Regel gilt für LineTotalAmount in der Summe der Rechnungspositionen innerhalb von SpecifiedTradeSettlementHeaderMonetarySummation.

Originalmeldung aus dem Schematron
The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2.
Kontext (rule/@context)
//ram:SpecifiedTradeSettlementHeaderMonetarySummation
Prüfausdruck (assert/@test)
string-length(substring-after(ram:LineTotalAmount,'.'))<=2