Verweis auf eine vorhandene Rechnungsposition

Fehler BR-FXEXT-11 Factur-X

Jede „ID der übergeordneten Zeile“ (BT-X-304) muss sich auf eine vorhandene „Kennung der Rechnungsposition“ (BT-126) beziehen.

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

Der Wert von ParentLineID entspricht keiner LineID einer Rechnungsposition in der Rechnung. Der Verweis auf die übergeordnete Position ist damit nicht auflösbar.

Was die Regel bedeutet

ParentLineID muss auf die Kennung einer vorhandenen Rechnungsposition verweisen, damit die Zuordnung zur übergeordneten Position nachvollziehbar ist.

Betroffene Felder BT-X-304 BT-126
Bitte verweisen Sie auf eine vorhandene Rechnungsposition

Die übergeordnete Positionskennung ParentLineID findet keine passende LineID in der Rechnung. Verknüpfen Sie die Position mit der Kennung einer vorhandenen Rechnungsposition.

Was ist zu tun?
  1. Prüfen Sie den Wert in AssociatedDocument.ParentLineID.
  2. Stellen Sie sicher, dass er einer vorhandenen AssociatedDocument.LineID entspricht.
  3. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:IncludedSupplyChainTradeLineItem>
  <ram:AssociatedDocumentLineDocument>
    <ram:LineID>1</ram:LineID>
    <ram:ParentLineID>9</ram:ParentLineID>
  </ram:AssociatedDocumentLineDocument>
</ram:IncludedSupplyChainTradeLineItem>
✓ In Ordnung
<ram:IncludedSupplyChainTradeLineItem>
  <ram:AssociatedDocumentLineDocument>
    <ram:LineID>1</ram:LineID>
  </ram:AssociatedDocumentLineDocument>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
  <ram:AssociatedDocumentLineDocument>
    <ram:LineID>2</ram:LineID>
    <ram:ParentLineID>1</ram:ParentLineID>
  </ram:AssociatedDocumentLineDocument>
</ram:IncludedSupplyChainTradeLineItem>
In FactoorSharp prüfen
  • AssociatedDocument.LineID (BT-126)
  • TradeLineItem.AssociatedDocument (BT-126)
  • AssociatedDocument.ParentLineID (BT-X-304)
  • TradeLineItem.SetParentLineId(parentLineId) (BT-X-304)
Technische Details

Der Test vergleicht den normalisierten Wert von ParentLineID mit den normalisierten LineID-Werten aller Rechnungspositionen und verlangt mindestens eine Übereinstimmung.

Wo die Regel greift

Die Regel gilt für Rechnungspositionen mit einer angegebenen ParentLineID in IncludedSupplyChainTradeLineItem.

Originalmeldung aus dem Schematron
Each "ID of parent line" (BT-X-304) must refer to an existing "ID of invoice item" (BT-126).
Kontext (rule/@context)
//ram:IncludedSupplyChainTradeLineItem [normalize-space(ram:AssociatedDocumentLineDocument/ ram:ParentLineID) != '']
Prüfausdruck (assert/@test)
some $p in //ram:IncludedSupplyChainTradeLineItem/ram:AssociatedDocumentLineDocument/ ram:LineID satisfies normalize-space($p) = normalize-space(ram:AssociatedDocumentLineDocument/ ram:ParentLineID)