Sie sind auf Seite 1von 16

International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.

org/wiki/International_Bank_Account_Number

From Wikipedia, the free encyclopedia

The International Bank Account Number (IBAN) is an


international standard for identifying bank accounts across
national borders with a minimal risk of propagating
transcription errors. It was originally adopted by the
European Committee for Banking Standards (ECBS), and
was later adopted as an international standard under ISO
13616:1997 and now as ISO 13616-1:2007. The official
IBAN registrar under ISO 13616-2:2007 is SWIFT.

The IBAN was originally developed to facilitate payments Typical British bank statement header showing the
within the European Union but the format is flexible enough location of the account's IBAN
to be applied globally and has now been adopted by many
Middle Eastern countries as well as most European
countries. It consists of a four character header comprising an ISO 3166-1 alpha-2 country code, followed by
two check digits that are calculated using a mod-97 technique and a country-specific Basic Bank Account
Number (BBAN) of up to thirty alphanumeric characters.

The checksum enables the initiator of any transaction to perform a sanity check of any specified bank account
number on their own computer prior to actually initiating a request. The BBAN, whose format is decided by the
national banking community, includes the domestic bank account number, branch identifier and potentially
routing information, the only restrictions being that it must be of fixed length and that only case-insensitive
alphanumeric in characters are used.

1 Background
1.1 Development
1.2 Practicalities
2 Geographical usage
2.1 Single Euro Payments Area (SEPA)
3 IBAN validation features
4 Online tools
4.1 Security and privacy
4.2 Online IBAN generation
4.3 Online IBAN validation
5 List of valid IBANs by country
5.1 Notes
6 Algorithms
6.1 Validating the IBAN
6.2 Generating IBAN check digits
6.3 Calculating the modulus of a large number
6.4 Example of modulus calculation
7 Notes & references
8 See also
9 External links

1 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

Before IBAN, customers, especially individuals and small businesses (SMEs), used to be confused by the
differing national standards for bank account identification such as bank, branch, routing codes and account
number. This often led to necessary routing information being missing from payments. Furthermore routing
information as specified by ISO 9362 does not contain check digits, so simple errors of transcription were not
detectable and it was not possible for a sending bank to validate the routing information prior to submitting the
payment. Routing errors were therefore frequent causing payments to be delayed and incurred extra costs to the
sending and receiving banks and often to intermediate routing banks also.

Development

To overcome these difficulties, the European Committee for Banking Standards (ECBS) developed the IBAN
which was later adopted as an international standard under ISO 13616:1997. This standard was revised in 2003
and again in 2007 when it was split into two parts. ISO 13616-1:2007 "specifies the elements of an international
bank account number (IBAN) used to facilitate the processing of data internationally in data interchange, in
financial environments as well as within and between other industries" but "does not specify internal
procedures, file organization techniques, storage media, languages, etc. to be used in its implementation".[1] ISO
13616-2:2007 describes "the Registration Authority (RA) responsible for the registry of IBAN formats that are
compliant with ISO 13616-1 [and] the procedures for registering ISO 13616-compliant IBAN formats"[2] The
official IBAN registrar under ISO 13616-2:2007 is SWIFT.[3]

IBAN imposes a flexible but regular format sufficient for account identification and contains validation
information to avoid errors of transcription. It carries all the routing information needed to get a payment from
one bank to another wherever it may be; it contain all the key bank account details such as Bank Identifier
Codes, branch codes (known as sort codes in the UK and Ireland) and account numbers and it contains check
digits which can be validated at source according to a single standard procedure.[4] Where used, IBANs have
reduced trans-national money transfer errors to under 0.1% of total payments.

Practicalities

The check digits enable the sending bank (or its customer) to perform a sanity check of the routing destination
and account number from a single string of data at the time of data entry. This check is guaranteed to detect any
instances where a single character has been omitted, duplicated, mistyped or where two characters have been
transposed. Thus routing and account number errors are virtually eliminated.

The IBAN should not contain spaces when transmitted electronically. However, when printed on paper, the
IBAN is expressed in groups of four characters separated by a single space, the last group being of variable
length as shown in the example below[5]

