International Bank Account Number: Difference between revisions
No edit summary |
No edit summary |
||
Line 59: | Line 59: | ||
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 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 |
Canadian financial institutions have not adopted IBAN and use [http://en.wikipedia.org/wiki/Routing_transit_number#Canadian_transit_number bank transit numbers] 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. |
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. |
Revision as of 15:38, 19 January 2010
The International Bank Account Number (IBAN) is an international standard for identifying bank accounts across national borders in a way that would minimise the risk of propagating transcription errors. 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.[1]
The IBAN was originally developed to facilitate payments within the European Union but the format is flexible enough to be applied globally. It 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 (incorporating routing information), called the BBAN (Basic Bank Account Number).[2] 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.
Background
Before IBAN, customers, especially individuals & 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.
IBAN imposes a flexible but regular format sufficient for account identification and contains validation information to avoid errors of transcription.
The standard IBAN now carries all the routing information needed to get a payment from one bank to another wherever it may be. IBAN contains check digits which can be validated in any country according to a single standard procedure. It also contains all the key bank account details such as Bank Identifier Codes, branch codes (known as sort codes in the United Kingdom and in the Republic of Ireland) and account numbers. Where used, IBANs have reduced trans-national money transfer errors to under 0.1% of total payments.
The check digits enable the sending bank (or its customer) to verify the validity of a routing destination and account number from a single string of data at the time of data entry. 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
Country | IBAN formatting example |
---|---|
Greece | GR16 0110 1050 0000 1054 7023 795
|
Great Britain | GB35 MIDL 4025 3432 1446 70
|
Saudi Arabia | SA80 8000 0375 6080 1019 0160
|
Switzerland | CH51 0868 6001 2565 1500 1
|
Israel | IL30 0113 0300 0009 6339 234
|
Geographical usage
All banks in Europe (except for the Commonwealth of Independent States) provide an IBAN identifier for their accounts as well as nationally recognised identifiers - this being mandatory within the European Economic Area.[3] In addition, Israel, Lebanon, Mauritius, Saudi Arabia, Tunisia and Turkey 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 foreign bank account numbers. In particular, they 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 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.
Algorithms
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 each letter in the string with two digits, thereby expanding the string, where A=10, B=11, ..., Z=35.
- Interpret the string as a decimal integer and compute the remainder of that number on division by 97.
The IBAN number can only be valid if the remainder is 1.
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
The ECBS Standard provided method of calculating the checksum yields a value in the range 02 to 98. The ranges 00 to 96, 01 to 97 and 03 to 99 would also pass the MOD 97-10 validation test but the standard is silent as to whether or not these ranges may be used. It does however issue the warning: "Generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account".
The preferred algorithm is:
- Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid.
- Replace the two checksum digits by 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).
- Calculate Mod-97 of the new number.
- 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. However, by making use of the modular arithmetic identities
- and
it is easy to show that
where
- and
- .
The sequence is easily generated using the iterative relationship
This algorithm is particularly useful if the large number whose modulus is to be found is expressed as an ASCII string from which the elements can easily be extracted rather than as a binary number. In practice this algorithm can be performed using 16-bit integer arithmetic even though itself might be 30 or more digits in length.
Online Tools
Security and Privacy
Since an IBAN is nothing more than an enhanced bank account number, account holders should give the same security considerations to their IBANs as they do to their 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 demands that only the account servicing financial institution is entitled to issue an IBAN. One f the reasons is that there might be anomalies regarding the checksum or the routing code of the generated IBAN. In a few cases the institution concerned might use the Internet to publish their algorithm - unless the user is sure that the on-line IBAN generator has the backing of the institution concerned, such generators should be regarded as suspect.
Online IBAN validation
There are a large number of IBAN validators on the Internet - some are specific to a particular country, or in some cases to a particular bank. Links to some of these can be found in sister Wikipedia articles in the language concerned. All general purpose validators performed the validations described above, though a few do check certain country-specific information - for example that the IBAN bank code and the sort code are consistent.
The UN CEFACT TBG5 has published a free IBAN Validation Service for all 49 countries that have adopted the IBAN standard in 30 languages. They have also published the Javascript source code of the verification algorithm.
- Languages:
- bg, ca, cz, da, de, el, en, es, et fi, fr ,hr ,hu, it, ja, lt, lv, nl, no, pl, pt, ro, ru, sk ,sl, sq, sr, sv ,tr ,zh
- Countries:
- AD, AL, AT, BA, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FO, FR, GB, GI, GL, GR, HR, HU, IE, IL ,IS, IT, LB ,LI ,LT, LU, LV, MC, ME ,MK, MT, MU, NL, NO, PL, PT ,RO, RS, SA, SE, SI, SK, SM TN, TR
Is on-line IBAN validation safe?
It should be noted that some commentators have warned that criminal elements might overwrite links to genuine IBAN validators as a means of phishing genuine IBANs. [citation needed]
List of Valid IBANs by Country
This table summarises the IBAN formats of various countries. The data, except where noted otherwise, is taken from the January 2010 version of the IBAN Registry.[4] The kk after the two character ISO country code represents the check digits calculated from the rest of the IBAN characters
Country | Digits | IBAN Format | Comment |
---|---|---|---|
Albania | 28 | ALkk BBBB BBBB CCCC CCCC CCCC CCCC | B = bank code, C = account No. |
Andorra | 24 | ADkk BBBB SSSS CCCC CCCC CCCC | B = bank code, S = branch code, C = account No. |
Austria | 20 | ATkk BBBB BCCC CCCC CCCC | B = bank code, C = account No. |
Belgium | 16 | BEkk BBBC CCCC CCKK | The last 12 digits represent: B = bank code (numeric), C = account No., K = check digits |
Bosnia and Herzegovina | 20 | BAkk BBBS SSCC CCCC CoKK | B = bank code, S = sort code, C = account No., K = check digits |
Bulgaria | 22 | 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. |
Channel Islands | Bailiwicks of Guernsey and Jersey (Use either France or UK codes, dependant upon format chosen by bank) | ||
Croatia | 21 | HRkk BBBB BBBC CCCC CCCC C | B = bank code, C = account No. |
Cyprus | 28 | CYkk BBBS SSSS CCCC CCCC CCCC CCCC | B = bank code, S = branch code, C = account No. |
Czech Republic | 24 | CZkk BBBB SSSS SSCC CCCC CCCC | B = bank code, S = branch code, C = account No. |
Denmark | 18 | DKkk BBBB CCCC CCCC CC | B = bank No., C = account No. (Separate application in Faroe Islands and Greenland, see separate entries) |
Estonia | 20 | EEkk BBSS CCCC CCCC CCCK | B = bank code, S = branch code, C = account No., K = check digit |
Faroe Islands | 18 | FOkk CCCC CCCC CCCC CC | Same as Denmark, except for the country code. |
Finland | 18 | FIkk BBBB BBCC CCCC CK | B = bank code, branch number and account type, C = account No., K = National check digit |
France | 27 | FRkk BBBB BGGG GGCC CCCC CCCC CKK | B = bank code, G = branch code (fr:code guichet), C = account No., K = National checksum (fr:clé RIB). |
Germany | 22 | DEkk BBBB BBBB CCCC CCCC CC | B = Bank and branch identifiers (de:Bankleitzahl or BLZ), C = account No. |
Gibraltar | 23 | GIkk BBBB CCCC CCCC CCCC CCC | B = first part of BIC, C = account No. |
Greece | 27 | GRkk BBB BBBB CCCC CCCC CCCC CCCC | B = bank code and branch number, C = account No. |
Greenland | 18 | GLkk BBBB CCCC CCCC CC | Same as Denmark, except for the country code. |
Hungary | 28 | HUkk BBBB BBBC CCCC CCCC CCCC CCCC | B = bank code, C = account No. |
Iceland | 26 | ISkk BBBB SSCC CCCC XXXX XXXX XX | B = bank code, S = branch code, C = account No., X = holder's national identification number. |
Ireland | 22 | 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. |
Isle of Man | (Uses United Kingdom code) | ||
Israel | 23 | ILkk BBBN NNCC CCCC CCCC CCC | B = bank No, N = branch No, C = account No. 13 digits (typically 6 zeroes followed by a 7 digit No.). It should be noted that some Israeli banks have recently changed client's account numbers from 6 to 7 digits. |
Italy | 27 | ITkk KAAA AABB BBBC CCCC CCCC CCC[5] | K = check char (it:CIN - alpha character), A = bank code (it:Associazione bancaria italiana or Codice ABI - numeric), B = branch number (it:Coordinate bancarie or CAB - Codice d'Avviamento Bancario - numeric", C = account ID (alphanumeric). |
Latvia | 21 | 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). |
Lebanon | 28 | LBkk BBBB AAAA AAAA AAAA AAAA AAAA | B = Bank/institution code, A = Account number. |
Liechtenstein | 21 | LIkk BBBB BCCC CCCC CCCC C | Same as Switzerland except for the country code. |
Lithuania | 20 | LTkk BBBB BCCC CCCC CCCC | B = bank code, C = account No. |
Luxembourg | 20 | LUkk BBBC CCCC CCCC CCCC | B = bank code, C = account No. |
Macedonia | 19 | MKkk BBBC CCCC CCCC CKK | B = bank code, C = account No., K = check digits |
Malta | 31 | MTkk BBBB SSSS SCCC CCCC CCCC CCCC CCC | B = first part of BIC, S = branch identifier, C = account No. |
Mauritius | 30 | MUkk BBBB BBSS CCCC CCCC CCCC CCCC CC | B = bank identifier, S = branch identifier, C = account number |
Monaco | 27 | MCkk BBBB BGGG GGCC CCCC CCCC CKK | Same as France except for the country code. |
Montenegro | 22 | MEkk BBBC CCCC CCCC CCCC KK | kk = IBAN digit, B = Bank Code, C = Account number, KK = Check Digit. |
Netherlands | 18 | NLkk BBBB CCCC CCCC CC | kk = IBAN digit, B = Bank Code, C = Account number (Not applicable to Netherlands Antilles or Aruba) |
Northern Ireland | (uses either UK or Republic of Ireland code, dependant upon format chosen by bank) | ||
Norway | 15 | NOkk BBBB CCCC CCK | B = bank code, C = account No., K = modulo-11 check digit |
Poland | 28 | 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 | PTkk BBBB BBBB CCCC CCCC CCCK K | B = bank code (1-4 bank code, 5-8 branch code), C = account number, K = BBAN check digits. Banks that don't identify specific branches use '0000' for digits 5-8. The Portuguese BBAN (or NIB - Número de Identificação Bancária) uses the same validation checksum as the IBAN (ISO 7064 mod 97-10 calculation) resulting in the IBAN checksum always being "50". |
Romania | 24 | ROkk BBBB CCCC CCCC CCCC CCCC | B = bank's identifier code, C = Branch code and Account No. (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 | SMkk KAAA AABB BBBC CCCC CCCC CCC | Same as Italy except for the country code. |
Saudi Arabia | 24 | SAkk BBCC CCCC CCCC CCCC CCCC | B = bank code, C = account No. 2a [country code] 2n [check digits] 2n [bank identifier] followed by 18c [the basic account number preceded by zeros, if required]. The issuing start date of the Saudi Arabia IBAN was July 1, 2008 [1]. |
Serbia | 22 | RSkk BBBC CCCC CCCC CCCC KK | B = bank code, C = account No., K = account check digits |
Slovakia | 24 | SKkk BBBB SSSS SSCC CCCC CCCC | B = bank code, S = sort code, C = account No. |
Slovenia | 19 | 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 | ESkk BBBB GGGG KKCC CCCC CCCC | B = bank code, G=Branch/office number, K=Check digits, C = account No. |
Sweden | 24 | SEkk BBBB CCCC CCCC CCCC CCCC | The Bs represent the bank code and the Cs the account number. |
Switzerland | 21 | CHkk BBBB BCCC CCCC CCCC C | B = bank code, C = account No. |
Turkey | 26 | TRkk BBBB BRCC CCCC CCCC CCCC CC | B = bank code, R = Reserved for future use (currently "0"), C = Account Number |
Tunisia | 24 | TNkk BBBB BCCC CCCC CCCC CCCC | B = bank code, C = account No. |
United Kingdom | 22 | GBkk BBBB SSSS SSCC CCCC CC | B = Bank code, S = Branch Code (sort code), C = account No. Applies to whole of Great Britain only - not applicable to any British Overseas Territories. Alternative applications in Northern Ireland, Channel Islands, Isle of Man, Gibraltar - see separate entries |
See also
External links
References
- ^ "ISO13616 IBAN Registry". SWIFT. Retrieved 2010-01-18.
- ^ "IBAN: INTERNATIONAL BANK ACCOUNT NUMBER; EBS204 V3.2 — AUGUST 2003" (PDF). EUROPEAN COMMITTEE FOR BANKING STANDARDS. Retrieved 2010-01-18.
- ^ 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". Commission of the European Union. Retrieved 2010-01-18.
{{cite web}}
: Check|url=
value (help) - ^ "IBAN REGISTRY - This registry provides detailed information about all ISO 13616-compliant national IBAN formats - Release 17, January 2010" (PDF). SWIFT. Retrieved 2010-01-18.
- ^ (in Italian) ABI site on SEPA detailing the Italian IBAN format