ram:RoundingAmount darf höchstens einmal vorkommen

Fehler FX-SCH-A-000290 Factur-X

Das Element 'ram:RoundingAmount' darf höchstens einmal vorkommen.

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

ram:RoundingAmount kommt in ram:SpecifiedTradeSettlementHeaderMonetarySummation mehrfach vor. Das Element darf fehlen oder genau einmal vorhanden sein.

Was die Regel bedeutet

ram:RoundingAmount weist einen Rundungsbetrag in den monetären Gesamtsummen aus. Höchstens ein Wert verhindert eine mehrfache Angabe dieses Betrags.

Bitte geben Sie den Rundungsbetrag höchstens einmal an

Der Rundungsbetrag ist in der monetären Gesamtsumme mehrfach eingetragen. Sie können den Fehler beheben, indem Sie höchstens ein ram:RoundingAmount angeben.

Was ist zu tun?
  1. Suchen Sie ram:SpecifiedTradeSettlementHeaderMonetarySummation in der Rechnung.
  2. Prüfen Sie, wie oft ram:RoundingAmount darin vorkommt.
  3. Stellen Sie sicher, dass das Element höchstens einmal enthalten ist.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:RoundingAmount>0.01</ram:RoundingAmount>
  <ram:RoundingAmount>0.02</ram:RoundingAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ In Ordnung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:RoundingAmount>0.01</ram:RoundingAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Technische Details

Die Regel zählt die unter ram:SpecifiedTradeSettlementHeaderMonetarySummation direkt vorkommenden ram:RoundingAmount-Elemente und erlaubt null oder eins.

Wo die Regel greift

Die Regel gilt für ram:RoundingAmount innerhalb der monetären Gesamtsumme ram:SpecifiedTradeSettlementHeaderMonetarySummation.

Originalmeldung aus dem Schematron
Element 'ram:RoundingAmount' may occur at maximum 1 times.
Kontext (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeSettlementHeaderMonetarySummation
Prüfausdruck (assert/@test)
count(ram:RoundingAmount)<=1