Search "bank branch code" and you get a list of numbers. Search "BoP code" and you get a compliance essay. Neither answers the actual question a remote worker or freelancer has the first time a foreign employer or client asks for their banking details: which code goes where, and what happens after the money lands. This page covers both, plus the part nobody mentions, the code that identifies your bank isn't the same as the code that tells SARB why the money arrived.

Quick answer: every major bank's codes in one table

Universal branch code for local transfers, SWIFT code for anything arriving from outside South Africa. If you only need the numbers, here they are; the rest of the page explains what each one is actually for.

BankUniversal branch codeSWIFT / BIC code
FNB250655FIRNZAJJ
Standard Bank051001SBZAZAJJ
Nedbank198765NEDSZAJJ
Absa632005ABSAZAJJ
Capitec Bank470010CABLZAJJ
TymeBank678910CBZAZAJJ
Discovery Bank679000DISCZAJJ
African Bank430000AFRCZAJJ
Bank Zero888000ZERMZAJJ
Bidvest Bank462005BIDBZAJJ
Investec Bank580105IVESZAJJ
Sasfin Bank683000SASFZAJJ
South African Postbank460005Not published, contact Postbank directly

These change rarely, but confirm your own bank's code in its app or with its call centre before sending it anywhere important. A wrong digit on a branch code is usually caught and rejected; a wrong SWIFT code can send money to the wrong country.

Branch codes explained

Most South African banks used to assign a different branch code to every physical branch, so your code depended on which specific branch you'd opened your account at years ago. That's mostly gone. Nearly every major bank now runs a single universal branch code that covers every branch nationwide, the number in the table above works whether you bank in Sandton or Kimberley.

Table of South African bank universal branch codes: FNB 250655, Standard Bank 051001, Nedbank 198765, Absa 632005, Capitec Bank 470010, TymeBank 678910, Discovery Bank 679000, African Bank 430000, Bidvest Bank 462005 and Investec Bank 580105.

A branch code alone is enough for a local EFT, a debit order, or a salary deposit from a South African payer, an employer, an agency, a client with a South African bank account. It's a domestic-only identifier. It tells a South African bank which institution to credit; it says nothing to a bank sitting outside South Africa's payment network.

Giving your code to a foreign employer: you also need a SWIFT code

A branch code means nothing to a bank in London, Austin or Berlin. International transfers run on a different system entirely, SWIFT (the Society for Worldwide Interbank Financial Telecommunication), and the identifier it uses is a SWIFT code, also called a BIC (Bank Identifier Code). An overseas employer's bank needs your bank's SWIFT code to find it at all, your branch code is irrelevant to that step.

Table of South African bank SWIFT codes: FNB FIRNZAJJ, Standard Bank SBZAZAJJ, Nedbank NEDSZAJJ, Absa ABSAZAJJ, Capitec Bank CABLZAJJ, Discovery Bank DISCZAJJ, African Bank AFRCZAJJ, Bidvest Bank BIDBZAJJ, Investec Bank IVESZAJJ and Sasfin Bank SASFZAJJ.

A SWIFT code is 8 or 11 characters: 4 letters for the bank, 2 for the country (always ZA for South Africa), 2 for the location, and an optional 3 for a specific branch. Standard Bank's is SBZAZAJJ, for example. When a foreign employer's HR or payroll team asks "what's your SWIFT code", this is what they mean, not the branch code. Give them both your account number and this code, and the transfer has everything it needs to find you.

How overseas employers actually pay you: Wise, Deel and Gusto

Very few foreign employers wire money to South Africa themselves through their own bank. Most route it through a payment platform built for exactly this, and three come up constantly with remote South African workers: Wise, Deel and Gusto.

Wise has conditional South African Reserve Bank approval as a Category 2 Authorised Dealer in Foreign Exchange with Limited Authority, its first regulatory approval anywhere in Africa, so it can convert foreign currency and pay it into your account directly rather than acting purely as a middleman. Deel and Gusto are payroll platforms a foreign company uses on its own end to manage international hires; Gusto specifically routes non-US payouts through Wise's payment infrastructure behind the scenes. Whichever platform your employer uses, the practical outcome is the same from your side: the money still needs your SWIFT code and account number, and it still arrives as a foreign payment carrying a BoP code, exactly like a direct SWIFT transfer would.

Worked example: a freelancer invoices a US client for $2,000. The client's payroll platform, Deel or Gusto, initiates the payment. It routes through Wise, converts to rand at the ruling rate, and lands in the freelancer's South African account using their SWIFT code (say, CABLZAJJ for Capitec) and account number. The bank asks for a BoP code before releasing the funds, and for general freelance work, that's 297-01, covered below.

Your first payment: the form your bank will ask you to sign

The first time a recurring foreign payment, a salary from a remote job, a regular retainer, hits your account, most South African banks ask you to complete a form declaring the BoP category upfront, rather than asking again on every future payment. Capitec calls its version a Standing Instruction and Indemnity: you declare the BoP category once, and the bank applies it automatically to every future payment matching that instruction, converting the funds and crediting your account without contacting you each time.

One detail worth getting right: Capitec's own form states plainly that it remains valid until cancelled in writing, not for a fixed period like a year. FNB and Standard Bank offer the same underlying mechanism, an agreement to process a recurring inward payment against a declared code without repeat contact, though the exact wording of each bank's form differs. Confirm the specifics with your own bank when you set it up, and keep a copy of what you signed.

BoP codes explained

BoP stands for Balance of Payments. Every time foreign currency crosses into or out of South Africa, SARB requires banks to report why, using a BoP category code, so it can track the country's cross-border money flows. Your bank asks for this code on every inward foreign payment; without one, it won't release the funds.

