ESS (Employee Self-Service)
Introduction
ESS gives employees a secure portal to view payslips, check attendance summaries, apply for leave, review loans and savings, download Form 16, and see CTC breakdowns—without access to full HR admin screens.
Purpose
ESS enables self-service for:
- Payslip viewing and download
- Leave requests against company policy
- Loan and advance visibility
- Tax Form 16 and savings details
- Static information and CTC disclosure
When to Use
Use ESS when you:
- Roll out employee-facing HR features after payroll go-live
- Reduce HR ticket volume for payslip and leave queries
- Provide statutory Form 16 access at year end
- Complement mobile integrations via root self-service APIs
The ESS Area serves browser UI. Root controllers EmpSelfService and GuardEmpSelfService expose JSON APIs for external apps—see Related Pages.
Overview / Architecture
ESS Area controllers filter data by the logged-in user’s linkage to an employee record and CompID. Layout uses _EssLayout.cshtml with the modern sidebar pattern.
Entry URL: /ESS/EssDashboard/Index
PageID: ESS
Module flag: Ess
Controllers
| Controller | Primary responsibility |
|---|---|
| EssDashboard | Employee home |
| Payslips | Payslip list and print/PDF |
| Attendence | Attendance summary (spelling preserved) |
| LeaveRequestApplication | Leave application submit |
| LeavePolicy | Policy reference |
| LoanAndAdvance | Loan balance and history |
| SavingDetails | Savings scheme details |
| EmployeeCTC | CTC breakdown |
| Form16 | Form 16 download |
| Information | Company / HR information |
Views / Layout
| Asset | Role |
|---|---|
_EssLayout.cshtml | ESS module shell |
| ESS dashboard CSS | Sidebar + card layout |
| Payslip / Form16 views | Print-friendly templates |
DAL
| DAL class | Role |
|---|---|
| EmployeeSelfSerivce_DAL | Core self-service reads (note spelling) |
| Rebursement_DAL | Reimbursement-related reads |
| Payroll-linked SPs | Payslip and Form 16 datasets |
ESS reads predominantly; writes focus on leave applications and loan visibility.
Business Objects
Namespace: BO.ESS
| BO type | Role |
|---|---|
| EmployeeSelfAttendance_BO | Attendance summary |
| LeaveRequestApp_BO | Leave application |
| LoanAndAdvance_BO | Loan/advance rows |
| Reimbursement_BO | Reimbursement claims |
Employee identity is resolved from user account linkage, not anonymous access.
Typical Workflow
Employee monthly self-service path:
Data Flow
- Login sets
CompIDand user identity; ESS actions map user to employee ID via SP. - Payslips appear only after payroll process posts results for the period.
- Leave applications write through ESS BO → approval SPs consumed by HR modules.
- Form16 reads annual tax snapshot tables filtered by financial year.
Reports
| Output | Controller |
|---|---|
| Payslip (print/PDF) | Payslips |
| Form 16 | Form16 |
| Attendance summary | Attendence |
Crystal or HTML rendering depends on the action; payslips often mirror payroll outputs.
Permissions
| Gate | Requirement |
|---|---|
| Module flag | dtVerifyUser.Ess == true |
| Session | Valid CompID |
| Employee linkage | User account mapped to employee row |
| Menu permissions | Optional fine-grained ESS menus |
Employees should not receive Payroll or ControlPanel flags on the same account unless intentionally designed for hybrid roles.
Common Issues
| Symptom | Likely cause |
|---|---|
| No payslip for month | Payroll not processed or employee not linked |
| Leave submit fails | Policy window or balance SP rejection |
| Form16 empty | Tax computation not finalized for FY |
| API returns error | Calling root /EmpSelfService without employee context |
Related Pages
Important Notes
/EmpSelfService/GetEmpSelfService returns JSON for integrations. GuardEmpSelfService redirects legacy routes to /EmpSelfService.
EmployeeSelfSerivce_DAL uses Serivce — search the codebase with that spelling when tracing calls.
Common Mistakes
| Mistake | Consequence |
|---|---|
| Granting ESS without employee linkage | Empty dashboard |
| Using admin account for ESS UAT | Misleading permission behavior |
| Expecting ESS to approve leave | Approval happens in HR modules |
Next Steps
- Link test employee to user account with Ess flag.
- Process a test payroll month and confirm payslip visibility.
- Submit a leave request and approve via Attendance/Payroll path.