MTLHK Attendance Portal
Daily Employee Timesheet
V15-style effective attendance: duplicates → corrections → punch mapping → schedule → reasons → status.
Monthly All Employees
One effective calculated record per employee/date, matching V15 duplicate-resolution rules.
Need Reasons
Only genuinely unresolved exceptions appear here. Select a reason and save; there is no approval queue.
Leave Entitlements
Schedule-aware annual, medical, hospitalisation and unpaid leave calculations using V15 rules.
V15-compatible half-day rules
Standard schedule = 0.60 morning / 0.40 afternoon. Alternate schedule = 0.53 morning / 0.47 afternoon. The two-decimal fractions are the auditable basis used by leave and payroll.
Payroll Attendance Summary
Calculated live from PostgreSQL using the activated V15 payroll rules. Read-only parity phase.
Payroll Inputs
Enter overtime hours, advance payment and PCB / Tax. Attendance overtime evidence is advisory only; HR confirms the final overtime hours.
Overtime Evidence Review
A likely company OT day is flagged when at least 60% of employees with a clock-out are between 17:45 and 18:15, with at least 3 employees present. This is evidence only.
Current Month Input Overview
Loaded in one PostgreSQL request for the selected month.
System Check
Live PostgreSQL counts and calculation-engine status.
Parity checkpoints
Use these dates when comparing V15 and V16. They contain the known legacy duplicate-row cases.
Employees
Live from PostgreSQL.
Schedules
Reason Records
Saved attendance decisions. Edit a reason or remove it. A removed reason can return to Need Reasons when the attendance exception still applies.
Pre-approved Reasons
Use Single Entry for one employee on one date, or Bulk Entry for the same reason across several dates.
Single Pre-approved Entry
Creates or updates the matching employee/date/category storage slot.
Activity
Ready.