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.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| - | Attachment (BT-125 an einer rechnungsbegründenden Unterlage, nicht am Rechnungsobjekt) | cac:AdditionalDocumentReference/cac:Attachment |
| BT-18 | Verweis auf das Rechnungsobjekt | cac: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:Attachmentwird 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
- Entfernen Sie
cac:Attachmentaus dem Verweis mitcbc:DocumentTypeCode130. - Senden Sie die Datei stattdessen als rechnungsbegründende Unterlage: ein eigener
cac:AdditionalDocumentReferenceohne Code130, mit eigenercbc:IDund demcac:Attachment(BG-24). - Prüfen Sie erneut: Ohne das Element ist das Dokument gültig.
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
- Die fehlerhafte Rechnung meldet UBL-CR-666. Das korrigierte Dokument besteht jeden Prüfschritt ohne Befunde.Fehlerhaftes XML herunterladenKorrigiertes XML herunterladen
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
InvoiceundCreditNote; 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.
Verwandte Regeln
- UBL-CR-673: DocumentDescription im Verweis auf das Rechnungsobjekt
- UBL-CR-121 meldet ein Element in Attachment
- UBL-CR-122 meldet ein Element in Attachment
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): Understanding EN 16931 validation errors
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.

