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. It was originally adopted by the European Committee for Banking Standards, and was later adopted as an international standard under ISO 13616:1997 and now as ISO 13616:2007. The official IBAN registrar under ISO 13616:2003 is SWIFT and the IBAN registry is currently at SWIFT.
The IBAN was originally developed to facilitate payments within the European Union but the format is flexible enough to be applied globally. Customers, especially individuals and SMEs, are frequently confused by differing national standards for bank account numbers. IBAN imposes a flexible but regular format for account identification and contains validation information to avoid errors of transcription.
The IBAN's primary purpose is to facilitate cross-border inter-bank routing and avoid routing errors.
The IBAN consists of a ISO 3166-1 alpha-2 country code, followed by two check digits and up to thirty alphanumeric characters for the domestic bank account number, called the BBAN (Basic Bank Account Number). It is up to each country's national banking community to decide on the length of the BBAN for accounts in that country, but its length must be fixed for any given country.
The IBAN should not contain spaces when transmitted electronically. When printed on paper, however, the norm is to express it in groups of four characters separated by a single space, the last group being of variable length.
Contents |
[edit] Background
The routing of payments internationally used to require the payer to inform the sending bank of the location of the receiving account (bank name, branch address) as well the account number of the destination account. The location of the receiving account is often identifiable from various routing codes which are often specific to the national payment system, and therefore are more readily machine processed than are names and addresses.
National routing codes and account numbers often (but by no means universally) contain check digits which are used nationally to help detect transcription and routing errors before payments are sent. However because national systems vary (and often don't contain a sort code or checksum), there was no common format for giving routing information that could be applied internationally.
Prior to IBAN therefore, it was impractical for banks to validate such routing information prior to the sending of payments. Routing errors were therefore frequent causing payments to be delayed and often created costs to the sending and receiving banks and often to intermediate routing banks also.
The standard IBAN is intended to carry all the routing information needed to get a payment from one bank to another wherever it may be. IBAN contains check digiting which can be validated in any country according to a single standard procedure. The IBAN contains all the key bank account details such as Bank Identifier Codes, sort codes and checksums and where used has reduced trans-national money transfer errors to under 0.1% of total payments.
In this way, the validity of a routing destination can be validated by the sending bank (or its customer) from a single string of data which contains all the necessary routing data to get money into the destination account and routing errors in international (or cross-border) payments are therefore virtually eliminated.
Examples of IBANs in written format.
- Greek IBAN: GR16 0110 1050 0000 1054 7023 795
- British IBAN: GB35 MIDL 4025 3432 1446 70
- Swiss IBAN: CH51 0868 6001 2565 1500 1
[edit] Geographical usage
Most banks in Europe (excluding those in the CIS) provide an IBAN identifier for their accounts as well as nationally recognised identifiers. In addition, Israel, Tunisia, Mauritius, Turkey, and Saudi Arabia 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. Some banks outside Europe may not recognize IBAN, though as time passes this is expected to diminish.
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.
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.
[edit] Examples
Note: kk after the two character ISO country code represents the check digits calculated from the rest of the IBAN characters
- Andorra (24 digits) IBAN format: ADkk BBBB SSSS CCCC CCCC CCCC
- Austria (20) IBAN format: ATkk BBBB BCCC CCCC CCCC
-
- B = bank code, C = account No.
- Belgium (16) IBAN format: BEkk BBBC CCCC CCKK
-
- The last 12 digits represent: B = bank code, C = account No., K = check digits
- Bosnia and Herzegovina (20) IBAN format: BAkk BBBS SSCC CCCC CoKK
-
- B = bank code, S = sort code, C = account No., K = check digits
- Bulgaria (22) IBAN format: BGkk BBBB SSSS DDCC CCCC CC
-
- B = alphanumeric bank code (first four letters of SWIFT BIC), S = Branch (BAE) number, D = numeric account type, C = alphanumeric account No. Introduced on June 5, 2006.
- Croatia (21) IBAN format: HRkk BBBB BBBC CCCC CCCC C
-
- B = bank code, C = account No.
- Cyprus (28) IBAN format: CYkk BBBS SSSS CCCC CCCC CCCC CCCC
-
- B = bank code, S = sort code, C = account No.
- Czech Republic (24) IBAN format: CZkk BBBB SSSS SSCC CCCC CCCC
-
- B = bank code, S = sort code, C = account No.
- Denmark (18) IBAN format: DKkk BBBB CCCC CCCC CC
-
- B = bank No., C = account No.
- Estonia (20) IBAN format: EEkk BBSS CCCC CCCC CCCK
-
- B = bank code, S = sort code, C = account No., K = check digit
- Faroe Islands (18) IBAN format: FOkk CCCC CCCC CCCC CC
-
- Same as Denmark, except for the country code.
- Finland (18) IBAN format: FIkk BBBB BBCC CCCC CK
-
- B = bank code, branch number and account type, C = account No., K = check digit of the Finnish account numbering scheme.
- France (27) IBAN format: FRkk BBBB BGGG GGCC CCCC CCCC CKK
-
- B = bank code, G = code guichet (branch), C = account No., K = clé RIB (key).
- Germany (22) IBAN format: DEkk BBBB BBBB CCCC CCCC CC
-
- B = sort code (Bankleitzahl/BLZ), C = account No.
- Gibraltar (23) IBAN format: GIkk BBBB CCCC CCCC CCCC CCC
-
- B = first part of BIC, C = account No.
- Greece (27) IBAN format: GRkk BBB BBBB CCCC CCCC CCCC CCCC
-
- K = check digits of the Greek account numbering scheme, B = bank code and branch number, C = account No.
- Greenland (18) IBAN format: GLkk BBBB CCCC CCCC CC
-
- Same as Denmark, except for the country code.
- Hungary (28) IBAN format: HUkk BBBB BBBC CCCC CCCC CCCC CCCC
-
- B = bank code, C = account No.
- Iceland (26) IBAN format: ISkk BBBB SSCC CCCC XXXX XXXX XX
-
- B = bank code, S = sort code, C = account No., X = holder's national identification number.
- Ireland (22) IBAN format: IEkk AAAA BBBB BBCC CCCC CC
-
- The first 4 alphanumeric characters are the start of the SWIFT code. Then a 6 digit long sort code and an 8 digit account code follow, both numeric.
- Israel (23) IBAN format: ILkk BBB NNN CCCCCCCCCCCCC
-
- kk = control code 2 digits, B = bank No. 3 digits, N = branch No. 3 digits, C = account No. 13 digits (typically 6 zeroes followed by a 7 digit No.). Note: Some israeli banks have recently changed account numbers for their clients, extending them from 6 to 7 digits. You want to use the new number.
- Italy (27) IBAN format: ITkk ABBB BBCC CCCX XXXX XXXX XXX
-
- IT = the country code, kk are the check digits, A the CIN BBAN or CIN IT (check digit, called "Control Internal Number"), BBBBB is the ABI (bank code), CCCCC is the CAB (branch number), and the last 12 digits the account or CC.
- Latvia (21) IBAN format: LVkk BBBB CCCC CCCC CCCC C
-
- The first four digits are the same as the first four digits of the SWIFT code of the bank, and the 13 digits after that are the number of the individual account (and can include both letters and numbers).
- Liechtenstein (21) IBAN format: LIkk BBBB BCCC CCCC CCCC C
-
- Same as Switzerland except for the country code.
- Lithuania (20) IBAN format: LTkk BBBB BCCC CCCC CCCC
-
- B = bank code, C = account No.
- Luxembourg (20) IBAN format: LUkk BBBC CCCC CCCC CCCC
-
- B = bank code, C = account No.
- Macedonia (19) IBAN format: MKkk BBBC CCCC CCCC CKK
-
- B = bank code, C = account No., K = check digits
- Malta (31) IBAN format: MTkk BBBB SSSS SCCC CCCC CCCC CCCC CCC
-
- B = first part of BIC, S = sort code, C = account No.
- Monaco (27) IBAN format: MCkk BBBB BGGG GGCC CCCC CCCC CKK
-
- Same as France except for the country code.
- Montenegro (22) IBAN format: MEkk BBBC CCCC CCCC CCCC KK
-
- kk = IBAN digit, B = Bank Code, C = Account number, KK = Check Digit.
- Netherlands (sometimes referred to as Holland) (18) IBAN format: NLkk BBBB CCCC CCCC CC
-
- The first 4 alphanumeric characters represent a bank and the last 10 digits an account.
- Norway (15) IBAN format: NOkk BBBB CCCC CCK
-
- B = bank code, C = account No., K = modulo-11 check digit
- Poland (28) IBAN format: PLkk BBBB BBBk CCCC CCCC CCCC CCCC
-
- B = bank code (1-3 institution ID, 4-7 branch), C = account No., kk = check digits. There are no letters in the code. The single "k" after bank code is the now redundant check digit of the former system, preserved in IBAN.
- Portugal (25) IBAN format: PTkk BBBB BBBB CCCC CCCC CCCK K
-
- B = bank code (1-4 bank, 5-8 branch; some banks don't identify the branch and use '0000' for digits 5-8), C = account No., K = check digits. As a matter of fact, due to the fact that Portuguese BBAN uses the same validation checksum as IBAN (ISO 7064 mod 97-10 calculation), Portuguese IBAN always start by PT50, followed by the 21-digit BBAN (or NIB, Número de Identificação Bancária).
- Romania (24) IBAN format: ROkk BBBB CCCC CCCC CCCC CCCC
-
- The first 4 alphanumeric characters represent the bank; according to a rule established by the Romanian National Bank, the BBBB code must be the same with the first 4 characters of the bank's identifier code. The last 16 represent the specific bank branch and an account, combined any way the bank decides (typically the first 4 among the 16 identify the branch). Some banks include the ISO 4217 currency identifier somewhere in the account name.
- San Marino (27) IBAN format: SMkk ABBB BBCC CCCX XXXX XXXX XXX
-
- Same as Italy except for the country code.
- Saudi Arabia (24 digits) IBAN format: SAkk BBCC CCCC CCCC CCCC CCCC
- Serbia (22) IBAN format: RSkk BBBC CCCC CCCC CCCC KK
-
- B = bank code, C = account No., K = account check digits[1]
- Slovakia (24) IBAN format: SKkk BBBB SSSS SSCC CCCC CCCC
-
- B = bank code, S = sort code, C = account No.
- Slovenia (19) IBAN format: SIkk BBBB BCCC CCCC CKK
-
- The first 2 BB digits represent a bank, the next 3 - the branch. The last 2 digits (KK) are the check digits. IBAN check digits (kk) for Slovenia are 5 and 6.
- Spain (24) IBAN format: ESkk BBBB GGGG KKCC CCCC CCCC
-
- B = bank code, G=Branch/office number, K=Check digits, C = account No.
- Sweden (24) IBAN format: SEkk BBBB CCCC CCCC CCCC CCCC
-
- The Bs represent the bank code and the Cs the account number.
- Switzerland (21) IBAN format: CHkk BBBB BCCC CCCC CCCC C
-
- B = bank code, C = account No.
- Turkey (26) IBAN format: TRkk BBBB BRCC CCCC CCCC CCCC CC
-
- The total number of alphanumeric characters including the country code and the check digits is 26. The first 5 digits represent a bank. The next alphanumeric character, reserved for future use, is set to zero. The following 16 alphanumeric characters represent the specific bank branch and an account. The issuing start date of the Turkish IBAN was: September 1, 2005 [2].
- Tunisia (24) IBAN format: TNkk BBBB BCCC CCCC CCCC CCCC
-
- B = bank code, C = account No.
- United Kingdom (22) IBAN format: GBkk BBBB SSSS SSCC CCCC CC
-
- B = alphabetical bank code, S = sort code (often a specific branch), C = account No.
[edit] Calculating and validating IBAN checksums
The checksum is a basic ISO 7064 mod 97-10 calculation where the remainder must equal 1.
To validate the checksum:
- Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid.
- Move the four initial characters to the end of the string.
- Replace the letters in the string with digits, expanding the string as necessary, such that A=10, B=11 and Z=35.
- Convert the string to an integer and mod-97 the entire number.
If the remainder is 1 you have a valid IBAN number.
To calculate the checksum:
- Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid.
- Make the checksum digits 00 (e.g. GB00 for the UK).
- Move the four initial characters to the end of the string.
- Replace the letters in the string with digits, expanding the string as necessary, such that A=10, B=11 and Z=35. Each alphabetic character is therefore replaced by 2 digits.
- Convert the string to an integer (i.e. ignore leading zeroes) and mod-97 the entire number minus 1, then add 1.
- Subtract the remainder from 98 and pad with a leading 0, if necessary.
As few computers can handle numbers that long, an iterative modulus calculation is probably needed:
- Take the first 8 digits.
- Perform a modulus calculation on those.
- Append the next six digits to the result on step 2.
- Repeat steps 2 and 3 until there are no more digits to append.
This works because X MOD 97x10^n is an integer product of 97 plus X MOD 97.
[edit] Security and Privacy
It is possible to publish personal or corporate IBAN bank account routing information for your bank account, and many businesses do this for their transit accounts (where payments are routinely swept out and transferred to the proper internal corporate account). The IBAN system has adequate security measures such that publication of bank account routing information is often routine in Europe.
[edit] See also
[edit] External links
- Official IBAN Registry at SWIFT
- European Committee for Banking Standards (ECBS)
- ECBS IBAN page
- ECBS IBAN standard v. 3.2
- IBAN Validator - How to validate IBAN
[edit] Online tools
Although you find here and elsewhere a lot of IBAN calculators, a valid IBAN can only be obtained from the account servicing financial institution. The underlying ISO demands that only the account servicing financial institution is entitled to issue an IBAN.
- Free IBAN-converter for all IBAN countries
- Free IBAN On-line check and IBAN-converter for all 46 IBAN Countries
- Free Sort Code Checker
- Free IBAN Validation Service for all 47 countries that have adopted the IBAN standard, multilingual in 26 languages (BG,CA,CZ,DA,DE,EL,EN,ES,FI,FR,HU,IT,LT,NL,NO,PL,PT,RO,RU,SK,SL,SQ,SR,SV,TR,ZH), provided by the UN_CEFACT_TBG5, html source available
- Free IBAN Checker
- General Information about IBAN, Create and Validate IBAN, multilingual.
- A free IBAN calculator and validator (calculator and decoder for Austrian, Belgian, British, Dutch, Estonian, French, German, Greek, Hungarian, Luxembourgish, Spanish, and Swiss banks; validator for all countries)
- Guide on IBAN Account Numbers and Payments in Europe
- European Banks Info
- Official Saudi Arabia IBAN validator
[edit] Software Implementations
- CPAN Perl module for IBAN calculations
- PHP IBAN is a library for parsing and validating IBAN bank account information in PHP.