Zuschlagssumme der Rechnungsposition nur einmal

Fehler FX-SCH-A-001140 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

In ram:SpecifiedTradeSettlementLineMonetarySummation kommt ram:ChargeTotalAmount mehr als einmal vor.

Was die Regel bedeutet

ram:ChargeTotalAmount gibt die Summe der Zuschläge für die Rechnungsposition an. Mehrere Angaben würden für diese Summe mehrere Werte liefern.

Bitte geben Sie die Zuschlagssumme der Rechnungsposition nur einmal an

Die Summe der Zuschläge ist in der Abrechnung einer Rechnungsposition mehrfach enthalten. Dieses Element darf dort höchstens einmal vorkommen.

Was ist zu tun?
  1. Suchen Sie in ram:SpecifiedTradeSettlementLineMonetarySummation nach mehrfachen ram:ChargeTotalAmount-Elementen.
  2. Stellen Sie sicher, dass dieses Element dort höchstens einmal vorkommt.
  3. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:SpecifiedTradeSettlementLineMonetarySummation>
  <ram:ChargeTotalAmount>10.00</ram:ChargeTotalAmount>
  <ram:ChargeTotalAmount>20.00</ram:ChargeTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
✓ In Ordnung
<ram:SpecifiedTradeSettlementLineMonetarySummation>
  <ram:ChargeTotalAmount>10.00</ram:ChargeTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
Technische Details

Der XPath zählt die ram:ChargeTotalAmount-Elemente im aktuellen ram:SpecifiedTradeSettlementLineMonetarySummation; der Test ist bei höchstens einem Element erfüllt.

Wo die Regel greift

Die Regel gilt für die monetäre Summierung innerhalb der Abrechnung einer Rechnungsposition und prüft dort ram:ChargeTotalAmount.

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