Stopping ghost workers and bank detail fraud
How a contractor can stop wages going to workers who do not exist or to bank accounts someone quietly changed, with the checks Achekam payroll applies.
By Achekam · · 5 min read · For Construction businesses in South Africa, Nigeria, Kenya
Construction payroll is a target. Crews change from week to week, labour is often hired through a foreman, many workers are paid weekly, and the people who know who was actually on site are rarely the people who process the wages. That gap is where ghost workers live.
A ghost worker is a name on the wage sheet that nobody on site has met, with pay going into an account controlled by someone inside the business. Its cousin is the changed bank account: a real worker, a real wage, but the account number quietly swapped for someone else's just before payday.
Both frauds rely on one person being able to add or change a record and push it through to payment without anyone else looking. The fix is to make sure that never happens.
How wage fraud usually happens on site
The patterns repeat across building firms:
- A worker leaves the crew but stays on the payroll, and their wage keeps going to an account the foreman controls.
- A new name is added during a busy week, with an ID number borrowed from a relative.
- A payroll clerk changes a worker's bank account on the day before the run, pays the wage, then changes it back.
- A large crew is loaded from a spreadsheet, and one extra row slips in among the genuine ones.
None of these needs sophisticated skills. They need a single person with the power to edit and pay. The ACFE, the association of fraud examiners, publishes a Report to the Nations: a global study of thousands of occupational fraud cases that sets out how such frauds are detected and which controls work.
A second person verifies every new or changed bank account
In Achekam payroll, an employee's bank account that one person enters or changes must be verified by another person before it is paid in the payment schedule or the bank file. A clerk can still capture the new details, but the money does not follow them until a colleague has checked them.
The verifier should not simply click through. A good check confirms the change with the worker directly, using a phone number already on file rather than one supplied with the change request, and looks at whether the account holder's name matches the worker.
Importing a crew from a file: all rows or none
When a new contract starts, firms often load a whole crew at once. Achekam can add employees one by one or import them from a CSV file. The import checks every row and writes all rows or none, so a file with a broken line is refused in full rather than half-loaded.
That protects the data, but it does not judge whether each person is real. Before importing, have the site agent sign off the crew list against the site attendance register, and keep that signed list with the import. Any new bank account in the file is still subject to the second-person verification above.
The run is approved by someone it does not pay
A pay run in Achekam is approved by someone other than the person who prepared it, nobody can approve a run that pays themselves, and an approved run is never recalculated. In practice this means a business needs at least two people in payroll roles to run payroll at all.
For a contractor, the approver should be someone who can challenge the run. Before approving, they should look at:
- Who is new on this run, and who has left.
- Which bank accounts changed since the last run, and who verified them.
- Whether the number of people paid matches the crews on site.
Payroll reports show cost, headcount and staff movements by month and by department. If you set up departments for each site or crew, a jump in headcount on one site with no new work on it stands out quickly.
Bank changes requested through self-service
Workers whose login is linked to their payroll record can use self-service to download their payslips, apply for leave, submit expense claims and request detail changes, including a new bank account. These requests go to payroll to decide.
Self-service changes do not skip the control. Even after payroll approves a bank change, a second person still has to verify it before the new account is paid. That matters, because a fraudster who gets hold of a worker's login is one of the ways an account gets swapped.
Paying the run without handing over control
Achekam moves no money. Each approved run has a payment schedule you can download as a CSV, and marking the run paid only records that the payment was made.
South African businesses can also produce a wages file for the bank, in FNB's import layout or as a column-mapped CSV for Standard Bank, Absa, Nedbank or another bank. No bank-file layout for a Nigerian or Kenyan bank ships yet, so contractors in Nigeria and Kenya pay from the payment schedule.
Whichever route you use, the person who releases the payment in online banking should not be the person who prepared the run. Banks' own dual-authorisation settings are worth switching on for wage payments.
A monthly ghost-worker check
Add these to the payroll calendar:
- Compare the site attendance registers with the people paid, crew by crew.
- List every bank account changed in the month and confirm each verification was done by someone other than the person who captured it.
- Look for two workers paid into the same bank account.
- Read the headcount and staff movement report by department, and question unexplained jumps.
- Once a quarter, hand out a payslip or pay confirmation in person on site and match faces to names.
The same separation that protects wages protects purchasing, covered in buying materials: requisition to purchase order and requiring several quotes on big purchases.
Start this month: name a second person for bank verification, make sure your approver is not paid on the run, and walk one site with the wage list in hand.
General guidance only, not advice on your own circumstances. Tax and payroll rules change: check the current position with the authority or your adviser.