Country IBAN formatting example


Greece GR16 0110 1250 0000 0001 2300 695

United Kingdom GB29 NWBK 6016 1331 9268 19


Saudi Arabia SA03 8000 0000 6080 1016 7519

Switzerland CH93 0076 2011 6238 5295 7

Israel IL62 0108 0000 0009 9999 999

The characters that may be used in an IBAN are the Hindu-Arabic numerals '0' to '9' and the 26 upper case
Latin alphabetic characters 'A' to 'Z'. This applies even in countries such as Greece, Saudi Arabia and Israel (see
above) and others where these characters and/or numerals are not used in the national language.

2 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

The banks of most countries in Europe provide an IBAN identifier for their accounts as well as nationally
recognised identifiers - this being mandatory within the European Economic Area.[6] In addition Dominican
Republic, Israel, Kazakhstan, Kuwait, Lebanon, Mauritania, Mauritius, Saudi Arabia, Tunisia, and United Arab
Emirates also provide IBAN format account identifiers.

Banks in the British dependencies (except Gibraltar


and the Crown Dependencies) do not use the IBAN
format, but this may be due to internal banking
regulatory issues. Banks in the Dutch West Indies also
do not use the IBAN format. Some banks outside
Europe may not recognize IBAN, though as time
passes this is expected to diminish. Non-European
banks typically accept IBANs as bank account
numbers for accounts in Europe, although they might
not treat IBANs differently to the way they treat other SEPA and IBAN
foreign bank account numbers. In particular, they IBAN-only
might choose not to check that the IBAN is valid prior
to sending the payment.

In the absence of an IBAN it remains necessary to use the current ISO 9362 Bank Identifier Code system (BIC
or SWIFT code) in conjunction with the BBAN.

Banks in the United States do not provide IBAN format account numbers. Any adoption of the IBAN standard
by U.S. banks would likely be initiated by ANSI ASC X9, the U.S. financial services standards development
organization but to date it has not done so. Hence payments to U.S. bank accounts from outside the U.S. are
prone to errors of routing.

Canadian financial institutions have not adopted IBAN and use bank transit numbers issued by the Canadian
Payments Association for transferring funds within Canada and SWIFT for international transfers. There is no
formal governmental or private sector regulatory requirement in Canada for the major banks to use IBAN.

Banks in Australia and New Zealand have not adopted IBAN, and tend to use Bank State Branch codes for
domestic transfers and SWIFT for international.

Single Euro Payments Area (SEPA)


Main article: Single Euro Payments Area

The IBAN designation scheme was chosen as the foundation for electronic straight-through processing in the
European Economic Area. The European Parliament mandated that a bank charge needs to be the same amount
for domestic credit transfers as for cross-border credit transfers regulated in decision 2560/2001 (updated in
924/2009).[6] This regulation took effect as of 2003. Only payments in Euro up to 12,500 to a bank account
designated by its IBAN were covered by the regulation.

The Euro Payments regulation has been the foundation for the decision to create a Single Euro Payments Area
(SEPA). The European Central Bank has created the TARGET2 interbank network that unifies the technical
infrastructure of the 26 central banks of the European Union (although Sweden and the UK have opted-out).
SEPA is a self-regulatory initiative by the banking sector of Europe as represented in the European Payments
Council (EPC). The European Union made the scheme mandatory through the Payment Services Directive
published in 2007. Since January 2008 all countries must support SEPA credit transfer and SEPA direct debit
must be supported since November 2009. The regulation on SEPA payments increases the charge cap (same
price for domestic payments as for cross-border payments) to 50,000.

3 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

With a further decision of the European Parliament the IBAN scheme


for bank accounts shall fully replace the domestic numbering schemes
up to 31 December 2012.[7] On 16 December 2010 the European
Commission published proposed regulations that will make IBAN
support mandatory for domestic credit transfer by 2013 and for
domestic direct debit by 2014 (with a 12 and 24 months transition period
respectively).[8] Some countries have already replaced their traditional
bank account scheme by IBAN, this includes Switzerland which
introduced the IBAN for national credit transfer on 1 January 2006 and
the support for the old bank account numbers is not required from 1 By the end of 2014, the IBAN will be
January 2010.[9] mandatory for all banking transactions
in countries that use the euro

