I love to study all kinds of “code”, since it is a perfect combination of society and computer technology. I don’t like to use addresses that is readable by human, since it is not accurate, and a computer code of whatever kind is attractive to me. I have studied the code on Shanghai taxi, Chinese car plate and PNR on all airline tickets.
SWIFT standards for Society of Worldwide Interbank Financial Telecommunication (source). It is just like an international post code for banks to identify another bank.
Just as there are 6 digits for Chinese post code, the SWIFT is a 8 digit code (with option 3 more code attached).
The first four characters are bank code.
The following four are city name – two for country, and two for city. The country part follows ISO 3166-1 alpha-2, or to be easier, the top level domain name for the country.
Then the additional 3 can be branch offices, with default value to XXX – the primary office.
Here is my collection of codes of banks.
DEUT = Deutsche Bank
HSBC = HSBC (Hong Kong-Shanghai Banking Cooperation) – nice name
CITI = CITI (Citi Bank) – nice name
CMBC = CMB (China Merchant Bank)
PCBC = China Construction Bank
BKCH= Bank of China – bad code
Bank of Agriculture
COMM = Bank of Communications – good name
ICBK = Bank of Industry and Commerce – really bad code since ICBC was taken
This is a handy tool to look up all the names and codes.
Country and City
In China, it is always CN. So CN… CN… CN… for the foreign and local banks in China.
The city code is weird, since there is no standard code for each city in each country, so it is very confusing. It seems there are different code for the same city.
There are at least two ways to say Shanghai: SH or SX.
There are two ways to say Beijing: BJ or BX.
I saw BS as in CMBCCNBS050 for CMBC
For international wire transfer, the following are the best bet with sources from their websites. Disclaimer: Never trust a non-office website like this one when you want to wire money.
CMBC => CMBCCNBSXXX (source)
Bank of China = BKCHCNBJ
HSBC = HSBCCNSH – the best swift code I saw so far – clear and simple.
Citibank = CITICNSX – What is SX? Is it Shanghai?
Using bank transfer, you not only need to provide the account name, account number, and also the ADDRESS of the bank, and many other information. It seems to be complicated. I just feel the bank system is slow moving – just because of the network effect of existing infrustructure, like SWIFT, it is very hard for other system and more advanced system to replace it. It just takes time and some opportunities.