views:

649

answers:

5

I've been having a hard time finding more information to this question, and since this site is visited by a lot of people from the United States, you guys might know/find the answer more easily.

Banks in europe each have a SWIFT Number, while US Banks use Routing Numbers. This leads to following questions:

  1. Does each bank in the US also carry a BIC number? (SWIFT)
  2. Is there a 1-1 relationship between BIC/SWIFT and Routing Numbers?
  3. Is there a list of these numbers somewhere?

Background information: We're adding international payments to our bookkeeping application. Users can add international suppliers, but my boss prefered not to change the current supplier table but to have the ROUTING NUMBER in another table, with as PK the BIC. I'm wondering if BIC is a valid choice, or if it should just be BANK ACCOUNT NUMBER.

Bounty Questions:

  • We know each bank has a Routing Number. Is there a 1-1 relationship, or is this 1-n?

  • I'm still wondering about a 1-1-1 relation between bank-BIC-Routing. Is there a table with all US banks, their BIC/SWIFT number and their Routing numbers?

+2  A: 
  1. All US banks should have a swift code
  2. BIC is not the same thing as SWIFT
  3. You can get both SWIFT and BIC listings here https://www2.swift.com/directories/ or you can also search google for individual bank SWIFT codes
n8
Thank you. I was under the impression BIC and SWIFT were the same (wikipedia seems to confirm this). I must have mistyped question 2, I was actually wondering about a 1-1 relation between BIC/SWIFT and the ABA Routing Number.
Konerak
Oh, well routing numbers are another similar, but different thing. They both are used to identify the bank, but routing numbers are used mainly for use with checking accounts. Also, you would not be able to use BIC/SWIFT and routing numbers interchangeably..
n8
Thanks, that helps. I'm still wondering about a 1-1-1 relation between bank-BIC-Routing though ;)
Konerak
+3  A: 

The *B*ank *I*dentification *C*ode is the de-facto Western-world standard for identifying banks, and is a necessary component of any truly Western-world international payment system.

The Islamic world has its own networks and systems for international payments (it has a name, but that escapes me now), and I doubt that they employ the BIC directory.

It is independent from SWIFT, in that an identification standard and a payment network cannot possibly be one and the same thing. The two are very closely intertwined, in that BIC is the only standard that is universally accepted in our western world, and that SWIFT is the only network available to do payments across the entire western world.

Erwin Smout
I fail to see the relation between the original question and religion.
bluesmoon
+1  A: 

I am not sure what your intentions are.

Some open questions:

  1. What exactly do you mean by 'Users can add international suppliers'. I do not think it is good practice to use user-defined info as a primary key.
  2. A BIC or RTN identifies a financial institution - why do you think a supplier will have one? A supplier will probably just have some bank account info.
  3. You application will do 'international payments'. How? Is it going to be connected to Fedwire or SWIFT? If so just use whatever identifier used on the particular network.
stijnm
1. That's really part of the background info, but for the sake of discussion: users are allowed and supposed to enter suppliers. The primary key of that table is auto-generated, one of the fields is the BIC (user-inputted offcourse) of the bank the supplier belongs to. We want to allow routing numbers to be entered, but they cannot be stored in the same table. Do I need another table with PK-Routing, or can I use BIC-Routing (if there is a 1-1 relation).
Konerak
2. The supplier has bank account info, so we can pay him. Apparently, US Suppliers have US Banks, and we need the routing number to be able to pay.
Konerak
3. The payment is processed by the Belgian Post Office - they don't really have any identifiers, you just provide the info as if you were at the post office counter and you want to pay. Besides, I'd like my database layout to be independant of theirs.
Konerak
For your 1: Functionally there is no difference.So, what are the technical pros and cons of using a table with PK/Routing over a table with BIC/Routing?
stijnm
+1  A: 

The BIC Code, SWIFT code and the Sort Code depend on the country in which the bank is located. Each bank (and its branch) has a routing bank number aka national bank number based on the country it is located in.

The routing number aka Routing Transit Number(RTN) is a unique, bank-identifying number that directs transactions to the proper bank in US. This number usually precedes the account number.

If you're going for international transfers, you require SWIFT or IBAN or other similar codes like RTGS(NEFT) depending on the country (of the beneficiary's bank). If you're transactions are within US, then RTN is whats required.

Here is some info on routing numbers for banks in US.

The supplier has bank account info, so we can pay him. Apparently, US Suppliers have US Banks, and we need the routing number to be able to pay.

Yes there is a 1-1 relation between the bank, BIC/Swift and RTN. You could have separate fields, one for the SWIFT/BIC, one for the routing number and one for bank account number all in one table instead of having them referenced in different tables. When making international payments, the BIC/SWIFT can be combined with the IBAN to process the transaction.The IBAN is made up of a code that identifies the country the account belongs to, the account holder's bank and the account number itself.

Zaki
+1  A: 

Any bank that directly makes international transfers must have all of these, but there are banks which only interact with other US banks.

There is NOT a 1-1 ratio of BIC/Swift #s to Routing numbers. Not all banks have BIC/Swift. Specifically, many credit unions do not. I learned this when I did some contracted programming for a European company and the credit union that I bank with was unable to accept a wire transfer because they did not have a Swift #.

JGB146