One of the design aims of the IBAN was to enable as much validation as possible to be done at the point of data
entry. In particular, the computer program that accepts an IBAN will be able to validate:

Is the country code valid?


Does the number of characters in the IBAN correspond to the number specified for this country?
Does the BBAN format follow the format specified for this country?
Is the account number, bank code and country code combination compatible with the check digits?

The check digits are calculated using MOD-97-10 as per ISO/IEC 7064:2002[10] (abbreviated to mod-97 in this
article) which specifies a set of check character systems capable of protecting strings against errors which occur
when people copy or key data. In particular, the standard states that the following can be detected:

"all single substitution errors (the substitution of a single character for another, for example 4234 for
1234);"
"all or nearly all single (local) transposition errors (the transposition of two single characters, either
adjacent or with one character between them, for example 12354 or 12543 for 12345);" Since the
IBAN error detection uses mod 97, it will trap all such errors.
"all or nearly all shift errors (shifts of the whole string to the left or right);" These errors will be
trapped by the computer program as they will result in an incorrect format.
"a high proportion of double substitution errors (two separate single substitution errors in the same
string, for example 7234587 for 1234567);"
"a high proportion of all other errors."

Security and privacy

Since an IBAN is nothing more than an enhanced bank account number, account holders should handle them
with the same security considerations as they handle conventional bank account numbers. Many businesses
publish the IBANs of their transit accounts (where payments are routinely swept out and transferred to the
proper internal corporate account).

Online IBAN generation

The underlying rules for IBANs is that the account servicing financial institution should issue an IBAN as there
are a number areas where different IBANs could be generated from the same account and branch numbers that
would satisfy the generic IBAN validation rules. In particular cases where 00 is a valid check digit, 97 will also
be a valid check digit, likewise if 01 is a valid check digit, 98 will also be a valid check digit, similarly with 02
and 99.

4 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

Online IBAN validation

There is a large number of IBAN validators on the internet. Some are specific to a particular country, others to a
particular bank. Links to some of these can be found in sister Wikipedia articles in the language concerned. All
general purpose validators perform the validations described above, though a few do check certain country-
specific information, e.g., that the IBAN bank code and the sort code are consistent.

