
A bank code usually identifies the financial institution, while a branch code identifies a specific branch, local clearing unit or account-processing location under that bank. The confusion happens because countries use different labels: the US uses routing numbers, the UK uses sort codes, Australia uses BSB, Canada uses transit and institution numbers, while Singapore and Hong Kong often use bank and branch or clearing codes. When you fill a transfer form, the safest approach is to start with the destination country, payment method and receiving bank instructions, then match each code to the correct field instead of translating terms word for word.

A bank code identifies the bank or financial institution, while a branch code identifies a specific branch, location, clearing unit or processing point under that bank. The bank code answers “which bank should receive this payment?” The branch code answers “which branch or internal unit should process this account?” The exact format differs by country, but the routing logic is similar: payment systems need an institution-level identifier first, and in some markets they also need a branch-level identifier before the money can reach the recipient’s account.
You should also separate these two codes from the account number. The account number identifies the recipient’s individual account, not the bank itself. A payment form may ask for all three: bank code, branch code and account number. If you enter the account number into a branch-code field, or put a branch code where the account number should go, the transfer may be rejected or delayed.
| Term | Main Meaning | Usually Identifies | Common Use |
|---|---|---|---|
| Bank code | Institution identifier | Bank or financial institution | Domestic routing and clearing |
| Branch code | Branch or service-unit identifier | Branch, outlet, clearing unit or processing point | Local account routing |
| Account number | Customer account identifier | Individual account | Final deposit destination |
| SWIFT/BIC | International institution identifier | Bank, business party or specific location | Cross-border wires and bank messages |
| IBAN | Standardized account identifier | Country, check digits, bank/account components | IBAN-region transfers |
Some countries combine bank and branch information into one code. For example, the UK sort code and Australian BSB both carry bank-and-branch routing meaning, even though users may not see a separate “bank code” and “branch code” field. Other markets keep the two ideas separate. Canada commonly uses an institution number for the bank and a transit number for the branch. Hong Kong often uses a clearing code or bank code plus a branch code.
Users confuse the terms because transfer forms are rarely universal. A remittance app may use generic field labels, while the receiving country may use local terminology. One form might say “bank code,” another says “clearing code,” another says “routing number,” and another says “sort code.” They may all look like short numeric identifiers, but they do not always mean the same thing.
Another source of confusion is that some banks embed branch information inside the account number. DBS in Singapore, for example, says DBS/POSB’s bank code is 7171, POSB accounts use branch code 081, and DBS accounts use the first three digits of the account number as the branch code. That rule is specific to DBS/POSB and should not be copied to another bank unless that bank gives the same instruction.
A branch code may sound like it must refer to a physical branch, but in modern banking it can also point to a legacy branch, a processing center, a digital-account allocation, a clearing unit or an internal routing group. Online banks may not have traditional retail branches, yet they still need routing identifiers for payment systems. That is why you should treat a branch code as a payment-routing detail, not as proof that the recipient opened the account at a walk-in branch.
Summary: The core difference is simple: bank code identifies the financial institution; branch code narrows the routing to a specific branch, service unit or clearing point under that institution. But the practical answer depends on the destination country, receiving bank and payment method. In some countries, the two are separate. In others, one code combines both functions. In still others, the form may use local names such as routing number, sort code, BSB or transit number. Do not guess a branch code from an account number unless the receiving bank explicitly explains that rule. For a reliable transfer, match the form fields to the receiving bank’s official instructions and keep the account number, bank identifier and branch identifier separate in your mind.

