VerifyNow guide
How to Verify a Bank Account in South Africa (Step-by-Step Guide)
Use Bank Account Verification with the bank, account number, account type, and the person's ID and name or the company's registration details. The bank-side result shows whether the account exists, is open, matches the supplied holder, and can accept the intended payment.
Verify a bank accountA practical step-by-step walkthrough of how to verify a South African bank account using VerifyNow — from registration to interpreting your first verification response. FICA/POPIA compliant workflow for fraud prevention.

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 real-time AVS for Absa, Access Bank, African Bank, Bidvest Bank, Capitec Bank, Discovery Bank, First National Bank (FNB), Grindrod Bank, GoTyme Bank, Investec Bank, Nedbank, Sasfin Bank, Standard Bank and Bank Zero.
What you need before you start
Bank account verification requires the account-holder identity and bank-account details:
- 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. The current production price is 6 credits per verification. Check the live amount on the pricing page before setting a budget. Completed unsuccessful provider outcomes with response codes 4, 5, 6, or 7 do not deduct customer credits under the published API contract.
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 in the dashboard. 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 same workflow is documented in full at /api-docs. The dashboard and API return the same verification outcome, so your finance team and your developers can work from one source of truth.
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 - Access Bank:
410506 - African Bank:
430000 - Bidvest Bank:
462005 - Capitec Bank:
470010 - Discovery Bank:
679000 - FNB:
250655 - Grindrod Bank:
584000 - GoTyme Bank:
678910 - Investec:
580105 - Nedbank:
198765 - Sasfin Bank:
683000 - Standard Bank:
051001 - Bank Zero:
888000
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
Use one of the account types shown by the form or API: Unknown, Savings, Current, Transmission, Bond, or SubscriptionShare. Copy the type from a current proof of banking when it is available. A wrong selection can produce an account-type mismatch even when the identity and account belong together.
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 name result may need manual review even when the ID number confirms correctly. Treat that combination as a review-and-confirm, not an automatic reject.
ID number
Pass 13 digits, no spaces, no dashes. For companies, use the CIPC registration number and choose the company-registration option in the verification form or API request.
Step 5 — Submit and interpret the response
Press submit. Within a few seconds you'll see a clear verification result. Focus on the business decision, not the technical response fields:
- Account exists — if the account number and branch code do not resolve, stop and re-check the supplier's details before paying.
- Account is open — a closed or inactive account is a payment-risk signal.
- Can receive money — confirms whether incoming payments can be accepted.
- Can accept debits — relevant for subscriptions, debit orders and loan repayments.
- Length open — a newly opened account can justify a manual check when it appears with another mismatch or a changed-payment request.
- ID or company number matches — the strongest fraud-prevention signal. This confirms whether the supplied identity belongs to the bank account holder.
- Account type matches — confirms that the selected account type matches the bank's record.
- Name matches — confirms whether the supplied name aligns with the bank's account-holder record. Initials-only or shortened names may require review.
- Bank reference — keep this reference with your audit record.
- Final result summary — use the plain-language summary as your first pass/fail signal, then review any mismatches before releasing payment.
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 usually fail the account-type or identity match. Choose the company option and use 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 can support a defined step in a FICA customer due-diligence workflow. The institution's Risk Management and Compliance Programme should set the trigger, decision rule, and evidence to retain. Pair the bank result with the identity, beneficial-ownership, screening, and ongoing-due-diligence checks required by that programme.
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 for approved purposes under its service terms. Your organisation remains responsible for selecting a lawful POPIA basis, giving any required notice, limiting access, and using the result for the stated purpose.
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. The check gives the decision-maker bank-side match signals before money leaves the organisation.
For the full response schema and integration guide, see the bank account verification service page and API documentation. For current credit costs, see pricing.