Client: an Egyptian company with 2,400 employees across two sites
An Egyptian employer runs HR and payroll for 2,400 employees on ERPNext, with six ZKTeco biometric terminals across two sites feeding a cloud-hosted system that turns punches into shift-aware late deductions and hourly overtime, implemented in 30 days.
Reading a fingerprint terminal is the easy part, and it is the part every vendor demonstrates. The hard part is everything between the punch and the payslip. A timestamp is not money. Turning one into the other means knowing which shift that employee was on, how much lateness is forgiven before anything is deducted, when extra time stops being goodwill, and how each is expressed in a salary component finance can defend.
At 2,400 people that stops being an integration question and becomes a policy question with an audit trail attached. Six terminals across two sites means roughly four hundred employees per device and a continuous stream of punches, and every month somebody disputes one. If the answer is a spreadsheet nobody can reproduce, the dispute is settled by whoever argues hardest.
We connected the six ZKTeco devices to a cloud-hosted ERPNext and built the rules between them. Punches land as attendance against the employee’s own shift, not a company-wide day. Lateness is measured against that shift and against the grace the client set — two hours — before any deduction exists. Extra time accrues by the hour past a two-hour threshold, so short overruns do not quietly become overtime. Both feed salary components, so the deduction and the bonus arrive with a rule behind them rather than as an adjustment somebody typed.
Because the terminals sit on two sites and the system is cloud-hosted, there is one attendance record for the company rather than one per building, and the payroll run reads from it directly. Thirty days from start to running payroll.
What the system covers
- Six ZKTeco terminals feeding one cloud-hosted ERPNext
- Punches matched to each employee's own shift, not a company-wide day
- Late deduction only after the grace period the client set
- Overtime accrued by the hour past a defined threshold
- Deductions and bonuses land as salary components, not manual adjustments
- One attendance record across both sites
- Payroll run reads attendance directly — no export, no re-keying
- Every figure traceable back to the punch that produced it
Built with
- ERPNext / Frappe
- HR & Payroll
- Shift & Attendance
- ZKTeco biometric integration
- Managed cloud hosting
If your attendance data arrives as a monthly export that someone turns into deductions by hand, that step is the one worth removing. Tell us how your shifts and rules work and we will show you what it looks like when payroll reads the clock directly.
