BR-DE-22Das "filename"-Attribut aller "EmbeddedDocumentBinaryObject"-Elemente muss eindeutig sein

Offizieller Regeltext

KoSIT formuliert diese Regel in den beiden Dateien unterschiedlich. Oben steht die UBL-Fassung, hier die andere:

Wortlaut in CII

Not all filename attributes of the embeddedDocumentBinaryObject elements are unique

Alle eingebetteten Anlagen einer Rechnung müssen unterschiedliche Dateinamen tragen — unterschieden werden sie nur darüber. Der Empfänger legt sie unter genau diesem Namen ab.

Schweregrad
Fehler
Gilt für
CII, UBL
Regelwerk
v2026-08-31
Geprüft am

Geschrieben und gegen das offizielle KoSIT-Regelwerk geprüft von Dmytro Yalanskyi, NormAPI.

Warum tritt BR-DE-22 auf?

Der Generator vergibt einen konstanten Namen — jede Anlage heißt „anlage.pdf“ oder „attachment.pdf“. Bei genau einer Anlage fällt das nie auf; die zweite löst den Fehler aus. Die beiden Syntaxen schauen dabei unterschiedlich weit: in UBL zählt der Ausdruck nur die Anlagen auf Dokumentebene, in CII sucht er mit // im ganzen Dokument und erfasst damit auch Belegverweise, die an einer Rechnungsposition hängen. Dieselbe Rechnung kann in CII also auffallen und in UBL nicht.

Was der Validator prüft

Der Ausdruck, den das offizielle KoSIT-Regelwerk auswertet — nicht paraphrasiert, sondern aus der ausgelieferten Schematron-Datei gelesen. UBL und CII adressieren verschiedene Dokumentbäume, deshalb steht dieselbe Regel je Syntax anders da.

UBL
count(cac:AdditionalDocumentReference) = count(cac:AdditionalDocumentReference[not(./cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename = preceding-sibling::cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename)])
CII
count(//ram:AdditionalReferencedDocument) = count(//ram:AdditionalReferencedDocument[not(./ram:AttachmentBinaryObject/@filename = preceding-sibling::ram:AdditionalReferencedDocument/ram:AttachmentBinaryObject/@filename)])

Quelle: Regelwerk v2026-08-31

Wie behebt man BR-DE-22?

Vergeben Sie je Anlage einen eindeutigen Dateinamen im filename-Attribut (UBL cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename, CII ram:AttachmentBinaryObject/@filename) — am einfachsten den Originalnamen der Datei, notfalls mit laufender Nummer.

Im XML

Ausschnitt in UBL. Der CII-Pfad steht oben im Text — dieselbe Änderung, andere Elementnamen.

Fehlerhaft
<cac:AdditionalDocumentReference>
  <cbc:ID>1</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="anhang.pdf">JVBERi0=</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
  <cbc:ID>2</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="anhang.pdf">JVBERi0=</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
Korrigiert
<cac:AdditionalDocumentReference>
  <cbc:ID>1</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="stundennachweis.pdf">JVBERi0=</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
  <cbc:ID>2</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="lieferschein.pdf">JVBERi0=</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>

Verwandte Regeln

NormAPI liefert technische Validierung, keine Steuer- oder Rechtsberatung.