Zum Inhalt springen

Ironfang Finance - Regelreferenz

UBL-CR-666: Attachment aus dem Verweis auf das Rechnungsobjekt entfernen

Fatal: EN 16931 erlaubt cac:Attachment im Verweis auf das Rechnungsobjekt nicht. Das Dokument ist ungültig, bis Sie das Element entfernen.

EN 16931Fehler: Das Dokument ist ungültigProzess und Referenzen

Auf dieser Seite

Die kurze Antwort

UBL-CR-666 ist eine Regel mit dem Schweregrad fatal, die ausgelöst wird, wenn der Verweis auf das Rechnungsobjekt, ein cac:AdditionalDocumentReference mit cbc:DocumentTypeCode 130, ein cac:Attachment enthält. Nur rechnungsbegründende Unterlagen (BG-24) tragen Anhänge; entfernen Sie es daher hier.

Solange das Element vorhanden ist, ist das Dokument ungültig: Es scheitert mit dieser Regel am Prüfschritt EN 16931, und ein Empfänger kann es zurückweisen.

Was die Regel prüft

Die Regel betrachtet jeden cac:AdditionalDocumentReference mit cbc:DocumentTypeCode 130, die Kennung des Rechnungsobjekts (BT-18), und prüft, ob er ein cac:Attachment hat. Rechnungsbegründende Unterlagen (BG-24) ohne Code 130 dürfen eines tragen.

Sie wird einmal für das ganze Dokument ausgewertet und daher nur einmal gemeldet, gleich wie oft das Dokument das Element enthält; der Befund verweist auf das Wurzelelement, nicht auf das Element selbst: Suchen Sie im XML nach cac:AdditionalDocumentReference/cac:Attachment.

Alles in cac:Attachment fällt mit ihm weg. Für Elemente darin gibt es eigene Warnungen: UBL-CR-121, UBL-CR-122, UBL-CR-123, UBL-CR-124, UBL-CR-125, UBL-CR-126, UBL-CR-127, UBL-CR-128, UBL-CR-129 und UBL-CR-130; das Entfernen von cac:Attachment beseitigt auch diese.

BegriffBedeutungUBL-Element
-Attachment (BT-125 an einer rechnungsbegründenden Unterlage, nicht am Rechnungsobjekt)cac:AdditionalDocumentReference/cac:Attachment
BT-18Verweis auf das Rechnungsobjektcac:AdditionalDocumentReference

Wie es in einer Integration dazu kommt

Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:

  • Eine ganze Struktur cac:Attachment wird aus einem Stammdatensatz oder einem anderen Dokumenttyp übernommen, samt Teilen, die EN 16931 nicht verwendet.
  • Eine allgemeine UBL-2.1-Bibliothek schreibt jedes Element und Attribut, für das sie einen Wert hat, ob EN 16931 es verwendet oder nicht.
  • Ein Mapping für ein anderes UBL-basiertes Dokument, etwa eine Bestellung, eine Versandanzeige oder ein nationales Profil, wird für Peppol BIS Billing wiederverwendet.

So korrigieren Sie das Dokument

  1. Entfernen Sie cac:Attachment aus dem Verweis mit cbc:DocumentTypeCode 130.
  2. Senden Sie die Datei stattdessen als rechnungsbegründende Unterlage: ein eigener cac:AdditionalDocumentReference ohne Code 130, mit eigener cbc:ID und dem cac:Attachment (BG-24).
  3. Prüfen Sie erneut: Ohne das Element ist das Dokument gültig.

Korrigierte Rechnung prüfen

Vorher und nachher

Dies sind Ausschnitte, keine vollständigen Dokumente. Die vollständigen synthetischen Dokumente, aus denen sie stammen, sind unten verlinkt.

Ausschnitt der Rechnung mit dem Fehler: Attachment im Verweis auf das Rechnungsobjekt

<cac:AdditionalDocumentReference>
  <cbc:ID schemeID="AAB">OBJECT-001</cbc:ID>
  <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
  <cac:Attachment>
    <cac:ExternalReference>
      <cbc:URI>https://example.invalid/object-001.pdf</cbc:URI>
    </cac:ExternalReference>
  </cac:Attachment>
</cac:AdditionalDocumentReference>

Ausschnitt der korrigierten Rechnung: dieselben Zeilen ohne das Element

<cac:AdditionalDocumentReference>
  <cbc:ID schemeID="AAB">OBJECT-001</cbc:ID>
  <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>

Die Rechnung mit dem Fehler enthält <cac:Attachment> im Verweis auf das Rechnungsobjekt, und die korrigierte Rechnung ist dasselbe Dokument ohne das Element. Die Rechnung mit dem Fehler scheitert im Prüfschritt EN 16931 nur an dieser Regel und besteht jeden anderen Prüfschritt.

Was der Validator gemeldet hat

Aufgezeichnet mit phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, der Engine hinter dem kostenlosen Validator, mit synthetischen Daten. Ein aufgezeichnetes Ergebnis ist ein Regressionsnachweis für diese Dokumente, keine Zertifizierung.

Wo die Regel gilt

  • Gilt gleichermaßen für UBL Invoice und CreditNote; das aufgezeichnete Beispiel ist eine Rechnung.
  • Der Befund stammt aus den Regeln des Prüfschritts EN 16931 für die UBL-Syntax. Im aufgezeichneten Beispiel besteht das Dokument den XSD-Prüfschritt: Das Element ist gültiges UBL 2.1 und liegt lediglich außerhalb des Modells von EN 16931.

Umfang und Quelle

Geschrieben für Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, angewendet auf Invoice- und CreditNote-Dokumente in UBL 2.1. Andere Profile, Syntaxen und Releases können diese Kennung anders definieren. Version des Hinweiskatalogs 2026-09-29.1: Quelle geprüft am 2026-09-29, Erklärung zuletzt aktualisiert am 2026-09-29.

Die offizielle Definition von UBL-CR-666 (auf Englisch) enthält den normativen Wortlaut und den Test. Diese Seite ist unsere Erklärung dazu, keine Kopie.

Die Erklärung ändert das Urteil der Engine nicht. Dass Sie diesen Befund beheben, heißt nicht, dass das Dokument jeden Prüfschritt besteht. Die Validierung bescheinigt keine rechtliche oder steuerliche Konformität und überträgt kein Dokument über Peppol.