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. Uses the same compact audit layout as Daily Attendance.
Monthly Attendance Editor
Bulk edit one employee’s entire month. Only changed rows are saved as corrections.
Correction History
Audit history for the selected employee/month.
Attendance Importer
V15-compatible NGteco CSV import. Re-imports preserve the strongest employee/date punch record.
Run Gmail Import
Searches the same attendance Gmail query used by V15, skips Processed Email IDs, imports all CSV attachments, then marks successful Gmail messages read.
Manual CSV Upload
Fallback/import-test path. Select one or more NGteco CSV exports directly from this computer.
Recent Import History
Latest PostgreSQL ImportLog entries. Full administration/audit browsing comes in Phase 3K.
Need Reasons
Only genuinely unresolved exceptions appear here. Select a reason and save; there is no approval queue.
Leave Entitlements
HR must explicitly enter each employee’s entitlement for every calendar year. Previous-year entitlement is not automatically reused.
Enter / Update Employee Entitlement
Saving confirms this employee’s entitlement for the selected year.
Yearly Leave Dashboard
Future Pre-approved leave reserves the remaining balance immediately; Used reflects actual leave dates in the selected year.
Schedule-aware half-day rules
Half-day values are derived from each employee’s assigned schedule. Negative Annual Leave carry is preserved, while positive unused Annual Leave is paid through the January Annual Leave Bonus instead of carrying forward.
Holiday Management
Add Public Holidays or Company Approved Holidays. For a single day, use the same start and end date.
Configured Holidays
Overlapping holiday ranges are not allowed.
Payroll Attendance Summary
Calculated from PostgreSQL using V15 payroll rules plus V16 incomplete-month proration and snapshot-based monetary YTD. FINAL employee payroll can be marked PAID and frozen as an immutable compact snapshot.
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, build version and calculation-engine status. Open this page when you want a fresh health check.
Parity checkpoints
Use these dates when comparing V15 and V16. They contain the known legacy duplicate-row cases.
Add or update employee
Employee master data used by Attendance, Leave and Payroll.
Import employees from attendance records
Adds only employees not already registered by Employee ID or normalized name.
Employees
Employee master list, ordered by Employee ID.
Add or update schedule
Schedule times are used directly by Attendance, half-day Leave fractions and Payroll.
Schedules
Existing schedules. Editing a schedule immediately affects employees assigned to it.
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.
Administration
Automatic Gmail attendance import, run status and PostgreSQL audit/log views.
Automatic Gmail Attendance Import
Server-side Gmail access continues even when this portal is closed.
Automatic Import Runs
Latest scheduled/manual server-side Gmail checks.
Import Log
Attendance file import results and errors.
Processed Emails
Gmail message IDs already handled by V15/V16 duplicate protection.
Audit Log
Latest business-data and administration changes.
Performance Log
Fresh V16 telemetry only. Rows older than 90 days are automatically removed.
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.