HRSB ONE: one platform for people, time and pay.
A single Laravel application that runs people operations for a multi-company corporate group: staff records, biometric attendance, leave, claims, overtime and a monthly payroll that meets Malaysian statutory requirements.
01The problem
A multi-company corporate group needed one system for its people operations: staff records, daily attendance from biometric devices, leave, claims, overtime, and a monthly payroll that meets Malaysian statutory requirements.
The hard part wasn't the number of screens. Different business units follow different overtime approval rules, attendance comes from devices as raw clock punches, and payroll has to be correct every month for every company.
02The solution
HRSB ONE brings these processes together in one Laravel application, used through a browser-based web app and a mobile app API.
| Area | What it covers |
|---|---|
| Staff & organisation | Staff master data, companies, business units, departments, staff categories, bank accounts, documents, contracts, probation, termination, bulk import and export |
| Attendance | Biometric clock integration, punch processing, shift and overnight calculation, attendance justification and approvals, locations |
| Leave | Types, levels, entitlements, applications, approvers, adjustments, yearly grants and carry-forward |
| Claims | Claim types, categories, submission, batch approval and monthly due dates |
| Overtime | Standard overtime and an Energy Cost Control overtime process with planning and multi-level approvals |
| On-call | On-call allowances matched against attendance |
| Payroll & statutory | Payroll runs, payslips, statutory files and forms, bank payment files, year-to-date reporting |
| Finance | Finance dashboards and variance reporting |
| Projects | Project codes linked to overtime planning |
| Assets & licences | Asset register, maintenance, software licences, seats and audits |
| Tickets & memos | Internal ticketing and company memos |
| HSEQ | Health, safety, environment and quality incidents and observations |
| Training | Training records, attendance, evaluations, mentoring and individual development plans |
| Administration | Roles and permissions, data-driven menus, holidays, policies and grievances |
03Implementation
Statutory payroll engine
- Produces EPF, SOCSO, EIS, PCB/LHDN (including EA forms and PCB2) and zakat outputs.
- Generates Maybank M2E bank payment files for salary disbursement.
- Handles year-to-date figures, interns and foreign workers, with claims and overtime pulled into each payroll run.
Biometric attendance pipeline
- Pulls clock punches incrementally from WDMS biometric devices.
- Stores punches and maps device PINs to the right staff, with a screen for unmapped PINs.
- Rebuilds each staff member's day from raw punches: shift hours, overnight duty, paid time off and incomplete days.
- Sends heavy rebuilds and long history syncs to separate queues.
- Emails an alert automatically when a device stops reporting.
Overtime approval workflow
- Requestor
- PM / HOD
- HBU
- VP
Monthly and weekly overtime planning by project, daily requests, delegation and variance reporting. Configurable hour bands decide how far up the chain a request must go, and approved hours are written directly into payroll.
Security & operations
- Role-based permissions control every menu and action.
- Session login for the web app; JWT authentication for the mobile API; push notifications through Firebase Cloud Messaging.
- Containerised with Docker Compose: PHP-FPM, Nginx, and separate Redis-backed queue workers for general jobs, payroll and attendance.
- Scheduled jobs for attendance reminders, contract-expiry and probation notices, claim reminders, yearly leave grants and training evaluations.
- PHPUnit tests covering attendance, payroll, finance, leave, claims and staff contracts.
04Challenges & decisions
Business units approve overtime differently
A multi-level chain with configurable hour bands, so each request goes exactly as far up as its hours require, without a separate workflow per unit.
Large payroll runs blocked other users
Heavy payroll report generation runs on dedicated background workers, so a month-end run doesn't slow down everyone else.
Device syncing collided with core jobs
Split schedulers and separate queues for attendance, payroll and general jobs, so long device history syncs can't delay core work.
Raw punches don't map cleanly to a working day
Rebuild each day from raw punches, handling overnight duty and incomplete days, and surface unmapped device PINs instead of silently dropping them.
Overtime must never be paid twice
Approved hours flow straight into payroll with safeguards against duplicate overtime entries.
05Outcome
HRSB ONE brings the group's people operations into one system of 15+ modules, covering the full path from a clock punch to a statutory payroll file. I led it as lead developer and project manager through Team ChendAwan Ventures.
The code and screens belong to the client, so I can't publish them. I'm happy to walk through the architecture and the decisions above in an interview. Get in touch.