to select ↑↓ to navigate
ZKTeco Biometric Integration for FrappeHR

ZKTeco Biometric Integration for FrappeHR

6.0 User Status Management

User Status Management

This feature uses the ZKTeco device's user management API to actively control whether an employee's biometric is accepted at the device, based on their current attendance state in FrappeHR.

Behaviour on Check-Out (OUT log type)

When an OUT punch is recorded and the Employee Check-in document is created:

  • The system calls the device API to disable the employee's user account.
  • The employee's biometric template remains on the device; it is not deleted.
  • Any subsequent scan by that employee at the device will be rejected until re-enabled.
  • This prevents badge-sharing and tailgating outside of working hours.

Behaviour on Check-In (IN log type)

When an IN punch is recorded and the Employee Check-in document is created:

  • The system calls the device API to re-enable the employee's user account.
  • The employee regains full biometric access.
  • This occurs automatically without any HR admin action.

Prerequisite for This Feature

The employee record must have a userId linked that corresponds to the ZKTeco device user record. If this link is absent, the enable/disable call cannot target the correct device user. The Biometric ID field (used for punch matching) is separate from the userId (used for device user management) ensure both are populated correctly.

Supported Device Firmware

Not all ZKTeco device firmware versions expose the user management API endpoints required for enable/disable. If the feature is not working, check the device firmware version and consult the device vendor's API documentation to confirm support. Error responses from the device API are written to Frappe's Error Log under the title ZKTeco User Status.

Last updated 1 week ago
Was this helpful?
Thanks!