ram:DuePayableAmount muss genau einmal vorhanden sein

Fehler FX-SCH-A-000044 Factur-X

Das Element 'ram:DuePayableAmount' muss genau einmal vorkommen.

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

In ram:SpecifiedTradeSettlementHeaderMonetarySummation fehlt ram:DuePayableAmount oder das Element ist mehrfach vorhanden. Die Regel verlangt genau ein solches Element.

Was die Regel bedeutet

ram:DuePayableAmount gibt den Betrag an, der nach Berücksichtigung der Rechnungsbeträge und bereits geleisteten Zahlungen noch zu zahlen ist. Ein einzelner Wert macht den fälligen Betrag eindeutig.

Bitte geben Sie den noch zu zahlenden Rechnungsbetrag genau einmal an

Der noch zu zahlende Betrag fehlt in der monetären Gesamtsumme oder ist mehrfach eingetragen. Mit genau einem ram:DuePayableAmount lässt sich der Fehler beheben.

Was ist zu tun?
  1. Suchen Sie ram:SpecifiedTradeSettlementHeaderMonetarySummation in der Rechnung.
  2. Prüfen Sie, ob darin genau ein ram:DuePayableAmount enthalten ist.
  3. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation/>
✓ In Ordnung
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:DuePayableAmount>99.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Technische Details

Die Regel zählt die unter ram:SpecifiedTradeSettlementHeaderMonetarySummation direkt vorkommenden ram:DuePayableAmount-Elemente und verlangt, dass die Anzahl gleich eins ist.

Wo die Regel greift

Die Regel gilt für den noch zu zahlenden Betrag innerhalb der monetären Gesamtsumme ram:SpecifiedTradeSettlementHeaderMonetarySummation.

Originalmeldung aus dem Schematron
Element 'ram:DuePayableAmount' must occur exactly 1 times.
Kontext (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeSettlementHeaderMonetarySummation
Prüfausdruck (assert/@test)
count(ram:DuePayableAmount)=1