ProjectsPrabhu HRISLive
Prabhu HRIS

Prabhu HRIS

Payroll is unforgiving — it runs on a date whether or not the data behind it is clean. Prabhu covers the whole chain: employees clock in from the app, file cuti, izin or overtime, HR approves, and that record is what the payroll run, the tax calculation and the payslip are built from. My work was on the services behind it and on making the slow parts quick enough to actually use.

What it does

  • Attendance from an Android app, with requests when the clock-in itself needs correcting.
  • Time off in the shapes companies actually use: cuti, izin, sakit and overtime, each with its own approval path.
  • Payroll run built straight from approved attendance, not from a separate re-entry.
  • Income tax calculated on top, with payslips generated and distributed per employee.
  • Employee data, structure and roles managed in one place for HR.
  • Part of a 35% cut in system response time across the Krida product line.

How it fits together

  1. Step 1Clock inEmployee attends from the app
  2. Step 2RequestsCuti, izin, overtime — approved by HR
  3. Step 3Payroll runComponents calculated from approved records
  4. Step 4TaxIncome tax applied on top
  5. Step 5PayslipGenerated and distributed

Diagrams

How the product behaves, and how the pieces behind it talk to each other.

Business flow
Business flow diagram for Prabhu HRIS
System flow
System flow diagram for Prabhu HRIS

Stack

Services
PythonBottleMicroservices
Mobile
Flutter
Web
Server-rendered web app
Data
Relational database

Worth noting

  • Payroll periods are closed data: once a run is locked, a later fix has to be a correction, not an overwrite.
  • The heavy calculations sit in their own service rather than in the request path.
  • Approvals are the source of truth — payroll never reads raw attendance that nobody signed off.
Generating0%