BR-TMP-2BT-124 "External document location" muss eine absolute URL mit gültigem Schema enthalten.
Official rule text
Where the invoice points at an externally stored document (BT-124), the value must be an absolute address including its scheme. A file name, a drive path, or an address with no scheme in front of it all fail.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-08-31
- Checked on
Written and checked against the official KoSIT rule set by Dmytro Yalanskyi, NormAPI.
Why does BR-TMP-2 happen?
The value is usually copied straight out of an in-house document management system, where relative paths and network drives are normal. The recipient cannot resolve one: it points at a machine that does not exist on their side. The check is ^([a-zA-Z])([a-zA-Z0-9+.-])+:.* — purely whether a scheme name stands before a colon. Nothing tests that the address resolves, or that it is a web address at all: mailto:, ftp: and even file:///C:/attachment.pdf pass. So the internal path does slip through the moment somebody writes it as a file URL. Two differences between the syntaxes on top of that: CII only checks references carrying type code 916, and CII lets a missing address field pass where UBL counts it as an error.
What the validator checks
The expression the official KoSIT rule set evaluates — not paraphrased, but read from the Schematron file it ships. UBL and CII address different document trees, so the same rule reads differently in each.
- UBL
matches(cbc:URI, $XR-URL-REGEX)Variables in it
- $XR-URL-REGEX
- '^([a-zA-Z])([a-zA-Z0-9+.-])+:.*'
- CII
not(exists(ram:URIID)) or (matches(ram:URIID, $XR-URL-REGEX))Variables in it
- $XR-URL-REGEX
- '^([a-zA-Z])([a-zA-Z0-9+.-])+:.*'
Source: rule set v2026-08-31
How do you fix BR-TMP-2?
Write an absolute URL including the scheme — cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:URI in UBL, ram:URIID in CII. If the document is not publicly reachable, attach it as an embedded object instead of shipping an internal path.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<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>Related rules
NormAPI provides technical validation, not tax or legal advice.