Why it was built
Most attendance machines come with desktop software that pulls punches from the machine over the office network. That PC has to stay on, every branch needs its own copy, and the owner cannot see today's attendance from home.
The same machines can also push every punch to a server on the internet. PunchSync is that server: you install it on your own hosting, point the machines at it, and see live attendance from any browser — without a monthly fee per employee.
Who it is for
- Shops, salons, clinics, factories and offices with one or more ZKTeco / eSSL push machines
- Owners with several branches who want one place to see everyone
- Developers and IT partners who set up attendance for clients and want full source code
- Payroll or HR apps that need attendance through an API or webhooks
What is inside
| Part | Details |
|---|---|
| Built with | Laravel 13 · PHP 8.3+ · SQLite or MySQL / MariaDB |
| Machines | ZKTeco, eSSL and other machines with a Cloud Server Setting / ADMS (push) menu |
| Hosting | Any PHP hosting, including shared hosting with cPanel — no fixed IP needed at the office |
| Reports | Daily and monthly attendance, punch log, CSV and PDF with your logo |
| Connect | REST API with keys, signed webhooks with automatic retries |
| You get | Full source code, an install wizard, and offline documentation |
Built from a real machine's messages
Before release, PunchSync's machine handling was matched, message by message, to the real messages of a ZKTeco F22 (push v3 firmware) that sends attendance every day in a live business — registration, punches and commands. The setup problems seen on that machine (HTTPS left on, a keypad with no dot key, a wrong clock) are built into the app's setup guide.
Have a different model? Send us its name before you buy and we will tell you honestly whether it should work.