Naughty Bean Consulting
Sheet P-05 NaughtyPay
Sheet P-05 Product Rev B South African SMEs, payroll administrators and bookkeepers

NaughtyPay

South African payroll: PAYE, UIF, SDL, bank files and SARS outputs.

South African payroll has a lot of rules and not much software that respects them. NaughtyPay runs monthly, fortnightly or weekly pay runs for multiple companies, calculates PAYE, UIF and SDL, and produces payslip PDFs, a bank EFT file for FNB, Standard Bank, ABSA, Nedbank or Capitec, and an Excel journal for the accountant.

Leave follows the BCEA, with a public-holiday-aware working-day count, an approval workflow, and approved unpaid leave flowing into the next run. Employees get a mobile self-service portal for payslips, leave, expense claims and detail changes, with WhatsApp notifications.

Filing outputs cover the EMP201, the bi-annual IRP5/IT3(a) submission for e@syFile, the UIF declaration for uFiling and MIBFA contributions, each with pre-filing validation. The statutory outputs are being verified line by line before general release, which is why this sheet is stamped in build.

Fig. 2 System diagram
Notes — what it does
  1. Monthly, fortnightly or weekly pay runs with a calculate, review and finalise workflow.
  2. PAYE, UIF and SDL calculated per run; SA ID validation derives date of birth and gender.
  3. BCEA leave with a public-holiday-aware working-day count and an approval workflow; approved unpaid leave flows into the next run.
  4. Payslip PDFs, an Excel accounting journal and a bank EFT file for FNB, Standard Bank, ABSA, Nedbank or Capitec.
  5. EMP201, bi-annual IRP5/IT3(a) for e@syFile, UIF declarations for uFiling and MIBFA contribution files, each with pre-filing validation.
  6. Employee self-service for payslips, leave, expense claims and detail changes, with WhatsApp notifications.
  7. Payroll summary, leave-liability and journal reports.
Bill of materials
ItemLayerComponent
01FrameworkPython 3.12, Django 5.2
02DatabasePostgreSQL
03Front endHTMX, Alpine.js, Tailwind CSS v4; mobile employee self-service portal
04DocumentsWeasyPrint for payslip PDFs, openpyxl for the accounting journal
05Admindjango-unfold
06Testingpytest across the statutory calculation engine

Integrations

FNBStandard BankABSANedbankCapitecSARS e@syFileDoL uFilingMIBFAWhatsApp
Request for quotation

Tell us what to build.

A web app, a mobile app, a platform, an integration nobody else wants to touch. Send the brief, we reply with questions, a scope and a price.