HR Timekeeping + Payroll Prep System
Automated attendance tracking and eliminated manual payroll calculations.
The Context
A manufacturing company with 200+ shift workers across day, night, and weekend shifts was using punch cards and Excel to calculate hours, overtime, and leave. Payroll was run bi-weekly and involved multiple people manually transcribing punches and applying different rules for different contract types. Errors were common and led to corrections, employee complaints, and audit findings.
The Challenge
"HR staff spent nearly a full week every month manually reconciling time logs, resolving missed punches with managers, and calculating complex shift differentials and overtime. Policies differed by union vs. non-union and by shift type. Preparing the final file for their external payroll provider was error-prone, and there was no single audit trail for who approved what."
The Solution
We built a secure, internal web application that digitizes timekeeping from clock-in to payroll export. Employees and managers use it for punches, leave requests, and approvals; HR uses it for exception handling, rule-based calculations, and one-click export in the format required by their payroll provider. The rules engine supports multiple contract types and differentials.
Employee & Manager Portal
- Digital clock-in/out with optional IP restriction and geolocation for remote workers
- Leave request submission (vacation, sick, unpaid) with comments and attachments
- Manager approval workflow with delegation and email notifications
- Personal dashboard for current period hours, overtime, and leave balances
- View and download past pay-period summaries
HR & Payroll Admin
- Automated calculation of regular hours, overtime, and night/weekend differentials by contract
- Exception reporting: late arrivals, missed punches, early departures, with resolution workflow
- One-click CSV export formatted for their external payroll provider (column mapping preserved)
- Comprehensive audit logs for every punch edit, approval, and export
- Configurable pay periods, holidays, and accrual rules for leave
System Interface

HR overview of daily attendance

Manager leave approval workflow

Automated payroll calculation and export

Employee self-service portal
Business Outcomes
Reduced manual payroll preparation time from 5 days to 4 hours per cycle
Eliminated calculation errors related to shift differentials and overtime
Improved employee satisfaction with transparent access to hours and leave balances
Provided a full audit trail for labor compliance and external audits
Architecture Notes & Lessons
Timezone handling and daylight saving time transitions are notoriously difficult in timekeeping software. We store all raw punches in UTC and apply local timezone only at the presentation layer to avoid calculation anomalies. We also learned to involve payroll and union reps early when defining the rules engine—edge cases (e.g. shift spanning midnight, holiday overtime) emerged only during UAT.
Architecture
PostgreSQL stores employees, shifts, contracts, time logs, and leave requests in a normalized schema. The NestJS backend includes a rules engine that applies contract-specific overtime and differential rules; all calculations are deterministic and logged. SSO via Active Directory restricts access to internal users only; role-based permissions separate employees, managers, and HR admins.