Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Attendances (hr_attendance)
• Employees (hr) • Discuss (mail) |
Lines of code | 386 |
Technical Name |
hr_zk_attendance |
License | AGPL-3 |
Website | https://www.cybrosys.com |
Versions | 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 |

Biometric Device Integration
This Module Integrates Biometric Device With HR Attendance.

Key Highlights
(Face+Thumb) with HR Attendance.
Integrates Biometric Device (Face+Thumb) with HR Attendance.
Simultaneous Employee in Odoo.
If you create an Employee in Device simultaneously create that Employee in Odoo also. For adding the existing employee of Odoo to Device, create the employee in Device with the same Biometric Device id from Odoo.
Attendance log in Odoo.
Option to keep the Device Attendance log in Odoo.
Clear Attendance.
Option to clear the Device Attendance log from both Device and Odoo.
Restart and set Time of Device.
We can set the timezone of the device and also restart the device.
Supporting Models
This module
support with the following machines :
* uFace202 (ZKteco)
* iFace990 (ZKteco)
-Clients have reported that the module works
well with the following machine :
* K40 Pro (ZKteco)
* SFace900 (ZKteco)
* FR1500 (ZKteco)
* UA760 (ZKteco)
* MB10 (ZKteco)

From the Biometric Device menu, you can
configure your all devices with its IP
address and port number.
- Test Connection - Click
on the Test connection for
connecting with the Device.
- Clear Data - This Button
will clear all Attendance data
from
the Device and Odoo.
- Restart - This Button
will Restart the Biometric
Device.

Click on the Test connection for connecting with the Device.

After configuration, you can download your Device Attendance log into Odoo through 'Download Data' button.If the Device is connected, then the Odoo will download all Device Attendance log. Otherwise, the Odoo will display you a warning message.

Here you can see all Device Attendance log.

Here you can set the Time zone for Device .

Here, Odoo automatically generates HR Attendance log while downloading the Device Attendance.

You can update existing employees with the 'Device Id' which are the id in the Biometric Device. If there is no match with the "Biometric Device id" then system will automatically create corresponding employee.
-
Can Download Attendance
-
Clear Attendance
-
Can Restart Device from odoo
-
Can set timezone of Device.
Initial Commit for Biometric Device Integration.
Added a feature to set the time in Biometric Device Integration.
Related Products
Our Services

Odoo Customization

Odoo Implementation

Odoo Support

Hire Odoo Developer

Odoo Integration

Odoo Migration

Odoo Consultancy

Odoo Implementation

Odoo Licensing Consultancy
Our Industries

Trading
Easily procure and sell your products

POS
Easy configuration and convivial experience

Education
A platform for educational management

Manufacturing
Plan, track and schedule your operations

E-commerce & Website
Mobile friendly, awe-inspiring product pages

Service Management
Keep track of services and invoice

Restaurant
Run your bar or restaurant methodically

