Gesamtbetrag der Rechnungsposition nur einmal

Fehler FX-SCH-A-000340 Factur-X

Das Element 'ram:GrandTotalAmount' 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:GrandTotalAmount mehr als einmal vor.

Was die Regel bedeutet

ram:GrandTotalAmount gibt den Gesamtbetrag der Rechnungsposition an. Mehrere Angaben würden für dieselbe Summierung mehrere Gesamtbeträge liefern.

Bitte geben Sie den Gesamtbetrag der Rechnungsposition nur einmal an

Der Gesamtbetrag 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:GrandTotalAmount-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:GrandTotalAmount>100.00</ram:GrandTotalAmount>
  <ram:GrandTotalAmount>120.00</ram:GrandTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
✓ In Ordnung
<ram:SpecifiedTradeSettlementLineMonetarySummation>
  <ram:GrandTotalAmount>100.00</ram:GrandTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
Technische Details

Der XPath zählt die ram:GrandTotalAmount-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:GrandTotalAmount.

Originalmeldung aus dem Schematron
Element 'ram:GrandTotalAmount' 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:GrandTotalAmount)<=1