
Every year South African businesses lose money paying suppliers or employees whose banking details have changed — or whose banking details were fraudulently substituted. The fraud is straightforward: someone intercepts a payment notification, swaps the account number for their own, and the money arrives at the wrong place before anyone notices.
Bank account verification is the check that catches this before the payment goes out. This guide explains how it works in South Africa, which services offer it, and how to integrate it into your supplier onboarding process.
What bank account verification checks
A bank account verification does two things:
- Confirms the account exists and is active — the account number is real and accepting payments at the named bank.
- Matches the account to an identity — the account holder name (or ID number) on record at the bank matches what you were given.
It does not tell you the account balance. It tells you that the details are genuine and belong to who you think they belong to.
How AVS works in South Africa
South Africa has a formal bank account verification infrastructure called Account Verification Service (AVS), operated through BankservAfrica — the same interbank settlement infrastructure that processes EFTs and debit orders.
AVS connects to all major South African banks. When a business submits a verification request with an account number, account holder name, and ID number, the request is routed to the relevant bank, matched against their records, and a response is returned — typically within seconds.
The response is a match/no-match result across three fields:
- Account number valid
- Account holder name matches
- ID number matches
Real-time vs. batch verification:
| Mode | Use case | Response time |
|---|---|---|
| Real-time (AVS-R) | Single account, immediate check | Seconds |
| Batch (AVS-B) | Bulk employee or supplier list | Minutes to hours |
Who provides AVS in South Africa
You cannot access BankservAfrica's AVS directly — you go through an approved intermediary. The main providers are:
BankservAfrica Easy AVS — the original source, accessed via approved partners.
Datanamix — provides a unified API that aggregates AVS across all participating SA banks through a single integration.
Consumer Profile Bureau (CPB) — a credit bureau that includes AVS as part of a broader identity and account verification suite.
Electrum — a fintech infrastructure provider offering AVS as part of a payments API stack.
VerifyNow — a standalone SA bank account verification service with a web portal and API.
For most businesses, the choice comes down to whether you need AVS standalone or as part of a broader KYC/identity check.
The "change of banking details" fraud
The most common fraud pattern AVS protects against in South Africa is the changed banking details scam:
- A fraudster gains access to a supplier's email (or spoofs it convincingly).
- They send an email — often timed to coincide with an upcoming payment — saying the supplier has changed their banking details.
- Your accounts team updates the payment details in good faith.
- The next payment goes to the fraudster's account.
Banks process payments by account number. The beneficiary name you see on your screen is not validated at payment time — it is just metadata. The money goes to the account number regardless of what name you typed.
AVS is the countermeasure: before updating any supplier's banking details, run a verification. If the new account number does not match the supplier's registered ID number, reject the change.
Integrating AVS into supplier onboarding
A simple onboarding flow with AVS:
Supplier submits banking details via form
↓
Your system calls AVS API
↓
┌─────────────────┬──────────────────────┐
│ Match │ No match │
├─────────────────┼──────────────────────┤
│ Approve details │ Flag for manual │
│ Store in system │ review — do not pay │
└─────────────────┴──────────────────────┘
A typical API call to a provider like Datanamix looks like:
const result = await avs.verify({
accountNumber: '62012345678',
branchCode: '250655',
accountHolderName: 'Acme Construction Pty Ltd',
idNumber: '8001015009087',
});
if (result.accountValid && result.nameMatch && result.idMatch) {
await db.approveSupplierBankDetails(supplierId);
} else {
await notifications.flagForReview(supplierId, result);
}
Verifying accounts through transaction data
An alternative verification approach — especially useful for ongoing monitoring rather than one-time onboarding — is to pull a live transaction from the account.
If a client or employee links their bank account via BankLink, you can confirm:
- The account number (learned from the first sync)
- That the account is active and accepting transactions
- That recent transactions exist (the account is being used)
This complements formal AVS by giving you ongoing confidence that an account is still active, not just that it was valid at the point of onboarding.
Getting started
For one-time supplier verification, use a formal AVS provider (Datanamix, VerifyNow, or Consumer Profile Bureau). For ongoing account monitoring — confirming that a linked account is active and transactions are flowing — BankLink's Pulses give you a live data feed.
