- Published on
How to Verify a Bank Account in South Africa (Step-by-Step Guide)
- Authors

- Name
- Verify Now
- https://x.com/verifynowza
How to Verify a Bank Account in South Africa (Step-by-Step Guide)
If you run a business in South Africa, a single mistyped bank account or swapped PDF invoice can cost you six figures. Payment redirection fraud, payroll skimming, and refund fraud all start the same way: a bank account that looks legitimate but isn't owned by the person you think owns it. Bank account verification fixes that in seconds.
This guide walks through exactly how to verify a South African bank account using VerifyNow — from creating an account to reading your first response. It is written for SMEs, finance clerks, payroll administrators and compliance officers in Johannesburg, Cape Town, Durban, Pretoria, Port Elizabeth, Bloemfontein and everywhere else in South Africa who need to make pay / do-not-pay decisions fast and defensibly.
Why bank account verification matters for South African businesses
Three things typically push a business into using bank account verification:
- Fraud prevention. Business Email Compromise (BEC) is rampant in South Africa. A criminal intercepts a supplier's invoice, swaps the banking details, and your accounts payable clerk wires the money to the fraudster. Verifying the account holder matches the supplier before payment is the single highest-ROI control you can add.
- FICA due diligence. Accountable institutions under the Financial Intelligence Centre Act must perform customer due diligence (CDD), including confirming the account details used for financial transactions. Bank account verification produces a timestamped, auditable record.
- Payment accuracy. Even without fraud, 7-digit account numbers, swapped branch codes and ID-number typos cause failed or misdirected payments. A real-time check against the bank catches those before the payment leaves your ledger.
VerifyNow supports verifications across all major South African banks including ABSA, First National Bank (FNB), Standard Bank, Nedbank, Capitec, Investec, African Bank, TymeBank and Bidvest Bank.
What you need before you start
Bank account verification has four must-have inputs:
- Account holder identity — the South African ID number (individual), passport number, or company registration / trust number (company).
- Surname and first name (individual) or registered company name (company).
- Bank account number — 7 to 13 digits.
- Bank branch code — 6 digits, either the bank's universal branch code or a specific branch code.
- Account type — Current, Savings, Transmission, Bond or SubscriptionShare.
If you are verifying a company or trust, confirm the registered name on the CIPC record first — a trading name will fail the name match.
Step 1 — Create a VerifyNow account
Go to /register and create an account with your business email. Activation is immediate. Once inside, you land on the VerifyNow dashboard where every product module lives, including bank account verification, ID verification, AML/PEP screening and company verification.
If you already have an account, just sign in — no new onboarding required to use bank verification.
Step 2 — Buy credits
Bank account verification is a metered service. In production it costs 6 credits per verification. Top up your balance on the /buy-credits page. Credits are consumed when the bank responds — so partial network failures don't burn credits. Volume packs are available for high-throughput users like payroll bureaus and conveyancing firms.
You can also run free sandbox verifications before you burn credits. Sandbox mode returns mocked-but-realistic responses so you can test your workflow, dashboard filters, and API integration end-to-end without any charge.
Step 3 — Open the Bank Account Verification dashboard
From the VerifyNow platform, navigate to Bank Account Verification (/bank-account-verification). The page has a single form with the fields listed above and a Submit button. There is no queue, no waiting list — bank verifications are real-time.
If you prefer API integration, the equivalent endpoint is documented in full at /api-docs: POST /api/external/bank-account-verification. The dashboard and API return identical payload shapes.
Step 4 — Enter the details correctly
This is where most mistakes happen. A few South Africa-specific tips:
Branch codes
Every major SA bank has a universal branch code that routes to any branch:
- ABSA:
632005 - FNB:
250655 - Standard Bank:
051001 - Nedbank:
198765 - Capitec:
470010 - Investec:
580105 - African Bank:
430000 - TymeBank:
678910 - Bidvest Bank:
462005
Universal branch codes work for the vast majority of verifications. If the bank returns a branch-specific error, re-run with the branch-specific code from the supplier's proof of banking.
Account type
Account type matches are case-sensitive. "Cheque" and "Current" are the same thing for verification purposes — use Current. Savings covers most Capitec GlobalOne and TymeBank EveryDay accounts. When in doubt, use Savings for individuals and Current for businesses.
Name and initials
Pass the first name as recorded at the bank, not a preferred name. If the customer's ID says "Thandiwe" and their bank account says "Thandi", the nameMatch field may return "No" even though it is the same person. The identityMatch field will still confirm the ID number matches. Treat that combination as a review-and-confirm, not a reject.
ID number
Pass 13 digits, no spaces, no dashes. For companies, pass the CIPC registration number in the same field and set identityType to CompanyRegNumber.
Step 5 — Submit and interpret the response
Press submit. Within a few seconds you'll see a structured response. Each field has a clear job:
accountFound— "Yes" or "No". If "No", the account number and branch code combination doesn't exist. Stop and re-check the supplier's details.accountOpen— Is the account currently active? A "No" here usually means the account was closed.acceptsCredits— Will the account receive incoming payments? Some frozen accounts don't.acceptsDebits— Will the account accept debit orders? Relevant for subscriptions and loan repayments.lengthOpen— How long the account has been open. Accounts less than 30 days old are a higher fraud signal.identityMatch— Does the supplied ID number match the account holder on record at the bank? This is the single strongest fraud signal.accountTypeMatch— Does the account type you supplied match the bank's record?nameMatch— Does the supplied name match? Initials-only matches may return partial.bankReference— The bank's internal reference for this check. Log it for audit.bankStatusCode— Status code from the bank. "0" means clean.identity_and_account_verified— A Boolean that istrueonly whenaccountFound,identityMatchandnameMatchall return "Yes". Use this as your default pass/fail gate.summary— A human-readable summary like "Identity, Bank Account and Name Verified".
Common pitfalls (and how to avoid them)
- Wrong branch code. The supplier sends you a 4-digit branch code. That's an old-style code — SA has standardised on 6 digits. Use the universal branch code for the bank.
- Initials vs full names. Passing "J Smith" when the bank has "John Smith" may return a partial name match. Pass the full first name.
- Capitec Pay accounts. Capitec's GlobalOne is a transactional account even though many customers call it a savings account. Use
Savingsunless the customer specifies otherwise. - TymeBank branch codes. TymeBank uses a single universal branch code — there are no physical branches to differentiate.
- Company vs individual. Running a company verification with an individual's ID number will return
accountTypeMatch: "No". SettypetoCompanyand pass the registration number. - Cross-border accounts. VerifyNow verifies South African bank accounts. For foreign accounts, a bank verification will not resolve.
FICA and POPIA context
For accountable institutions, bank account verification plugs directly into your FICA CDD workflow. FICA Section 21 requires you to verify customer identity using reliable sources; FICA Section 22 requires you to keep those records for 5 years. A logged bank verification gives you both. Pair it with a separate AML/PEP screening and an ID verification for a complete CDD record.
Under POPIA, the personal information you process during a verification (name, ID number, account number) is protected personal information. Keep it to the minimum you need, keep it secure, and keep it only as long as you must. VerifyNow stores the audit trail on your behalf.
Legal basis — the short version
VerifyNow provides bank account verification exclusively for fraud detection and fraud prevention purposes. That is a prescribed purpose under Regulation 18(4)(b) of the National Credit Act and a recognised legitimate interest of the responsible party under Section 11(1)(f) of POPIA. Any other use is prohibited by our terms. By using the service you confirm your legal basis for processing is fraud prevention.
Next steps
- Read the full field reference on the bank account verification service page.
- Check current credit pricing on /pricing#bank-account-verification.
- Review the API contract on /api-docs if you want to integrate the check into your ERP or accounting software.
- Explore other verifications (ID, AML/PEP, CIPC, vehicle, licence) from the services catalogue.
Ready to verify your first bank account?
Create an account at /register, buy credits on /buy-credits, and run your first bank verification. Whether you're in Sandton, Rosebank, Umhlanga, Stellenbosch or anywhere else in South Africa — your first verification can be live in under ten minutes, and it is the single best control you can add to your accounts payable, payroll and customer onboarding process.
For the full response schema and integration guide, see the bank account verification service page and API documentation. For current credit costs, see pricing.