BR-TMP-2BT-124 "External document location" muss eine absolute URL mit gültigem Schema enthalten.
Offizieller Regeltext
Verweist die Rechnung auf ein extern gespeichertes Dokument (BT-124), muss dort eine absolute Adresse mit Schema stehen. Ein Dateiname, ein Laufwerkspfad oder eine Adresse ohne Schema fallen durch.
- 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-TMP-2 auf?
Der Wert stammt meist unverändert aus dem eigenen Dokumentenmanagement, wo relative Pfade und Netzlaufwerke normal sind. Für den Empfänger ist ein solcher Pfad nicht auflösbar: er zeigt auf einen Rechner, den es bei ihm nicht gibt. Geprüft wird das mit ^([a-zA-Z])([a-zA-Z0-9+.-])+:.* — also allein, ob vor einem Doppelpunkt ein Schemaname steht. Ob die Adresse erreichbar oder überhaupt eine Web-Adresse ist, prüft niemand: mailto:, ftp: und auch file:///C:/anhang.pdf bestehen. Der interne Pfad rutscht also durch, sobald ihn jemand als Datei-URL schreibt. Zwei Unterschiede zwischen den Syntaxen kommen dazu: CII prüft nur Verweise mit dem Typcode 916, und CII lässt ein fehlendes Adressfeld durchgehen, während UBL es als Fehler wertet.
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
matches(cbc:URI, $XR-URL-REGEX)Variablen darin
- $XR-URL-REGEX
- '^([a-zA-Z])([a-zA-Z0-9+.-])+:.*'
- CII
not(exists(ram:URIID)) or (matches(ram:URIID, $XR-URL-REGEX))Variablen darin
- $XR-URL-REGEX
- '^([a-zA-Z])([a-zA-Z0-9+.-])+:.*'
Quelle: Regelwerk v2026-08-31
Wie behebt man BR-TMP-2?
Tragen Sie eine absolute URL mit Schema ein — in UBL unter cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:URI, in CII unter ram:URIID. Wenn das Dokument nicht öffentlich erreichbar ist, hängen Sie es besser als eingebettetes Objekt an, statt einen internen Pfad zu verschicken.
Im XML
Ausschnitt in UBL. Der CII-Pfad steht oben im Text — dieselbe Änderung, andere Elementnamen.
<cac:AdditionalDocumentReference>
<cbc:ID>ANL-2026-0042</cbc:ID>
<cac:Attachment>
<cac:ExternalReference>
<cbc:URI>www.beispiel.de/anlagen/stundennachweis.pdf</cbc:URI>
</cac:ExternalReference>
</cac:Attachment>
</cac:AdditionalDocumentReference><cac:AdditionalDocumentReference>
<cbc:ID>ANL-2026-0042</cbc:ID>
<cac:Attachment>
<cac:ExternalReference>
<cbc:URI>https://www.beispiel.de/anlagen/stundennachweis.pdf</cbc:URI>
</cac:ExternalReference>
</cac:Attachment>
</cac:AdditionalDocumentReference>Verwandte Regeln
NormAPI liefert technische Validierung, keine Steuer- oder Rechtsberatung.