ram:ChargeTotalAmount darf höchstens einmal vorkommen

Fehler FX-SCH-A-000190 Factur-X

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

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

ram:SpecifiedTradeSettlementHeaderMonetarySummation enthält ram:ChargeTotalAmount mehr als einmal. Das Element darf fehlen, aber nicht mehrfach vorkommen.

Was die Regel bedeutet

ram:ChargeTotalAmount gibt die Summe der Zuschläge auf Dokumentenebene an. Eine einzelne Angabe vermeidet mehrdeutige Zuschlagssummen.

Bitte führen Sie die Summe der Zuschläge höchstens einmal auf

Die Summe der Zuschläge ist in ram:SpecifiedTradeSettlementHeaderMonetarySummation mehrfach angegeben. Entfernen Sie die überzähligen Vorkommen; die Angabe darf auch fehlen.

Was ist zu tun?
  1. Suchen Sie ram:SpecifiedTradeSettlementHeaderMonetarySummation.
  2. Prüfen Sie, wie oft ram:ChargeTotalAmount darin vorkommt.
  3. Lassen Sie höchstens ein ram:ChargeTotalAmount stehen oder entfernen Sie das Element vollständig.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:ChargeTotalAmount>...</ram:ChargeTotalAmount>
  <ram:ChargeTotalAmount>...</ram:ChargeTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ In Ordnung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation/>
Technische Details

Der XPath-Test zählt die direkten ram:ChargeTotalAmount-Elemente innerhalb von ram:SpecifiedTradeSettlementHeaderMonetarySummation und erlaubt höchstens eines.

Wo die Regel greift

Die Regel gilt für die Geldsummen der Abrechnung in ram:SpecifiedTradeSettlementHeaderMonetarySummation.

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