e-Factura validator

All error codes › DE-R-019

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

WarningpeppolPeppol only

What the rule says

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).

How to fix it

Fill in or correct the fields named in the rule (the BT/BG codes tell you which). The test below shows exactly what is checked in the XML. Quickest: validate the invoice to get the exact location and, for amounts, the correct value.

This is a warning, not an error: it does not normally cause a rejection, but it is worth cleaning up.

Check your invoice for free

Paste the XML and see every error with the exact fix and the correct amounts.

Where it is checked in the XML

Context: (/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)])[$supplierCountryIsDE and $customerCountryIsDE]

Test (XPath):

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

Related rules