Attendance (Attendance Punching)
Introduction
The Attendance module (flag AttPunch, Area AttendancePunching) captures daily attendance, supports supervisor approval workflows, maintains shift masters, and produces attendance reports. Approved attendance feeds payroll salary processing.
Purpose
Attendance enables:
- Unit-wise and standard attendance entry
- Supervisor approval queues
- Shift master configuration
- Leave entry at the punching layer
- Unit permission restrictions for field operators
- Printable attendance reports
When to Use
Use Attendance when you:
- Record present/absent/OT days before payroll run
- Approve or reject unit attendance batches
- Configure shifts tied to units or employees
- Export attendance registers for client audit
Payroll Attendance screens read processed data; this module is where raw entry and approval typically occur.
Overview / Architecture
AttendancePunching uses _AttPunchingLayout.cshtml with legacy header-navbar styling (similar to Sales and Operation). DAL classes live under DAL/AttendancePunching/.
Entry URL: /AttendancePunching/AttendanceDashboard/Index
PageID: AttPunch
Module flag: AttPunch
Controllers
| Controller | Primary responsibility |
|---|---|
| AttendanceDashboard | Module home |
| AttendanceEntry | Standard attendance entry |
| AttEntryUnitWise | Unit-wise bulk entry |
| AttendanceApproval | Approval / rejection workflow |
| LeaveEntry | Leave at attendance layer |
| ShiftMaster | Shift definitions |
| UnitPermission | Unit-scoped operator access |
| AttendanceReports | Register and summary reports |
Report viewer pages (.aspx) under the Area support Crystal attendance outputs.
Views / Layout
| Asset | Role |
|---|---|
_AttPunchingLayout.cshtml | Module layout with header-navbar |
AttReportViewer .aspx | Crystal report host |
| Dashboard views | KPI and navigation tiles |
DAL
| DAL class | Role |
|---|---|
| AttendanceEntry_DAL | Entry read/write |
| AttRegDash_DAL | Dashboard metrics |
| ShiftMaster_DAL | Shift CRUD |
Payroll consumes approved rows through EmployeeAttendance_DAL and process SPs after approval completes here.
Business Objects
Namespace: BO.AttendancePunching
| BO type | Role |
|---|---|
| AttendanceDash_BO | Dashboard data |
| AttendanceEntry_BO | Daily attendance lines |
Typical Workflow
Unit attendance from entry to payroll:
Data Flow
- Operator with unit permission opens entry screen for period + unit.
- Rows saved via
AttendanceEntry_DAL→ insert/update SPs withCompID. - Approval controller transitions status flags consumed by payroll verification.
- Reports read finalized attendance for Crystal export.
- Payroll salary process joins the same tables—unapproved batches block accurate pay.
Reports
| Output | Controller |
|---|---|
| Attendance registers | AttendanceReports |
| Crystal viewers | AttReportViewer .aspx pages |
Permissions
| Gate | Requirement |
|---|---|
| Module flag | dtVerifyUser.AttPunch == true |
| Session | Valid CompID |
| UnitPermission | Limits units per operator |
| Approval role | Often separate menu permission for AttendanceApproval |
Common Issues
| Symptom | Likely cause |
|---|---|
| Payroll shows zero days | Batch not approved in AttendanceApproval |
| Unit missing in dropdown | UnitPermission not assigned |
| Shift not applied | ShiftMaster not linked to unit |
| Report blank | Period/unit filter mismatch |
Related Pages
- Payroll
- ESS
- Registration — UnitPermission pattern
Important Notes
Salary process assumes attendance approval completed for the target month and unit. Skipping approval is the most common payroll discrepancy root cause.
UI differs from modern Payroll sidebar—do not mix layout partials when customizing views.
Common Mistakes
| Mistake | Consequence |
|---|---|
| Editing attendance after payroll processed | Requires reversal/reprocess |
| Using AttendanceEntry when AttEntryUnitWise needed | Incomplete unit bulk entry |
| Same user entry + approval without segregation | Weak internal control |
Next Steps
- Configure ShiftMaster and UnitPermission for pilot units.
- Enter and approve one month before payroll UAT.
- Reconcile AttendanceReports register with Payroll attendance screen.