ZKTeco Attendance Machine: External IP & Odoo Configuration

ZKTeco Compatibility tester:

In order to test the compatibility of your machine with the Odoo module, the following link will redirect you to the folder that contains the tester:

  • Download azk_zkteco_compatibility_checker.exe.
  • Enter your machine IP and Port number, then click “test connection”.
ZKTeco Compatibility Tester
  • If the connection is successful, you will get a message: Connection Successful, Your machine is compatible with Azkatech machine integration module.
  • In case of an error, you will get a message containing error details.

Important Notes:

  • This module works on PaaS (aka Odoo. sh) or on-premises and does not work on the SaaS version.
  • It depends on pyzk which installs automatically. If it didn’t install then copy the content of requirements.txt into the main requirements file.
  • If this system is used across different machines then make sure different users have different device IDs. In other words, you cannot have ID1 for User A on machine 1 and ID1 for User B on machine 2.

Check if the IP for the machine is pingable or not.

Identify Machine IP and Port

  • Ask your system admin to provide you with the IP and port
  • Verify you can connect to that IP and port via telnet (make sure you are on the same network or reachable). To verify you can use telnet via “telnet <machine ip> <machine port>”
  • If you are unable to find the port then you can use a port scanner to scan for the port if you have the IP. Below are two options
    • (Basic /Free)
    • (Highly technical /Free)

Expose the Attendance machine to the cloud

Since the attendance machine is on-premises and is on the cloud then there is a need to expose the attendance machine IP and port to the internet. Below are a few solutions

  • Either do port forwarding if you have static IP and an in-house IT who know how to do it. Once done, from the internet telnet to make sure it is reachable. Make sure to use the external IP and the port configured to be routed to the machine
  • In case no fixed IP or no in-house IT team then use a tool like ngrok to do port forwarding as per below

Reverse Tunneling via Ngrok

If the IP and Port are Pingable but still having issues connecting to our Zkteco
Attendance Addon, then Ngrok will do the trick. Here’s how

  • Navigate to Ngrok’s Website and Signup or Sign in, download and unzip the folder
  • Run Ngrok.exe This will display A Command Prompt window
  • Make sure it has a NON-FREE license so the IP won’t change periodically.
  • Navigate this link and copy the auth token
Auth Token
  • Register the auth token via: ngrok authtoken <Token>
  • Run the process of tunneling via ngrok tcp <IP Adress>:<Port>
  • Example: ngrok (Make sure to be logged in)
  • The following will appear: and it shows that it is forwarding from to internal ip 192.168.15.x and port 8080
Ngrok authtoken
  • Use the forwarded IP and Port (E.g. tcp://
  • In Odoo, Under Attendance app > Attendance Machine > Machine Configuration
  • Create, Add the information as follows:
ZKTeco Attendance Machine
  • Test the connection
Testing connection
  • You’re All Set
Odoo ZKTeco Configuration
  • Ngrok must be installed as a service so that once you restart the VM it will auto-start the tunnel
  • The VM or computer installing ngrok shall be running for the system to work.

Check out our list of Odoo Apps

%d bloggers like this: