Human Resources, Payroll & Staff Operations
A full staff lifecycle suite — employee records, recruitment, attendance & shifts, leave, payroll & payslips, performance appraisals, expense claims and training — plus a self-service hub every staff role can use for their own HR needs. Entirely Basic tier — no AI dependency.
Basic Tier Features
BasicEmployee Directory & Profiles
- Master employee profile extends every staff role — department, designation, employment type/status, grade, reporting manager & shift
- Attach an employee profile to a brand-new user or an existing staff account
- Salary structure (basic, housing, transport, medical, internet, special) and bank details on every profile
- Document vault (ID proof, address proof, qualifications, experience, other) and lifecycle status transitions with validation
- Web UI: /dashboard/admin/hr/employees
Recruitment & Onboarding
- Job requisitions with vacancies, budget and hiring manager assignment
- Candidate pipeline: applied → screening → interview → evaluation → offer → hired/rejected
- Interview notes with round, notes and score captured per candidate
- One-click offer letter generation — auto-produces and emails a PDF offer with compensation details
- Post-hire onboarding checklist — documents collected, background verified, training assigned, equipment allocated, orientation completed
- Web UI: /dashboard/admin/hr/recruitment
Attendance & Shifts
- Daily attendance register with check-in/check-out and manual correction by HR
- Today's live attendance snapshot and monthly summary (working days, present, absent, late, half-day, on leave)
- Configurable shifts — fixed, rotational, flexible or custom — with grace period minutes
- Web UI: /dashboard/admin/hr/attendance
Leave Management
- Leave types: casual, sick, earned, maternity, paternity, bereavement, leave-without-pay
- Approval scoped to HR plus line-manager roles (teacher, accountant, facilities admin, librarian) for their own reportees
- Approve, reject and cancel workflow with approval comments
- Annual leave balance initialization and live allocated/consumed/pending/remaining tracking
- Web UI: /dashboard/admin/hr/leave and /dashboard/my-hr/leave
Payroll, Payslips & Loans
- One-click monthly payroll run computes pay for every active employee with a salary structure on file
- Two-step sign-off (review, then approval) by Admin/Super Admin — payslip PDF generated on approval
- Self-service payslip download for every employee
- Loan and salary advance requests with monthly deduction, subject to Admin approval
- Web UI: /dashboard/admin/hr/payroll and /dashboard/my-hr/payslips
Performance Management
- Appraisal cycles — monthly, quarterly, half-yearly or annual — with a defined participant list
- Employee self-assessment followed by manager review across teaching quality, productivity, attendance, professional conduct and leadership
- Manager review is blocked until the employee's self-assessment is submitted
- Web UI: /dashboard/admin/hr/performance and /dashboard/my-hr/performance
Expense Claims
- Self-service claims across travel, training, meals, supplies and other categories with receipt attachment
- Approve/reject workflow with comments, followed by HR-only reimbursement marking
- Web UI: /dashboard/my-hr/expenses
Training & Development
- HR assigns courses, workshops and certifications with a due date
- Employees progress their own record: assigned → in progress → completed, with certificate URL
- Web UI: /dashboard/my-hr/training
HR Analytics & Reports
- Headcount by department and role, plus year-over-year attrition rate
- Attendance presence rate over any date range
- Payroll cost by department, leave utilization by type, average performance rating by cycle, and recruitment funnel by candidate status
- Pending-approvals widget on the HR dashboard — draft payroll, pending leave and pending expense counts
- Web UI: /dashboard/admin/hr and /dashboard/admin/hr/reports
API Reference — Chapter 19
Employees & Shifts
/api/hr/employeesEmployee directory with department/status/designation/role/search filters
/api/hr/employeesCreate an employee profile — attach to an existing user or create a new one
/api/hr/employees/:id/statusChange employment status with transition validation (active, probation, notice period, resigned, terminated, retired)
/api/hr/employees/:id/documentsAttach an ID proof, address proof, qualification or experience document
/api/hr/employees/:id/reporteesDirect reports of an employee — available to all staff for their own team
/api/hr/shiftsCreate a fixed, rotational, flexible or custom shift
Recruitment
/api/hr/requisitionsOpen a job requisition with vacancies, budget and hiring manager
/api/hr/candidatesAdd a candidate against a requisition
/api/hr/candidates/:idMove a candidate through the pipeline and log interview notes
/api/hr/candidates/:id/offerGenerate and email a PDF offer letter with compensation
/api/hr/candidates/:id/hireMark a candidate hired against the linked User account
/api/hr/employees/:id/onboardingGet or update the post-hire onboarding checklist
/api/hr/employees/:id/shiftAssign a shift to an employee
Attendance & Leave
/api/hr/attendanceMark or correct an employee's daily attendance
/api/hr/attendance/summary/:employeeIdMonthly working days, present, absent, late, half-day and on-leave counts
/api/hr/leave/requestsSubmit a leave request (self, or on behalf of an employee for HR staff)
/api/hr/leave/requests/:id/approveApprove a leave request — scoped to HR and line-manager roles
/api/hr/leave/balances/initializeSet an employee's annual leave allocation for a leave type
Payroll, Performance, Expenses & Training
/api/hr/payroll/runBulk-compute draft payroll for every active employee with a salary structure
/api/hr/payroll/:id/reviewHR marks a draft payroll record reviewed
/api/hr/payroll/:id/approveAdmin/Super Admin approves and generates the payslip PDF
/api/hr/my/performance/:id/self-assessmentEmployee submits their self-assessment before manager review
/api/hr/expenses/:id/reimburseHR marks an approved expense claim reimbursed
/api/hr/training/:id/statusEmployee progresses their own assigned training record
Analytics, Reports & Self-Service
/api/hr/analytics/headcountHeadcount by department and role
/api/hr/analytics/attritionExits, average headcount and attrition rate for a year
/api/hr/analytics/attendancePresence rate, absence rate and late-arrival analytics
/api/hr/reports/payrollPayroll cost report by department
/api/hr/reports/leaveLeave utilization report by leave type
/api/hr/reports/performanceAverage performance rating by appraisal cycle
/api/hr/reports/recruitmentCandidate funnel by status and open requisition count
/api/hr/my/profileSelf-service profile — editable contact, address and emergency contact only
/api/hr/my/payslipsAn employee's own approved payslips
/api/hr/my/reporteesA manager's own direct reports, for the My Team self-service widget
Frontend Pages
| Path | Role | Description | Tier |
|---|---|---|---|
| /dashboard/admin/hr | Admin / Super Admin | HR dashboard — headcount, attrition, presence rate & pending approvals | Basic |
| /dashboard/admin/hr/employees | Admin | Employee directory, filters, and the add-employee flow | Basic |
| /dashboard/admin/hr/employees/:id | Admin | Employee profile — personal, employment, documents, payroll, performance & training tabs | Basic |
| /dashboard/admin/hr/recruitment | Admin | Requisitions and candidate pipeline with offer generation | Basic |
| /dashboard/admin/hr/attendance | Admin | Daily register, monthly summaries and shift management | Basic |
| /dashboard/admin/hr/leave | HR staff + line managers (scoped to their reportees) | Pending approval queue, request history and leave balance setup | Basic |
| /dashboard/admin/hr/payroll | Admin | Run payroll, review/approve records and manage loans & advances | Basic |
| /dashboard/admin/hr/performance | Admin | Appraisal cycles and manager reviews | Basic |
| /dashboard/admin/hr/reports | Admin | Headcount, attrition, attendance, payroll, leave, performance & recruitment analytics | Basic |
| /dashboard/my-hr | Every staff role | Self-service hub — profile, quick links, and a My Team shortcut for managers | Basic |
| /dashboard/my-hr/attendance | Every staff role | Own daily check-in history | Basic |
| /dashboard/my-hr/payslips | Every staff role | Own approved payslip downloads | Basic |
| /dashboard/my-hr/leave | Every staff role | Submit leave, view history and balances | Basic |
| /dashboard/my-hr/expenses | Every staff role | Submit expense claims and view claim history | Basic |
| /dashboard/my-hr/training | Every staff role | Own assigned training progress | Basic |
| /dashboard/my-hr/performance | Every staff role | Own review history and self-assessment form | Basic |
| /dashboard/my-hr/loans | Every staff role | Request and track loans & advances | Basic |
| /dashboard/my-hr/recruitment | Hiring managers (teacher / HR staff) | Requisitions & candidates for postings they're the hiring manager on | Basic |
Mobile Screens
(admin)/hr.tsx(admin)/my-hr.tsx(teacher|accountant|driver|facilities-admin|librarian)/my-hr.tsx