The UN CEFACT TBG5 has published a free IBAN validation service (http://www.tbg5-finance.org
/?ibancheck.shtml) in 31 languages for all 50 countries that have adopted the IBAN standard. They have also
published the Javascript source code (http://www.tbg5-finance.org/ibandocs.shtml/) of the verification
algorithm.

A similar English language IBAN checker that is restricted to ECBS member country bank accounts is available
on their website (http://www.ecbs.org/iban-checker.htm) . Both of these IBAN checkers return the message
This IBAN appears to be correct when presented with the fictitious British IBAN
GB82 WEST 1234 5698 7654 32 (see above). This is because it has a valid country code, its layout is consistent
with the layout that is linked to the country code, and the check digits are consistent with the rest of the IBAN.

This table summarises the IBAN formats of various countries. The data is taken from the July 2011 version of
the IBAN registry, unless noted otherwise[5]

The kk after the two character ISO country code represents the check digits calculated from the rest
of the IBAN characters. If it is a constant for the country concerned, this will be stated in the
Comments column. This happens where the BBAN has its own check digits that use the same
algorithm as the IBAN check digits.
The BBAN format column shows the format of the BBAN part of an IBAN in terms of upper case
alpha characters (A-Z) denoted by "a", numeric characters (0-9) denoted by "n" and mixed case
alphanumeric characters (a-z, A-Z, 0-9) denoted by "c". For example, the Bulgarian BBAN
(4a,6n,8c) consists of 4 alpha characters, followed by 6 numeric characters, then by 8 mixed-case
alpha-numeric characters.
Descriptions in the Comments field have been standardised with country specific names in brackets.
The format of the various fields can be deduced from the BBAN field.

BBAN
Country Chars IBAN Fields Comment
Format
B = National
bank code
S = branch
Albania 28 8n, 16c ALkk BBBS SSSK CCCC CCCC CCCC CCCC
identifier
K = check digit
C = account No.
B = National
bank code
Andorra 24 8n,12c ADkk BBBB SSSS CCCC CCCC CCCC
S = branch code
C = account No.
B = National
Austria 20 16n ATkk BBBB BCCC CCCC CCCC bank code
C = account No.

5 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

BBAN
Country Chars IBAN Fields Comment
Format
B = National
bank code
Belgium 16 12n BEkk BBBC CCCC CCKK
C = account No.
K = check digits
B = National
bank code
Bahrain 22 4a,14c BHkk BBBB SSSS SSSS SSSS SS C = account No.
Effective 31
January 2012
k = IBAN check
digits (always
39)
Bosnia and B = National
20 16n BAkk BBBS SSCC CCCC CCKK
Herzegovina bank code
S = branch code
C = account No
K = check digits
B = BIC bank
code
S = Branch
Bulgaria 22 4a,6n,8c BGkk BBBB SSSS DDCC CCCC CC (BAE) number
D = account
type
C = account No.
B = bank code
Costa Rica 21 17n CRkk BBBC CCCC CCCC CCCC C
C = account No.
B = bank code
Croatia 21 17n HRkk BBBB BBBC CCCC CCCC C
C = account No.
B = National
bank code
Cyprus 28 8n,16c CYkk BBBS SSSS CCCC CCCC CCCC CCCC
S = branch code
C = account No.
B = National
bank code
Czech Republic 24 20n CZkk BBBB SSSS SSCC CCCC CCCC
S = branch code
C = account No.
B = National
Denmark 18 14n DKkk BBBB CCCC CCCC CC bank code
C = account No.
B = Bank
Dominican DOkk BBBB CCCC CCCC CCCC CCCC
28 4a,20n identifier
Republic CCCC
C = account No.
B = National
bank code
Estonia 20 16n EEkk BBSS CCCC CCCC CCCK S = branch code
C = account No.
K = check digit

6 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

BBAN
Country Chars IBAN Fields Comment
Format
B = National
Faroe bank code
18 14n FOkk BBBB CCCC CCCC CK
Islands[Note 1] C = account No.
K = check digit
B = bank and
branch identifier
Finland 18 14n FIkk BBBB BBCC CCCC CK C = account No.
K = National
check digit
B = National
bank code
G = branch code
(fr:code guichet)
France[Note 2] 27 10n,11c,2n FRkk BBBB BGGG GGCC CCCC CCCC CKK
C = account No.
K = National
checks digits
(fr:cl RIB).
B = National
bank code
Georgia 22 2c,16n GEkk BBCC CCCC CCCC CCCC CC
C = Account
No.
B = Bank and
branch identifier
Germany 22 18n DEkk BBBB BBBB CCCC CCCC CC (de:Bankleitzahl
or BLZ)
C = account No.
B = BIC bank
Gibraltar 23 4a,15c GIkk BBBB CCCC CCCC CCCC CCC code
C = account No.
B = National
bank code
Greece 27 7n,16c GRkk BBBS SSSC CCCC CCCC CCCC CCC
S = Branch code
C = account No.
B = National
[Note 1] 18 14n GLkk BBBB CCCC CCCC CC bank code
Greenland
C = account No.
B = National
bank code
S = branch
Hungary 28 24n HUkk BBBS SSSS CCCC CCCC CCCC CCCK identifier
C = account No.
K = National
check digit
B = National
bank code
Iceland 26 22n ISkk BBBB SSCC CCCC XXXX XXXX XX S = branch code
C = account No.
X = holder's

7 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

BBAN
Country Chars IBAN Fields Comment
Format
national
identification
number.
A = BIC bank
code
B = bank/branch
Ireland 22 4c,14n IEkk AAAA BBBB BBCC CCCC CC
account number
(sort code)
C = account No.
B = National
bank code
N = branch No
Israel 23 19n ILkk BBBN NNCC CCCC CCCC CCC C = account No.
13 digits
(padded with
zeros).
K = check char
(CIN)
A = National
bank code
(it:Associazione
bancaria italiana
or Codice ABI )
Italy 27 1a,10n,12c ITkk KAAA AABB BBBC CCCC CCCC CCC B = branch
number
(it:Coordinate
bancarie or CAB
- Codice
d'Avviamento
Bancario)
C = account ID
B = National
Kazakhstan 20 3n,3c,10n KZkk BBBC CCCC CCCC CCCC bank code
C = account No.
B = National
KWkk BBBB AAAA AAAA AAAA AAAA bank code
Kuwait 30 4a, 22n[11] AAAA AA A = Account
number.
B = BIC Bank
Latvia 21 4a,13c LVkk BBBB CCCC CCCC CCCC C code
C = account No.
B = National
LBkk BBBB AAAA AAAA AAAA AAAA bank code
Lebanon 28 4n,20c
AAAA A = Account
number.
B = National
Liechtenstein 21 5n,12c LIkk BBBB BCCC CCCC CCCC C bank code
C = account No

8 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

BBAN
Country Chars IBAN Fields Comment
Format
B = National
Lithuania 20 16n LTkk BBBB BCCC CCCC CCCC bank code
C = account No.
B = National
Luxembourg 20 3n,13c LUkk BBBC CCCC CCCC CCCC bank code
C = account No.
k = IBAN check
digits (always =
"07")
B = National
Macedonia 19 3n,10c,2n MKkk BBBC CCCC CCCC CKK bank code
C = Account
No.
K = National
check digits
B = BIC bank
code
MTkk BBBB SSSS SCCC
Malta 31 4a,5n,18c S = branch
CCCC CCCC CCCC CCC
identifier
C = account No.
B = National
bank code
G = branch code
(fr:code guichet)
C = account No.
Mauritania 27 23n MRkk BBBB BGGG GGCC CCCC CCCC CKK K = National
check digits
(fr:cl RIB)
Planned
effective date 1
January 2012.
B = National
bank code
MUkk BBBB BBSS CCCC CCCC CCCC S = branch
Mauritius 30 4a,19n,3a
CCCC CC identifier
C = account
number
B = National
bank code
G = branch code
(fr:code guichet)
Monaco 27 10n,11c,2n MCkk BBBB BGGG GGCC CCCC CCCC CKK
C = account No.
K = National
check digits
(fr:cl RIB).
k = IBAN check
digit (always =
Montenegro 22 18n MEkk BBBC CCCC CCCC CCCC KK "25")
B = Bank Code

9 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

BBAN
Country Chars IBAN Fields Comment
Format
C = Account
number
K = Check Digit.
B = BIC Bank
Code
Netherlands[Note 3] 18 4a,10n NLkk BBBB CCCC CCCC CC
C = Account
number
B = National
bank code
Norway 15 11n NOkk BBBB CCCC CCK C = account No.
K = modulo-11
check digit
B = National
bank code
S = branch code
Poland 28 24n PLkk BBBS SSSK CCCC CCCC CCCC CCCC K = national
check digits
C = account
No.,
k = IBAN check
digits (always =
"50")
B = National
bank code
Portugal 25 21n PTkk BBBB SSSS CCCC CCCC CCCK K
S = Branch
code, C =
account number
K = BBAN
check digits.
B = BIC Bank
Code
C = Branch
Romania 24 4a,16c ROkk BBBB CCCC CCCC CCCC CCCC code and
Account No
(bank-specific
format)
K = check char
(it:CIN)
A = National
bank code
(it:Associazione
bancaria italiana
San Marino 27 1a,10n,12c SMkk KAAA AABB BBBC CCCC CCCC CCC or Codice ABI)
B = branch
number
(it:Coordinate
bancarie or CAB
- Codice
d'Avviamento

10 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

BBAN
Country Chars IBAN Fields Comment
Format
Bancario)
C = account ID
B = National
bank code
C = account
Saudi Arabia 24 2n,18c SAkk BBCC CCCC CCCC CCCC CCCC number
preceded by
zeros, if
required.
B = National
bank code
Serbia 22 18n RSkk BBBC CCCC CCCC CCCC KK C = account No.
K = account
check digits
B = National
bank code
Slovakia 24 20n SKkk BBBB SSSS SSCC CCCC CCCC
S = sort code
C = account No.
k = IBAN check
digits (always =
"56")
B = National
bank code
Slovenia 19 15n SIkk BBSS SCCC CCCC CKK
S = branch
C = Account
number
K = National
check sum
B = National
bank code
G=Branch/office
Spain 24 20n ESkk BBBB GGGG KKCC CCCC CCCC
number
K=Check digits
C = account No.
B = National
bank code
Sweden 24 20n SEkk BBBC CCCC CCCC CCCC CCCK
C = account No.
K = Check digit
B = National
Switzerland 21 5n,12c CHkk BBBB BCCC CCCC CCCC C bank code
C = account No.
B = National
bank code
Tunisia 24 20n TNkk BBSS SCCC CCCC CCCC CCCC
S = Branch code
C = account No.
B = National
Turkey 26 5n,17c TRkk BBBB BRCC CCCC CCCC CCCC CC bank code
R = Reserved

11 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

BBAN
Country Chars IBAN Fields Comment
Format
for future use
(currently "0")
C = Account
Number
B = National
bank code
United Arab C = Account
23 3n,16n AEkk BBBC CCCC CCCC CCCC CCC
Emirates Number
Effective 15
October 2011
B = BIC bank
code
United S = Bank and
22 4a,14n GBkk BBBB SSSS SSCC CCCC CC
Kingdom[Note 4] branch Code
(sort code)
C = account No

Notes

1. ^ a b Registered at SWIFT as part of Denmark, but with its own country code.
2. ^ French Guyana, Guadeloupe, Martinique, and Reunion have their own ISO country code but are included for the
IBAN under the code FR; French Polynesia (PF), French Southern Territories (TF), Mayotte (YT), New
Caledonia (NC), Saint Pierre et Miquelon (PM), and Wallis and Futuna Islands (WF) have their own ISO country
code but may be identified within the IBAN by either FR or their specific country code.
3. ^ Not applicable to Aruba, Curaao, Sint Maarten and the Caribbean Netherlands.
4. ^ The United Kingdom of Great Britain and Northern Ireland, the Isle of Man and the Bailiwicks of Guernsey and
Jersey use this format. British Overseas Territories have their own formats.

Validating the IBAN

The basis of the IBAN validation is to convert the IBAN into a number and to perform a basic Mod-97
calculation (as described in ISO 7064) on it. If the IBAN is valid, then the remainder equals 1. Rule process of
IBAN validation is:

1. Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid.
2. Move the four initial characters to the end of the string.
3. Replace each letter in the string with two digits, thereby expanding the string, where A=10, B=11, ...,
Z=35.
4. Interpret the string as a decimal integer and compute the remainder of that number on division by 97.

If the remainder is 1, the checks digits test is passed and the IBAN might be valid.

Example (fictitious United Kingdom bank, sort code 12-34-56, account 98765432):

IBAN: GB82 WEST 1234 5698 7654 32


Rearrange: W E S T12345698765432 G B82
Modulus: 3214282912345698765432161182 mod 97 = 1

12 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

Generating IBAN check digits

According to the European Committee for Banking Standards (ECBS) "generation of the IBAN shall be the
exclusive responsibility of the bank/branch servicing the account".[4] The ECBS provides a method for
generating the check digits in the range 02 to 98. Theoretically, it is equally possible to generate check digits in
the ranges 00 to 96, 01 to 97, and 03 to 99, but the standard is silent as to whether or not these ranges may be
used.

The preferred algorithm is:

1. Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid.
2. Replace the two check digits by 00 (e.g., GB00 for the UK).
3. Move the four initial characters to the end of the string.
4. Replace the letters in the string with digits, expanding the string as necessary, such that A or a=10, B or
b=11 and Z or z=35. Each alphabetic character is therefore replaced by 2 digits.
5. Convert the string to an integer (i.e., ignore leading zeroes).
6. Calculate Mod-97 of the new number.
7. Subtract the remainder from 98 and, if necessary, pad with a leading 0 to make a two digit number.

Calculating the modulus of a large number

It is often not practical to perform these calculations directly on a modern PC, so many programs, such as the
Javascript program (http://www.tbg5-finance.org/ibandocs.shtml/) published by UN CEFACT TBG5 use a
piece-wise approach. By making use of the modular arithmetic identities

and

it can be shown[12] that a modulus calculation on a large number D (e.g., the IBAN) can be reformulated as

where the d i are the digits of D (i.e., integer values between 0 and 9)

and the ai are a fixed array of integers independent of D

The sequence is easily generated using the iterative relationship

This algorithm is particularly useful if the large number D is expressed as an ASCII string from which the
elements d i can easily be extracted rather than as a binary number. In practice, this algorithm can be performed
using 16-bit integer arithmetic even though D itself might be more than 30 digits in length.

Example of modulus calculation

13 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

In this example, the calculation of (3214282912345698765432161182 mod 97) using modular arithmetic is
explained in detail. If the result of this calculation is one, the IBAN passes the check digit test. For clarification,
the IBAN digits are colour-coded as above.

In the table below

Column i are the digit numbers counting from the right to left.
Column di are the values of these digits.
Column ai are the progressive values calculated as ai = (10 x ai-1) mod 97, where a1 = 1.
Column di ai is self-explanatory.
Columns Definition of ai and Calculation of ai detail how the values of ai are calculated.

Note that the values ai are independent of the IBAN being checked, i.e., they form a constant array for all
checks digit tests on IBANs with a certain length. The value 27 is highlighted to show the propagation of the
values of ai from one row to the next.

i di ai di ai Definition of ai Calculation of ai
1 2 1 2 a1 = 1 (by definition) a1 = 1
2 8 10 80 a2 = 10 mod 97 a2 = (110) mod 97
3 1 3 3 a3 = 100 mod 97 a3 = (1010) mod 97
4 1 30 30 a4 = 1000 mod 97 a4 = (310) mod 97
5 6 9 54 a5 = 10,000 mod 97 a5 = (30 10) mod 97
6 1 90 90 a6 = 100,000 mod 97 a6 = (910) mod 97
7 2 27 54 a7 = 1,000,000 mod 97 a7 = (9010) mod 97
8 3 76 228 a8 = 10,000,000 mod 97 a8 = (2710) mod 97
... Rows omitted ...
27 2 31 62 a27 = 1026 mod 97 a27 = (7110) mod 97
28 3 19 57 a28 = 1027 mod 97 a28 = (3110) mod 97
Sum (di ai) 4560
4560 mod 97 = 1 A value of 1 means that this IBAN is valid

The final two rows conclude the computation, by checking that Mod-97 of the sum of the values in column di
ai equals one. Note that 4560 is the largest number appearing in this algorithm, which can easily be
accommodated by a 16-bit computer.

1. ^ "ISO 13616-1:2007 Financial services International bank account number (IBAN) Part 1: Structure of the
IBAN" (http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=41031) . International
Organization for Standardization. http://www.iso.org/iso/iso_catalogue/catalogue_tc
/catalogue_detail.htm?csnumber=41031. Retrieved 2010-01-31.
2. ^ "ISO 13616-2:2007 Financial services - International bank account number (IBAN) -- Part 2: Role and
responsibilities of the Registration Authority" (http://www.iso.org/iso/iso_catalogue/catalogue_tc
/catalogue_detail.htm?csnumber=41032) . International Organization for Standardization. http://www.iso.org
/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=41032. Retrieved 2010-01-31.
3. ^ "ISO13616 IBAN Registry" (http://www.swift.com/solutions/messaging/information_products/directory_products
/iban_format_registry/index.page?lang=en) . SWIFT. http://www.swift.com/solutions/messaging
/information_products/directory_products/iban_format_registry/index.page?lang=en. Retrieved 2010-01-18.
4. ^ a b "IBAN: International Bank Account Number" (http://www.cnb.cz/miranda2/export/sites/www.cnb.cz

14 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

/cs/platebni_styk/iban/download/EBS204.pdf) (PDF). EBS204 V3.2. European Committee for Banking Standards.


August 2003. http://www.cnb.cz/miranda2/export/sites/www.cnb.cz/cs/platebni_styk/iban/download/EBS204.pdf.
Retrieved 2010-08-01.
5. ^ a b "IBAN registry - This registry provides detailed information about all ISO 13616-compliant national IBAN
formats - Release 31, November 2011" (http://www.swift.com/dsp/resources/documents/IBAN_Registry.pdf) .
SWIFT. http://www.swift.com/dsp/resources/documents/IBAN_Registry.pdf. Retrieved 2011-11-08.
6. ^ a b EU Regulation 924/2009 "REGULATION (EC) No 924/2009 OF THE EUROPEAN PARLIAMENT AND
OF THE COUNCIL of 16 September 2009 on cross-border payments in the Community and repealing Regulation
(EC) No 2560/2001" (http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32009R0924:EN:NOT) .
Commission of the European Union. http://eur-lex.europa.eu/LexUriServ
/LexUriServ.do?uri=CELEX:32009R0924:EN:NOT EU Regulation 924/2009. Retrieved 2010-01-18.
7. ^ "Frist fr Umstieg auf SEPA-Produkte: Dt Widerstand programmiert [Deadline for migration to SEPA products:
Dt programmed resistance]" (http://www.dowjones.de/site/2010/12/frist-f%C3%BCr-umstieg-auf-sepa-produkte-
deutscher-widerstand-programmiert.html) (in German). Dow Jones Deutschland. 14 December 2010.
http://www.dowjones.de/site/2010/12/frist-f%C3%BCr-umstieg-auf-sepa-produkte-deutscher-widerstand-
programmiert.html. Retrieved 2010-12-18.
8. ^ "Proposal for a Regulation of the European Parliament and of the Council establishing technical requirements for
credit transfers and direct debits in euros and amending Regulation (EC) No 924/2009" (http://eur-lex.europa.eu
/LexUriServ/LexUriServ.do?uri=CELEX:52010PC0775:EN:NOT) . the European Parliament and of the Council of
the European Union. 16 December 2010. http://eur-lex.europa.eu/LexUriServ
/LexUriServ.do?uri=CELEX:52010PC0775:EN:NOT. Retrieved 2011-01-17.
9. ^ "IBAN-Nummer: Noch kein Obligatorium [IBAN Number: Not mandatory]" (http://www.ktipp.ch/themen/beitrag
/1041577/IBAN-Nummer_Noch_kein_Obligatorium) (in German). 29 November 2009. http://www.ktipp.ch/themen
/beitrag/1041577/IBAN-Nummer_Noch_kein_Obligatorium. Retrieved 2010-12-18.
10. ^ "ISO/IEC 7064:2003 - Information technology - Security techniques - Check character systems"
(http://www.iso.org/iso/catalogue_detail.htm?csnumber=31531) . International Organization for Standardization.
http://www.iso.org/iso/catalogue_detail.htm?csnumber=31531. Retrieved 2010-01-31.
11. ^ There is an error in the Registry document - the character type was not specified. However other sources suggest
that the Registry left an "n" out of their documentation
12. ^ This is a standard undergraduate level maths exercise

Bank account
Bank card number
Bank regulation
ISO 9362
Single Euro Payments Area

Official ISO 13616 Registry (http://www.swift.com/solutions/messaging/information_products


/directory_products/iban_format_registry/index.page?lang=en)
ISO 13616-1:2007 (http://www.iso.org/iso/iso_catalogue/catalogue_tc
/catalogue_detail.htm?csnumber=41031)
IBAN page (not owned by the European Committee for Banking Standards) (http://www.ecbs.org
/iban.htm)
Retrieved from "http://en.wikipedia.org/w/index.php?title=International_Bank_Account_Number&
oldid=459684253"
Categories: Banking terms and equipment Financial regulation ISO standards Identifiers
Financial routing standards Checksum algorithms

This page was last modified on 8 November 2011 at 20:26.


Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may
apply. See Terms of use for details.

15 of 16 25/11/2011 6:09
International Bank Account Number - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/International_Bank_Account_Number

Wikipedia is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

16 of 16 25/11/2011 6:09

Das könnte Ihnen auch gefallen