Höchstens zwei Nachkommastellen für den bereits gezahlten Betrag

Fehler BR-DEC-16 EN 16931

Die zulässige Höchstzahl an Dezimalstellen für den Vorauszahlungsbetrag (BT-113) beträgt 2.

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

ram:TotalPrepaidAmount enthält mehr als zwei Zeichen nach einem Dezimalpunkt. Der Prüf-Ausdruck zählt die Zeichen nach dem ersten Punkt; ein Wert mit drei Nachkommastellen verletzt daher die Regel.

Was die Regel bedeutet

Der bereits gezahlte Betrag ist ein Geldbetrag und darf nach dieser Regel höchstens mit zwei Nachkommastellen angegeben werden.

Betroffene Felder BT-113
Bitte geben Sie den bereits gezahlten Betrag mit höchstens zwei Nachkommastellen an

Der bereits gezahlte Betrag enthält mehr als zwei Nachkommastellen. Sie können den Wert entsprechend der zulässigen Genauigkeit anpassen.

Was ist zu tun?
  1. Prüfen Sie den Wert von ram:TotalPrepaidAmount.
  2. Achten Sie darauf, dass nach dem Dezimalpunkt höchstens zwei Stellen stehen.
  3. Prüfen Sie die Zuordnung zur Eigenschaft TotalPrepaidAmount.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:TotalPrepaidAmount>12.345</ram:TotalPrepaidAmount>
✓ In Ordnung
<ram:TotalPrepaidAmount>12.34</ram:TotalPrepaidAmount>
In FactoorSharp prüfen
  • FacturXInvoice.TotalPrepaidAmount (BT-113)
Technische Details

Im Kontext ram:SpecifiedTradeSettlementHeaderMonetarySummation prüft die Regel, ob die Länge des Teilstrings nach dem Punkt in ram:TotalPrepaidAmount höchstens zwei beträgt.

Wo die Regel greift

Die Regel gilt für ram:TotalPrepaidAmount innerhalb der monetären Gesamtsummen des Rechnungskopfs.

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