Peppol BIS Billing 3.0.21 · UBL

DE-R-022: If both supplier and customer are located in Germany, attached documents provided with…

Peppol BIS Billing 3.0.21 · UBL

fatalcountry

Original rule text

[DE-R-022]-If both supplier and customer are located in Germany, attached documents provided with an invoice in "ADDITIONAL SUPPORTING DOCUMENTS" (BG-24) shall have a unique filename (non case-sensitive) within the element ″Attached document″ (BT-125).

Stored validation assertion
count(cac:AdditionalDocumentReference) =                      count(cac:AdditionalDocumentReference[not(./cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename = preceding-sibling::cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename)])

DE-R-022 is a fatal rule in the country layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected. It refers to BG-24, BT-125.

What this rule requires

The rule applies to UBL Invoice or CreditNote when both supplier and customer country codes are DE. It requires that every attached document filename in cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename be unique. The message says uniqueness is non-case-sensitive, but the XPath test compares @filename values with plain equality, so the test actually catches only exact case-sensitive duplicates. A document fails when two or more cac:AdditionalDocumentReference elements have exactly the same @filename value.

How to fix

Ensure each cac:AdditionalDocumentReference has a distinct value for cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename. Check the attached documents and rename files so that no exact duplicate filenames exist. To also satisfy the stated non-case-sensitive intent, avoid filenames that differ only by letter case (e.g. invoice.pdf and Invoice.pdf), even though the current test may not reject those.

Guidance on this rule. The original text above is authoritative.

Where to go next

DE-R-022 changed in 1 published Peppol BIS Billing UBL release comparison:

Validate an invoice against these rules · All release changes