---
title: "3.0 Prerequisites & Installation"
space: "ZKTeco Biometric Integration for FrappeHR"
url: "https://docs.navari.co.ke/zkteco/prerequisites"
updated: "2026-05-24"
---

# Prerequisites

The following must be in place before installing:


| Requirement                 | Notes                                                            |
| --------------------------- | ---------------------------------------------------------------- |
| Frappe Framework            | Version 15/16                                                    |
| ERPNext                     | Version 15/16                                                    |
| FrappeHR                    | Version 15/16                                                    |
| ZKTeco Device               | Must have REST API/ICLOCK API enabled; network-accessible via IP |
| Admin credentials on device | Required for JWT authentication and user management calls        |
| Python 3.10+                | Installed as part of the Frappe bench stack                      |


The integration communicates with ZKTeco devices over HTTP/HTTPS on whatever port is configured on the device (typically port 80 or 8080). Firewall rules must permit outbound connections from the Frappe server to the device IP.



# Installation

The following must be in place before installing:


| Requirement                 | Notes                                                            |
| --------------------------- | ---------------------------------------------------------------- |
| Frappe Framework            | Version 15/16                                                    |
| ERPNext                     | Version 15/16                                                    |
| FrappeHR                    | Version 15/16                                                    |
| ZKTeco Device               | Must have REST API/ICLOCK API enabled; network-accessible via IP |
| Admin credentials on device | Required for JWT authentication and user management calls        |
| Python 3.10+                | Installed as part of the Frappe bench stack                      |


The integration communicates with ZKTeco devices over HTTP/HTTPS on whatever port is configured on the device (typically port 80 or 8080). Firewall rules must permit outbound connections from the Frappe server to the device IP.