Check digit calculation for account numbers

An article by

Andreas Wegmann

Published on


Updated on


Reading time

3 min

The fear of making a mistake when entering bank details is as old as the account number itself. With Verification of Payee (VOP), the EPC wants to allay payers’ fears of inadvertently sending money to the wrong account. A comparable procedure was already introduced in the UK (Confirmation of Payee) and SWIFT also has a service called Payment Pre-Validation to prevent erroneous or fraudulent payments. The check digit calculation serves the same purpose.

The check digit calculation for the IBAN

SEPA IBAN Verification of PayeeThe structure of an IBAN follows the ISO standard 13616, although there are some special features for SEPA. The IBAN is made up of the bank sort code and the account number and is preceded by a country code (two letters). The third and fourth digits of an IBAN contain this check digit, which is calculated uniformly in the SEPA area. The introduction of SEPA in 2014 was also the introduction of the IBAN, which initially had to be entered together with the bank sort code. In 2016, the so-called “IBAN only” rule was introduced: bank customers only have to enter the IBAN for intra-European payments. In national interbank payment transactions, the sort code still plays an important role for routing, even if financial institutions outside the EU are addressed via BIC (Business Identifier Code).

Check digit calculation for account numbers in Germany

In view of the existing IBAN check digit, supplemented by the SEPA Verification of Payee (VOP), a check digit calculation for account numbers would not be absolutely necessary. A transposed number in the IBAN is almost impossible.

Why does the Deutsche Bundesbank nevertheless maintain and update the procedure for calculating check digits for account numbers?

The reason for this is the additional security with which a bank can protect its own bank customers (although this is not mandatory). A bank can limit the number of possible account numbers with the authorised check digit calculation methods (see box on the left for an excerpt; source: Deutsche Bundesbank; only available in German).

Although a fraudster can quickly and easily calculate the check digit of an IBAN, the check digit of the account number is a further hurdle. Banks in Germany must declare to the Bundesbank whether and which of the more than 100 authorised check digit procedures they use. This greatly limits the number of account numbers actually used and a fraudster who, for example, sends false direct debits with fictitious bank details (account numbers) is immediately thwarted by the SEPA clearer (Germanys retail payment system): before clearing, a check is made to see whether an account number (IBAN) matches the number range used by the receiving bank. If not, the transaction is returned by the Bundesbank, which is an embarrassing process for the sending bank. If the Bundesbank notices significant errors of this kind, it can exclude you from participating in the SEPA Clearer.

Banks are therefore well advised to check that the IBAN matches the check digit method of the receiving bank before sending a transaction. This also applies if an institution itself does not want to use a check digit method for its own account numbers. Modern payment transaction systems such as CPG.classic naturally have these and other plausibility checks on board. If you have any questions about check digits or are interested in a sophisticated SEPA, TARGET and SWIFT payment transaction system, we look forward to hearing from you here.

Suchen Sie nach einer Lösung für den elektronischen Zahlungsverkehr?