Peppol BIS Billing 3.0.19 · UBL

DE-R-019: The element "Payment account identifier" (BT-84) should contain a valid IBAN if code 58…

Peppol BIS Billing 3.0.19 · UBL

warningcountry

Original rule text

The element "Payment account identifier" (BT-84) should contain a valid IBAN if code 58 SEPA is provided in "Payment means type code" (BT-81).

Stored validation assertion
not(cbc:PaymentMeansCode = '58') or                     matches(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and                     xs:integer(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),3,2))) return  (if($cp > 64) then string($cp - 55) else  string($cp - 48)),'')) mod 97 = 1

DE-R-019 is a warning rule in the country layer of Peppol BIS Billing 3.0.19 · UBL. An invoice that breaks it is flagged but not rejected. It refers to BT-84, BT-81.

Where to go next

DE-R-019 changed in 2 published Peppol BIS Billing UBL release comparisons:

Validate an invoice against these rules · All release changes