Dokumenttypcode 50 muss genau einmal vorkommen

Fehler FX-SCH-A-000561 Factur-X

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

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

Im zusätzlichen Referenzdokument kommt ram:TypeCode nicht genau einmal vor. Das Element ist mehrfach vorhanden. Da die Regel auf Dokumente mit ram:TypeCode 50 angewendet wird, prüft sie in diesem Kontext insbesondere auf doppelte Vorkommen.

Was die Regel bedeutet

ram:TypeCode kennzeichnet die Art des Referenzdokuments. Genau ein Vorkommen verhindert, dass mehrere Dokumenttypen für dasselbe Referenzdokument angegeben sind.

Bitte geben Sie `ram:TypeCode` für das Referenzdokument vom Typ `50` genau einmal an

Im zusätzlichen Referenzdokument kommt ram:TypeCode mehrfach vor. Für dieses Dokument ist genau ein solches Element vorgesehen.

Was ist zu tun?
  1. Suchen Sie das zusätzliche Referenzdokument mit ram:TypeCode 50.
  2. Prüfen Sie, ob ram:TypeCode darin mehrfach vorkommt.
  3. Entfernen Sie die überzähligen ram:TypeCode-Elemente, sodass genau eines verbleibt.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:AdditionalReferencedDocument>
  <ram:TypeCode>50</ram:TypeCode>
  <ram:TypeCode>50</ram:TypeCode>
</ram:AdditionalReferencedDocument>
✓ In Ordnung
<ram:AdditionalReferencedDocument>
  <ram:TypeCode>50</ram:TypeCode>
</ram:AdditionalReferencedDocument>
Technische Details

Die Assertion zählt die direkten ram:TypeCode-Elemente im aktuellen ram:AdditionalReferencedDocument und verlangt genau eines. Der Kontextfilter wählt Dokumente mit ram:TypeCode 50 aus.

Wo die Regel greift

Die Regel gilt für ein zusätzliches Referenzdokument mit ram:TypeCode 50 innerhalb der Vereinbarung auf Dokumentenebene.

Originalmeldung aus dem Schematron
Element 'ram:TypeCode' must occur exactly 1 times.
Kontext (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ ram:AdditionalReferencedDocument[ram:TypeCode="50"]
Prüfausdruck (assert/@test)
count(ram:TypeCode)=1