South Africa's BoP codes were substantially rebuilt under a harmonised framework that took effect industry-wide on 11 August 2026, aligning the codes with the IMF's Balance of Payments Manual (BPM6) and expanding the list to over 900 category and subcategory entries. Most of that expansion covers merchandise trade, mining exports and institutional finance, categories that never touch an individual's salary or freelance income. The codes that actually matter for a remote worker or freelancer are a short list, covered below.

PDF
Download: inward BoP codes for remote workers & freelancers

A quick reference built from SARB's current harmonised codes, effective 11 August 2026. Source cited on every page, not financial or legal advice.

Open the PDF →

Which BoP code applies to you

Three situations cover almost everyone reading this. Pick the one that matches how you're actually paid.

You're employed remotely by a foreign company, living in South Africa

Use code 304, remuneration paid by a non-resident to a resident employee. This is the code for a South African tax resident on a foreign company's payroll with no South African entity involved, the most common situation for a remote employee, current under SARB's 11 August 2026 harmonised list. The pre-2026 code list had no clean equivalent for this exact situation, a resident working remotely from inside South Africa, so if you set up a Standing Instruction before the update, check with your bank that your declared code still matches.

You're a South African resident working temporarily abroad

Use code 303, remuneration paid by a non-resident to a resident employee temporarily abroad. This applies if you're physically overseas for a period but still have the payment deposited into your South African account, a different situation from working remotely from home in South Africa.

You're a freelancer or contractor invoicing a foreign client

Use code 297-01, proceeds for other business services not included elsewhere, if your work doesn't fit a more specific category. If it does, use the specific one instead: 287 for legal services, 288 for accounting, 289 for management consulting, 231 for computer-related services, or 242 for architectural and engineering services. The full list is in the downloadable PDF above.

None of these need to be memorised. Your bank's app or forex desk will usually offer a dropdown or ask you to describe the payment and select the closest match, this page exists so you know which one is actually correct before you're staring at that dropdown.

One thing that trips people up: BoP codes aren't permanent. SARB revises them from time to time, most recently the 11 August 2026 harmonisation covered on this page. If a code you used last year suddenly isn't accepted, that's usually why, ask your bank rather than assuming you did something wrong.

Frequently Asked Questions

What is a universal branch code in South Africa?
A single branch code that works for every branch of that bank nationwide, instead of a different code per physical branch. Nearly every major South African bank has moved to this system, so you use one fixed number, FNB's is 250655, for example, regardless of which branch you originally opened your account at.
What's the difference between a branch code and a SWIFT code?
A branch code routes money within South Africa, for a local EFT, debit order or salary deposit from a South African payer. A SWIFT code (also called a BIC) identifies your bank internationally, so an overseas employer or client's bank knows where to send money from abroad. You need the branch code for domestic transfers and the SWIFT code for anything crossing a border.
What is BoP code 304?
Remuneration paid by a non-resident to a resident employee, the SARB code for a South African tax resident employed remotely by a foreign company with no South African entity involved. It's the code that applies to most people working a remote job for an overseas employer while living in South Africa, current under SARB's harmonised BoP framework effective 11 August 2026.
Which BoP code do I use for freelance income from a foreign client?
Code 297-01, proceeds for other business services not included elsewhere, covers general freelance and contract work. If your work fits a more specific category, legal services (287), accounting (288), management consulting (289) or computer-related services (231) among others, use that code instead since it describes your work more precisely.
Do I need a BoP code for every foreign payment?
Yes, every inward foreign payment into a South African account needs a BoP code, it's how the South African Reserve Bank tracks what cross-border money is for. For a one-off payment you'll usually pick the code yourself in your banking app when the funds arrive. For a recurring payment, a salary or a regular retainer, most banks let you set up a Standing Instruction once, declaring the code upfront, so you don't repeat the process for every payment.
What is a Standing Instruction and do I need to sign one for every payment?
A Standing Instruction is a form your bank asks you to complete once, declaring the BoP category for a recurring foreign payment, so the bank can process each future payment under that same code without contacting you again. Capitec's version, for example, states on the form itself that it remains valid until cancelled in writing, not for a fixed period, though it's worth confirming the exact wording with your own bank since terms can differ.
How do Wise, Deel and Gusto pay me in South Africa?
All three ultimately deposit into your South African bank account using your SWIFT code and account number, the same information a direct SWIFT transfer needs. Wise has conditional SARB approval as a Category 2 Authorised Dealer in Foreign Exchange with Limited Authority, so it can convert and pay out locally. Deel and Gusto are payroll and contractor-payment platforms an overseas employer uses on their end, and Gusto specifically routes international payouts through Wise's payment rails, but the funds still land in your account the same way any other foreign payment does, and still carry a BoP code.
What happens if I use the wrong BoP code?
Your bank may hold the payment and ask for supporting documents or a corrected description before releasing the funds, since the code is what the bank reports to the South African Reserve Bank. It's rarely a serious problem, but it delays access to your own money, so pick the code that genuinely describes the payment rather than guessing, and ask your bank's forex desk directly if nothing on this page's list clearly fits.

Related Reading

Disclaimer: Branch codes, SWIFT codes and BoP codes are provided for general reference and sourced from each bank and from SARB's published FinSurv BoP category framework, but banks can amend their own codes and SARB can revise BoP categories without notice. This is not financial, tax, exchange control or legal advice. Confirm your specific code directly with your bank before relying on it, and consult a registered tax practitioner for advice on your own foreign income. Read full disclaimer →