Hotel Management
An all-inclusive hotel management application
Support
Got questions or need help? Get in touch.
Say hi to us on WhatsApp!
Please log in to comment on this module
Report comment
Any abuse of this reporting system will be penalizedhope you can make thsi compatible to v18
thank you
automatically generate HR
HI
i use your module for 1 months it s ok
but recently HR generated is not working
all attendance was show in
Attendance Analysis but in Attendances is not added
Re: automatically generate HR
Could you please write an email to odoo@cybrosys.com with more details?
instalasi gagal
Hola funciona con Odoo.sh?
Error while importing module 'hr_zk_attendance'. Module loading hr_zk_attendance failed: file C:\Windows\SERVIC~1\LOCALS~1\AppData\Local\Temp\tmphq7p5jk5\hr_zk_attendance\security/ir.model.access.csv could not be processed: No matching record found for external id 'model_biometric_device_details' in field 'Model' No matching record found for external id 'model_daily_attendance' in field 'Model' No matching record found for external id 'model_zk_machine_attendance' in field 'Model' Missing required value for the field 'Model' (model_id) Missing required value for the field 'Model' (model_id) Missing required value for the field 'Model' (model_id)
Re:
Please note that custom modules with Python or JS files cannot be imported directly via the Odoo Apps interface, which only supports modules with XML files. If you're on Odoo Online, custom module installation is not supported.
If you're using Odoo on-premise, you can manually add the module to your 'custom_addon' folder. After that, make sure to update the 'custom_addons' path in your Odoo config file. For detailed steps, refer to this guide: How to Install a Custom Module in Odoo 16.
IN reply
in reply of your message
you mean selecting the checkedin / checked out option is necessary in punching time?
Good use
by alireza riazi on 9/5/24, 12:55 PM Report
HI
I use this module and I can connect to the device but one isuee I have
we we punching on device (uface) we did not select Check-in / check-out
so all punching entered as check-in
in this situation, when we download data from machine, attendance is not complited
what should I have to do?
Re: Good use
by Cybrosys Technologies on 9/9/24, 1:05 PM Author Report
Please verify the configuration of the device's punch state mode, where you can adjust the setting to fixed, auto, manual, etc. Additionally, review the working time and shift time configured in each employee's details under their working information in the employee module.
Re: IN reply
Yes, If you are using the device for attendance purposes, selecting the punching type at the time of punching is essential. If you are using a single device for both check-in and check-out, you will need to set the punching types to either manual or automatic.
In your biometric device, you can set the punching modes as follows:
Here, you can choose the appropriate mode according to your needs.
For more detailed instructions, please refer to the device user manual
Good use
HI
I use this module and I can connect to the device but one isuee I have
we we punching on device (uface) we did not select Check-in / check-out
so all punching entered as check-in
in this situation, when we download data from machine, attendance is not complited
what should I have to do?
Re: Good use
Please verify the configuration of the device's punch state mode, where you can adjust the setting to fixed, auto, manual, etc. Additionally, review the working time and shift time configured in each employee's details under their working information in the employee module.
Hello Team,
Will this work for uFace800???
Re:
Currently, we have successfully tested only ZKteco model 'uFace 202' & ZKteco model 'iFace990' devices in our apps.
Other devices are not tested from our side. Perhaps it will be compatible with other device models.
Our clients have reported that the following devices work well:
K40 Pro (ZKTeco)
SFace900 (ZKTeco)
FR1500 (ZKTeco)
UA760 (ZKTeco)
MB10 (ZKTeco)
biomitric device connection
hello;
can i use url to connect to the biomitric device instead of the IP address?
Re: biomitric device connection
Yes, you can
Hi, i managed to install it, but after few records, i got this when trying to download data
Validation Error
Close
Cannot create new attendance record for John, the employee was already checked in on 07/26/2024
Re:
The issue occurred due to a time difference between your device and the system.
We've updated our app with a new feature that sets the device time from Odoo.
Unable to install module "hr_zk_attendance" because an external dependency is not met: Python library not installed: pyzk
Hi, i got this error at first.
Then i installed in the debian 12 container like this :
root@odoo16:~# sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
root@odoo16:~# pip3 install zklib
Collecting zklib
Using cached zklib-0.1.1-py3-none-any.whl
Installing collected packages: zklib
Successfully installed zklib-0.1.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
But even with that i still get same error. Can you help?
Re:
This could be due to the library not being installed in the correct Python environment Odoo uses. We recommend ensuring the library is installed in the same environment where Odoo is running. You can achieve this by activating the virtual environment (if you're using one) before installing the library. Here's how you can do it:
source /path/to/your/virtualenv/bin/activate
pip3 install zklib
Copied into addons directory, enable debug, update addons list, but the module wont appear.
Import module and it gives me this error
Module loading hr_zk_attendance failed: file /tmp/tmpgk2jsnha/hr_zk_attendance/security/ir.model.access.csv could not be processed: No matching record found for external id 'model_biometric_device_details' in field 'Model' No matching record found for external id 'model_daily_attendance' in field 'Model' No matching record found for external id 'model_zk_machine_attendance' in field 'Model' Missing required value for the field 'Model' (model_id) Missing required value for the field 'Model' (model_id) Missing required value for the field 'Model' (model_id)
Odoo 17.0-20240711 (Community Edition), please fix thanks.
Re:
This can occur if there are missing dependencies or misconfigurations in the module. So ensure all necessary dependencies for the hr_zk_attendance module are installed and properly configured.
- Does we need to buy the Biotime Software with the Devices ??
- Are you using SQL to connect or API ? because with the API supplier told me I need to buy the Biotime native software with it which is expensive .
- If we have Odoo on cloud and the device in local network how we can connect ?
Thanks for your answer
Sincerely
Re:
Sorry, It wont work with Biotime
zk = ZK(self.device_ip, port=self.port_number, timeout=30, NameError: name 'ZK' is not defined