How to set up a ZKTeco attendance device with PeopleMuster

PeopleMuster connects to a ZKTeco fingerprint terminal by its IP address on your local network. It pulls new punches over TCP port 4370 every 30 minutes on weekdays, and nothing is installed on the device. Fingerprints stay on the terminal; PeopleMuster receives only who punched and when.

How punches become attendance records

The sync is a pull. PeopleMuster reaches out to the terminal's address, reads the punches it hasn't seen yet, and writes them into the attendance records everyone else reads. You don't point the device at a server or set up an ADMS push.

The attendance header shows how long ago the last sync ran, in minutes. If a terminal stops answering, you see it on the screen the same morning.

Fingerprints stay on the terminal. The sync stores the device user, the device serial and the punch time. That's who punched and when, and nothing more.

Each record carries a check-in, a check-out, working hours and late minutes. Late minutes are measured against the shift assigned to that person, so two people arriving at the same moment can be marked differently and both be right.

Missed scans have a path. Manual punch requests sit in their own tab with an approval step, so a gap gets corrected on the record by a named person.

Reporting sits on top: total records, check-ins, an on-time rate, average working hours, and a split of present, absent, partial and leave. You can filter to late arrivals only and export any date range as CSV.

How to set it up, step by step

1. Find the terminal's IP address on your office network and keep it stable. PeopleMuster connects to that number, so a device that changes address drops out of the sync.

2. Make sure TCP port 4370 on the terminal can be reached from the sync. That's the port the sync reads punches from.

3. In Settings, open Integrations, choose the ZKTeco attendance device and enter the address. We set this up with you as part of the subscription, with no setup fee.

4. Map people. Every person enrolled on the terminal has a device user, and each one is matched to a system user on the mapping page. Refresh Device pulls the current list, and the page shows how many people are still unmapped and what share are matched.

5. Check the first sync. Within half an hour on a weekday, the attendance header shows the last run. The first punches appear against the right names.

Clear the unmapped count in week one. Once a device user is mapped, every punch from that person lands on the right person.

Alongside the terminal: browser check-in

An admin can switch on browser check-in as a second path. A card on the employee dashboard opens in a window around each person's assigned shift. By default it opens an hour before the start and closes two hours after, and the admin sets all four edges.

Both paths write the same attendance record. A missed window turns into a manual punch request for HR to review, just like a missed scan.

Questions people ask

Which port does the ZKTeco sync use?

TCP port 4370. PeopleMuster connects to the terminal's IP address on your local network and reads new punches over that port.

How often do ZKTeco punches sync?

Every 30 minutes on weekdays. The attendance header shows how many minutes ago the last sync ran, so a terminal that stopped answering is easy to spot.

Do I need ADMS or any software on the device?

No. PeopleMuster pulls punches from the terminal over the local network, so nothing is installed on the device and no ADMS push is configured.

Are fingerprints sent to PeopleMuster?

No. Fingerprints stay on the terminal. The sync receives only the device user, the device serial and the punch time.

Can people check in without the terminal?

Yes, once an admin switches on browser check-in. It opens inside a window around the person's shift, and a missed window becomes a punch request for HR to review.