ExN

Case file 001 · Payroll bureau · Southern Africa

The Payroll Month That Checks Its Own Homework

Thousands of payslips a month, one bank file format older than some of the staff it pays, and a checklist that refuses to let anyone skip a step.

ERPNext · Frappe HR · bank file automation

The brief

A payroll bureau runs payroll for other organisations. That means every mistake is somebody else's rent. The ask was simple: move payroll onto ERPNext, and make the month-end close impossible to do out of order.

The file

  1. The bank wants its payment file fixed width, CRLF line endings, Latin-1, and — this is the important part — no trailing newline. One extra line break and the bank politely rejects several hundred salaries.
  2. Payroll month-end was a spreadsheet. The spreadsheet had a tab called "FINAL". There was also a tab called "FINAL (2)". Nobody could say which one the money had followed.
  3. A payroll run had once been processed before the employee changes for that month were loaded. It was fine. It was fixed. Everyone remembered it anyway, which is how you know it was not fine.
  4. Our first fix created the checklist automatically. Nothing created the checklist automatically. We found out in testing, which is the correct place to find out.

What we did

Outcome

Month-end is now a sequence, not a ritual. The bank file is boring. Boring is the highest compliment a payroll system can receive.

"FINAL (2)" has been retired. It served with honour.

(Clients, colleagues and numbers stripped out. The dysfunction is ours to share; theirs isn't.)