Skip to Content

Biometric Attendance Machines Integration

by

117.23

17.0 0
Live Preview
Required Apps Attendances (hr_attendance)
Employees (hr)
Discuss (mail)
Community Apps Dependencies to_base
Technical Name to_attendance_device
License OPL-1
Also available in version 17.0 16.0 15.0 14.0
You bought this module and need support ? Click here!
Technical Name to_attendance_device
License OPL-1
Also available in version v 17.0 v 16.0 v 15.0 v 14.0

Demo video: Biometric Attendance Machines Integration

The module provides the capability to manage ZKTeco time attendance machines. Additionally, it allows for the management and synchronization of users and data from the time attendance machines to the HR management system.

Key Features

  1. Flexible Connection:
    • Supports connecting attendance machines via IP or domain name, using TCP and UDP protocols.
  2. User Management on Attendance Machines:
    • Delete users from the attendance machines.
    • Import users into the time attendance machine from employee data in Odoo.
    • Automatically map users on attendance machines with employee profiles in Odoo.
  3. Device Management:
    • Support multiple ZKTeco attendance machines at different locations.
    • Support multiple time zones at various locations.
    • Support multiple attendance statuses (e.g., Check-in, Check-out, Start Overtime, End Overtime, etc.).
  4. Attendance Data:
    • Automatically download attendance data from machines and synchronize it with the HR system in Odoo (users can configure automatic or manual synchronization).
    • Automatically clear attendance data from machines according to the configuration or manually clear it.
    • Permanently store attendance data in Odoo.
  5. Security:
    • Authenticate and connect attendance machines with Odoo using passwords.
  6. Supported Devices:
    • Supports various models of ZKTeco machines.
    • Fully tested with the following devices:
      • ZKTeco SENSEFACE 7A
      • RONALD JACK B3-C
      • ZKTeco K50
      • ZKTeco MA300
      • ZKTeco U580
      • ZKTeco T4C
      • ZKTeco G3
      • RONALD JACK iClock260
      • ZKTeco K14
      • iFace702
      • ZKTeco H5L
      • Uface 800 (worked with finger and face)
      • ZKTeco K40
      • ZKTeco K20
      • ZKTeco U580
      • ZKTeco F18
      • ZKTeco F19
      • iFace402/ID
      • iFace800
      • iClock3000
      • iClock880-H
      • iclock 700​
      • Ronald Jack T8
      • Ronald jack 1000Plus
      • ZKTeco MB20
      • ZKteco IN0A-1
      • ZKTeco H5L
      • Uface 800
      • SpeedFace V5L
      • VF680
      • RSP10k1
      • ... (please advise us your machines. Tks!)

Benefits

  1. Automated Attendance Process: This module helps automate the process of downloading in/out data from the attendance machine to the system, minimizing manual work and errors in data entry.
  2. Data Synchronization: Attendance data from the machine is synchronized with the human resource management system, ensuring consistency and accuracy of the data.
  3. User and Employee Management: The module allows managing user information on the attendance machine and linking it with the employee list in the system, making it easy to track and manage.
  4. Reporting and Analysis: Provides the ability to generate reports and analyze attendance data, giving businesses an overview of employee work patterns.
  5. Flexible Integration: Supports multiple ZKTeco device models, allowing businesses to use existing devices without changing infrastructure.
  6. Enhanced Security: Supports integration with various types of attendance machines, allowing businesses to use existing devices without changing infrastructure.
  7. Time and Cost Savings: Automation and optimization of the attendance process help save time and costs for the business.

Who Should Use This Module?

  1. If you want to automate the payroll process, consider using this module.
  2. If you need stricter control over the attendance process, this module is the right choice.
  3. If your company has a large number of employees, using this module will be very helpful.
  4. If your company operates in multiple locations with different time zones, this module will help manage more efficiently.
  5. If you want to store attendance data directly into your system, use this module.

Technical Requirement

  1. Requirement to install the Python library: setuptools
  2. Please configure port forwarding (NAT) to point to your time attendance device

INTRODUCE ADSM ICLOUD FEATURE

Since Odoo 17, new feature was added call 'Icloud' to allow machine to push data into software. Before we only can get data from the machine, some client might get trouble when configure the machine because it need static IP and Modem configuration. With this feature (optional, by default we still use either UDP or TCP one, we encourage to use this icloud option as the last one only because it has some security risk) you only need to configure in the machine by following instruction (this instruction use SpeedFace-H5L[P], but don't worry other machines have the same one):

  • Go to 'Comm' setting of the machine
  • Select Cloud Server Setting and you will see some configuration:
    • Enable Domain Nam: enable this if you going to use domain name
    • Server Address: enter ip address like 192.168.1.1 (check this by going to internet setting) or your domain name like example.viindoo.com
    • Server Port: If it hosted online, probably '443' is fine or any port that your server has. In the local environment it should be the port to run odoo config (8069 for example)
    • Enable Proxy Server (Some machines have): activate Proxy, after that you will need to specify Server IP and Port of the proxy one
    • HTTPS (Some machines have): Support https when pusing data, need to activate this unless you use local environment to develop. Note this, some machines might not have this, in that case it is necessary to change the nginx settings to prevent redirection to https for routers related to machines.
    • Then go to machine manager to create a new one with protocol 'icloud' , we have choose the best setting for you so you do not need to do that
    • Fill the 'Serial Number' (In the machine, go to 'System Info' -> 'Device Info' to see the Serial Number)
    • Hit button 'Upload Setting' to push setting into the machine
    • From now on, your machine is ready to push data into the software

Credit

Tons of thanks to Fananimi for his pyzk library @ https://github.com/fananimi/pyzk

We got inspired from that and customize it for more features (machine information, Python 3 support, TCP/IP support, etc) then we integrated into Odoo by this great Attendance Machine application

Known Issue

  • To make this module work perfectly, your device will need to be available on internet (in case you use online platform like odoo.sh or self-hosted)
  • Don't worry if the device is connected but still cannot download data, it could be one of following reason:
    • Wrong device mode (we support mode call 'Time Attendance' other mode like 'Access Control' will not work)
    • Lacking device configuration (by default some device will ignore the in/out checking stuff therefore we can not download your attendance data)

Whatever the case is, you can always contact us at https://viindoo.com/ticket/team/8 for troubleshooting.

Editions Supported

  1. Community Edition
  2. Enterprise Edition
Odoo Proprietary License v1.0
This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.