Bank code and branch code are usually domestic routing identifiers, while SWIFT/BIC and IBAN are more common in cross-border transfer instructions. SWIFT defines a Business Identifier Code as an identifier with an 8-character BIC and an optional 3-character branch identifier. The IBAN Registry describes IBAN as a structure with a two-letter country code, two check digits and up to 30 alphanumeric BBAN characters. In practice, international transfers may require both global identifiers and local account details.
A domestic bank transfer usually stays inside one country’s clearing system. That is where local identifiers matter most: routing number in the US, sort code in the UK, BSB in Australia, transit number in Canada, clearing code in Hong Kong, and bank/branch code in places such as Singapore. These codes help domestic payment systems route funds between banks and sometimes between branches or processing units.
An international wire is different. It may need a SWIFT/BIC to identify the receiving bank internationally, an IBAN if the destination country uses IBAN, the recipient’s legal account name, the account number, bank address and sometimes intermediary bank details. If the destination country does not use IBAN, the sender may need a SWIFT/BIC plus a local account number and local clearing code.
| Code Type | Domestic or International | Identifies | Example Use |
|---|---|---|---|
| Bank code | Mostly domestic | Bank or financial institution | Local clearing |
| Branch code | Mostly domestic | Branch, local unit or processing point | Local account routing |
| SWIFT/BIC | International | Bank, business party or location | Cross-border bank messages |
| IBAN | International or regional | Standardized account identifier | SEPA and IBAN-region transfers |
| Routing number | Country-specific domestic identifier | US financial institution routing | ACH, checks and some wires |
A SWIFT/BIC is not the same as a domestic branch code. A SWIFT/BIC helps banks identify each other in international messaging. Its optional branch identifier can identify specific locations, departments or services, but that does not mean it replaces every country’s domestic branch code. If a form has one field for SWIFT/BIC and another for branch code, you should not enter the same value in both fields unless the receiving bank specifically instructs you to do so.
IBAN can contain domestic bank and account components inside a standardized international format. The user-facing rule is simple: if the recipient bank gives you an IBAN, enter the full IBAN exactly as provided. Do not split it into guessed bank-code, branch-code and account-number pieces unless the transfer provider has clearly designed the form that way. Many IBAN errors come from deleting spaces incorrectly, missing check digits or trying to reinterpret local components manually.
Summary: Bank code, branch code, SWIFT/BIC and IBAN do different jobs in the same payment journey. Domestic transfers often rely on local routing identifiers. International transfers often need SWIFT/BIC, IBAN or intermediary bank details in addition to the recipient’s account information. A SWIFT/BIC identifies a bank or business party for cross-border messaging; an IBAN identifies an account in a standardized international format; a bank code and branch code usually serve local clearing needs. When a transfer form asks for multiple identifiers, treat each field literally and follow the receiving bank’s instructions. Mixing a domestic branch code into a SWIFT/BIC field, or breaking an IBAN into guessed local parts, is a common reason for transfer repair, rejection or manual review.

Bank code and branch code mean different things across markets. In the US, you usually see an ABA routing number; in the UK, a sort code; in Australia, a BSB; in Canada, institution and transit numbers; in Singapore and Hong Kong, bank and branch or clearing codes are common. The safest method is to follow the receiving bank’s local terminology instead of translating every field into “bank code” or “branch code.” A correct transfer depends on the destination country’s payment rail, not on a universal naming rule.
The American Bankers Association says the ABA Routing Number appears at the bottom of checks, with the routing number on the left, followed by the account number and check number. In the US, the routing number is the key domestic bank-routing identifier, especially for checks, ACH and some wire contexts.
In the UK, a sort code is the common domestic routing term. Starling Bank explains that a sort code is a six-digit number that identifies the bank and branch where an account is held. In Australia, CommBank explains that a BSB, or Bank-State-Branch number, is a six-digit number identifying banks and branches across Australia. In Canada, CIBC explains that the transit number is five digits, the institution number is three digits, and the account number is separate.
| Market | Common Term | Typical Format | Closest Meaning |
|---|---|---|---|
| US | ABA routing number | 9 digits | Financial institution routing identifier |
| UK | Sort code | 6 digits | Bank/branch routing identifier |
| Canada | Institution + transit number | 3 + 5 digits | Bank + branch identifier |
| Australia | BSB | 6 digits | Bank-state-branch identifier |
| Singapore | Bank code + branch code | Varies by bank | Bank + branch or account-derived code |
| Hong Kong | Clearing code + branch code | Often bank code plus branch code | Bank + branch clearing identifier |
Singapore and Hong Kong often confuse users because bank, branch and clearing terms appear together. DBS states that DBS/POSB’s bank code is 7171, POSB accounts have a standard branch code of 081, and DBS branch code is the first three digits of the account number. DBS also says that for receiving overseas funds, DBS/POSB’s SWIFT code is DBSSSGSG and that DBS/POSB does not use IBAN, routing number or sort code. This is a good example of why you must use bank-specific instructions.
Hong Kong uses bank and branch identifiers in its clearing system. Hong Kong Interbank Clearing Limited maintains the Clearing Code and Branch Code List, which is the type of reference users may need when a transfer form asks for Hong Kong clearing details. In casual banking language, Hong Kong bank code, clearing code and branch code may appear together, but the form field still matters.
The US and UK do not usually ask users for “branch code” in the same way Singapore or Hong Kong might. The US uses routing-number language. The UK uses sort-code language. If you are filling a US transfer form, look for routing number, not branch code. If you are filling a UK domestic transfer form, look for sort code and account number. Forcing the phrase “branch code” onto every market can lead you to enter the wrong identifier.
Summary: Country context is the biggest reason bank code and branch code feel confusing. The underlying idea is similar—payment systems need bank and sometimes branch-level routing—but the labels differ. The US routing number, UK sort code, Canadian institution and transit numbers, Australian BSB, Singapore bank/branch code and Hong Kong clearing/branch code are not interchangeable. A field that looks similar in length may still belong to a different payment system. Before sending money, check the receiving bank’s country-specific instructions, especially when the transfer crosses markets. If the bank says it does not use IBAN, routing number or sort code, do not invent one. If the bank gives a branch-code rule, apply that rule only to that bank and account type.
When a transfer form asks for a bank code or branch code, first identify the destination country, payment type, currency and receiving bank instructions. A domestic transfer form may need local clearing details, while an international wire form may need SWIFT/BIC, IBAN or intermediary bank details instead. Do not guess based on another country’s terminology. The practical rule is: identify the payment rail first, then match each field to the code system used by the destination bank.
Start with the payment type. Is it a domestic transfer, ACH, local bank transfer, FPS, GIRO, SEPA, international wire, or card-funded remittance? A US ACH transfer will not use the same fields as a Hong Kong local transfer or a euro SEPA payment. Next, check the currency. USD, EUR, GBP, HKD and SGD transfers may use different routing instructions even when the recipient bank is the same.
| Form Field | What It May Mean | What to Enter |
|---|---|---|
| Bank code | Local bank identifier | Receiving bank’s official local code |
| Branch code | Branch or local unit identifier | Official branch code if required |
| Routing number | US-style bank routing identifier | ABA routing number if applicable |
| Sort code | UK routing identifier | Six-digit UK sort code |
| BSB | Australian bank-state-branch code | Six-digit Australian BSB |
| SWIFT/BIC | International bank identifier | Receiving bank’s SWIFT/BIC |
| IBAN | International account identifier | Full IBAN without modification |
For domestic transfers, the form usually expects local clearing terms. Enter the local bank code, branch code, routing number, sort code, BSB or transit number exactly as required by that market. Some banks no longer require a branch name even if a branch code still exists. DBS, for example, states that branch name is no longer required for DBS/POSB bank and branch-code purposes. That does not mean every bank follows the same rule.
For international wires, focus on SWIFT/BIC, IBAN where applicable, recipient legal name, account number, bank address, currency and intermediary bank details if required. CIBC’s wire-receiving instructions, for example, include a SWIFT BIC, branch address and Canadian clearing code format for receiving funds. That kind of bank-provided instruction is more reliable than trying to infer codes from a generic online form.
If the form has an unfamiliar field, pause before submitting. Contact the receiving bank, check online banking details, or ask the recipient for a bank-generated deposit instruction. Do not enter random zeros, abbreviations or an old code unless the form or bank specifically says to do so. Guessing may not save time; it may create a payment investigation later.
Summary: Filling a transfer form is not a vocabulary exercise. It is a routing decision. The right code depends on destination country, payment rail, currency and receiving bank. Domestic transfers often need local clearing identifiers, while international wires often need SWIFT/BIC, IBAN and sometimes intermediary bank details. Your job is to map each form field to the receiving bank’s official instruction, not to convert every label into “bank code” or “branch code.” Before confirming, check four items together: recipient legal name, account number or IBAN, bank identifier and branch/local clearing identifier if required. If any one item does not match, the transfer may be delayed, rejected, returned with fees, or sent for manual review.
The biggest risk with bank code and branch code is not misunderstanding the definition; it is entering the wrong code into the wrong field. A wrong bank code can send a payment toward the wrong institution or cause rejection. A wrong branch code can delay routing or require manual repair. A wrong account number can be harder to correct once processed. In business payments, tuition payments, rent deposits and cross-border remittances, these mistakes can cause fees, missed deadlines and compliance reviews.
Common errors include using a SWIFT code as a local bank code, entering the bank code where the branch code belongs, using an outdated branch code after a bank merger, copying details from an old invoice, or relying on a screenshot that no longer matches the recipient’s current bank details. Fraud risk also matters: scammers may send convincing payment instructions with a real bank name but altered account or branch details.
| Error | Likely Result | Safer Action |
|---|---|---|
| Bank code entered as branch code | Rejection or delay | Recheck field labels |
| SWIFT code entered as local bank code | Transfer repair or failure | Use SWIFT only in SWIFT/BIC field |
| Old branch code used | Manual review or return | Confirm with recipient bank |
| Recipient name mismatch | Compliance hold or rejection | Match legal account name |
| Scam-provided code | Loss or dispute | Verify through an independent channel |
The most reliable verification sources are the receiving bank’s website, online banking account details, official bank statement, bank-generated deposit instruction, clearing-house list or customer support. For Hong Kong clearing information, the HKICL clearing-code list is a useful reference. For Canada, a bank such as CIBC can show how transit and institution numbers appear on cheques or wire instructions. For Australia, a bank such as CommBank explains the BSB structure directly. These sources are more reliable than chat messages, copied emails or old payment templates.
For new recipients or large transfers, a small test transfer can reduce risk. It can confirm that the name, account number and routing details work together. However, a test transfer does not remove all risk. It may still incur fees, take time, or succeed even when a later larger payment triggers additional review. Use it as a risk-reduction step, not a guarantee.
Summary: Verification is the most important step before sending money. Bank code and branch code mistakes often happen because users copy a familiar code from another country, rely on old recipient details, or misunderstand a generic form label. A safe transfer requires alignment among recipient legal name, account number or IBAN, local routing code, SWIFT/BIC if applicable, currency and transfer type. When details come from a chat message or invoice, verify them through a second channel, especially for business payments. For large or first-time transfers, consider a small test payment and keep all receipts. If a transfer fails, do not simply resend with the same details; identify which field caused the failure first.
For cross-border transfers, the right code depends on both the destination country and the payment rail. A bank code or branch code may be enough for a local transfer, but an international payment often needs SWIFT/BIC, IBAN, intermediary bank details, recipient address, purpose of payment and currency-specific instructions. The best approach is to collect all beneficiary details in the exact format requested by the receiving bank, then compare those details with the transfer provider’s fields before submitting.
Cross-border transfer forms often combine domestic and international fields on one screen. This is why mistakes happen. You may see account number, SWIFT/BIC, local bank code, branch code, routing number and intermediary bank on the same form, even though not every field applies to every destination. For example, a transfer to an IBAN country should usually use the full IBAN. A transfer to a non-IBAN country may need a SWIFT/BIC plus a local clearing code or branch code. A USD wire to an overseas bank may need correspondent or intermediary bank details.
| Transfer Scenario | Likely Required Details | Common Mistake |
|---|---|---|
| Local domestic transfer | Bank/branch code + account number | Using SWIFT unnecessarily |
| International wire to IBAN country | IBAN + SWIFT/BIC | Splitting IBAN into guessed fields |
| International wire to non-IBAN country | SWIFT/BIC + account number + local code | Missing local clearing code |
| USD transfer to overseas bank | SWIFT/BIC + intermediary details | Ignoring correspondent bank instructions |
| Business payment | Bank details + invoice or purpose | Missing compliance description |
A good recipient-detail checklist should include recipient legal name, bank name, bank address, account number or IBAN, SWIFT/BIC, local bank code or branch code if required, intermediary bank details if required, currency, payment purpose and reference message. If it is a business payment, include invoice number, contract reference or purpose description where required. These details can help the payment provider and receiving bank match funds correctly.
The currency matters too. A bank may have one set of details for local-currency transfers and another set for USD, EUR or other foreign-currency wires. A local Hong Kong dollar transfer to a Hong Kong bank may use local clearing details; a USD wire to the same bank may require SWIFT/BIC and intermediary bank information. Always use the instruction for the exact currency being sent.
Summary: Choosing the right transfer code is about routing, not wording. Start from the destination country, currency, payment type and receiving bank instruction. If the transfer is domestic, local identifiers such as bank code, branch code, routing number, sort code, BSB or transit number may be enough. If the transfer is international, SWIFT/BIC, IBAN, intermediary bank and compliance details may become more important. Never assume that a code used for a local transfer will work for an international wire, or that an international SWIFT/BIC can replace a domestic branch code. Collect complete beneficiary details before sending, compare them against the form field by field, and keep the confirmation receipt for tracking.
When you manage transfers across different countries, the problem is often not only “which code should I enter,” but also “which route, currency and fee structure should I use.” A multi-currency workflow can involve bank identifiers, exchange rates, SWIFT instructions, local transfer rails and payment records. Biya can help users who need a broader view of cross-border payment and asset activity, especially when payments involve several currencies or accounts. Before sending funds, you can check real-time exchange rates to compare currency conversion assumptions, and use SWIFT lookup to review bank identifier information. If you are planning a personal or business transfer, Biya remittance can support route and currency checks. Bank-transfer details should still be confirmed with the receiving bank, and all payments should follow platform rules, order pages, bank instructions and local regulatory requirements.
A bank code identifies the bank or financial institution, while a branch code identifies a specific branch, local processing unit or clearing point. Exact naming differs by country, so you should follow the receiving bank’s terminology instead of assuming all forms use the same labels.
No. A SWIFT/BIC identifies a bank or business party for international bank messaging, while a bank code is usually a domestic routing identifier. Some international transfers may require both a SWIFT/BIC and a local bank or branch code, depending on destination country and payment method.
No. A branch code identifies the branch or routing unit, while an account number identifies the recipient’s specific bank account. Some banks embed branch information inside account numbers, but you should not assume this unless the receiving bank clearly confirms that format.
For US transfers, routing number usually means the ABA routing number. For other countries, the form may be using generic wording, so confirm whether the destination requires a routing number, sort code, BSB, transit number, SWIFT/BIC or another local clearing identifier.
A bank transfer can fail after entering a branch code if the branch code is wrong, outdated, entered in the wrong field, or inconsistent with the account number and recipient name. Other causes include missing SWIFT/BIC, missing IBAN, unsupported currency route or compliance review.
No. Many international transfers rely on SWIFT/BIC, IBAN or account number instead of a separate branch code. Some non-IBAN countries still require local clearing or branch details, so the receiving bank’s transfer instruction should be treated as the source of truth.
*This article is provided for general information purposes and does not constitute legal, tax or other professional advice from BiyaPay or its subsidiaries and its affiliates, and it is not intended as a substitute for obtaining advice from a financial advisor or any other professional.
We make no representations, warranties or warranties, express or implied, as to the accuracy, completeness or timeliness of the contents of this publication.

