v 14.0 Third Party 156
Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Attendances (hr_attendance)
Employees (hr)
Discuss (mail)
Community Apps Dependencies
Lines of code 5180
Technical Name to_attendance_device
LicenseOPL-1
Websitehttps://viindoo.com/apps/app/14.0/to_attendance_device
Versions 10.0 12.0 14.0 13.0 11.0 15.0 16.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Attendances (hr_attendance)
Employees (hr)
Discuss (mail)
Community Apps Dependencies
Lines of code 5180
Technical Name to_attendance_device
LicenseOPL-1
Websitehttps://viindoo.com/apps/app/14.0/to_attendance_device
Versions 10.0 12.0 14.0 13.0 11.0 15.0 16.0

Key Features

  • Support both UDP and TCP for large attendance data (tested with a real machine that store more than 90 thousand attendance records)
  • Support connection with either domain name or IP
  • Authenticate devices with password.
  • Multiple Devices for multiple locations
  • Multiple device time zones at multiple locations
  • Multiple Attendance Status support (e.g. Check-in, Check-out, Start Overtime, End Overtime, etc)
  • Store fingerprint templates in employee profiles to quickly set up new device (Added since version 1.1.0)
  • Delete Device's Users from Odoo
  • Upload new users into the devices from Odoo's Employee database
  • Auto Map Device Users with Odoo employee base on Badge ID mapping, or name search mapping if no Badge ID match found
  • Store Device Attendance data permanently
  • Manual/Automatic download attendance data from all your devices into Odoo (using scheduled actions)
  • Manual/Automatic synchronize device attendance data with HR Attendance so that you can access them in your salary rules for payslip computation
  • Automatically Clear Attendance Data from the Device periodically, which is configurable.
  • Designed to work with all attendance devices that based on ZKTeco platform.
    • Fully TESTED with the following devices:
      • RONALD JACK B3-C
      • ZKTeco K50
      • ZKTeco MA300
      • ZKTeco U580
      • ZKTeco T4C
      • ZKTeco G3
      • RONALD JACK iClock260
    • Reported by clients that the module has worked great with the following devices
      • ZKTeco K40
      • ZKTeco U580
      • iFace402/ID
      • ZKTeco MB20
      • ZKteco IN0A-1
      • Uface 800
      • ... (please advise us your devices. Tks!)

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 (device information, Python 3 support, TCP/IP support, etc) then we integrated into Odoo by this great Attendance Device application

Editions Supported

  1. Community Edition
  2. Enterprise Edition

Installation

  1. Navigate to Apps
  2. Find with keyword 'to_attendance_device'
  3. Install it as usual then you are done

Concepts

  1. Device Location: is a model to store locations where your attendance devices are installed. Each location consists of the following information

    • Name: the name of the location.
    • Time zone: the time zone of the location. This is to support for attendance logs at multiple locations of different time zones
  2. Attendance State: is a model to store states of attendance activity that can be defined by users. States could be Check in, Check out, Overtime Check in, Overtime Start, etc. Please navigate to Attendance > Configuration > Attendance Status to see the list of default states that were created during installation of this application.

  3. Attendance Activity: is a model that classifies attendances in activities such as Normal Working, Overtime, etc. Navigate to Attendance > Configuration > Attendance Activity to see the list of default activities that were created during installation of this application. Each Attendance Activity is defined with the following

    • Name: the unique name of the activity
    • Attendance Status: List of the attendance states that are applied to this Activity.
  4. Device User is a model that stores all the devices' users in your Odoo instance and map such the users with Employees in the system. Each Device User consists of (but not limited to) the following information

    • Name: The name of the user stored in the device
    • Attendance Device: The device to which this user belong
    • UID: The ID (technical field) of the user in the device storage, which is usually invisible at the device's inteface/screen
    • ID Number: The ID Number of the user/employee in the device storage. It is also known as "User ID" in some devices
    • Employee: the employee that is mapped with this user. If you have multiple device, each employee may map with multiple corresponding device users
  5. User Attendance: is a model that stores all the attendance records downloaded from all the devices. In other words, it a central database of attendance logs for all your devices. This log will be used as the based to create HR Attendance. During that creation, the software will also check for a validity of the attendance to ensure that the HR Attendance data is clean and valid.

  6. HR Attendance: is a model offered by the Odoo's standard module hr_attendance and is extended to have the following fields

    • Check In: the time of check in
    • Check Out: the time of check out
    • Employee: the related employee
    • Checkin Device: the attendance device that logged the check in
    • Checkout Device: the attendance device that logged the check out

    HR Attendance records is created automatically and periodically by the Scheduled Action named "Synchronize attendances scheduler"

  7. Employee: is a model in Odoo that is extended for additional following information

    • Unmapped Devices: to show the list of attendance devices that have not get this employee mapped
    • Created from Device: to indicate if the employee profile was created from device (i.g. Download users -> auto create employee -> au map them). This will helps you filter your employees to see ones that were or were not created from devices
  8. Attendance Device: is a model that store all the information of an attendance device. It also provides a lot of tools such as

    • Upload Users: to upload all your employee to an attendance device (e.g an new and fresh device)
    • Download Users: to download all the device's users data into odoo and map those users with employees (if auto mapping is set)
    • Map Employee: to map device users with employees in your Odoo instance
    • Check connection: to check if your Odoo instance could connect to the device
    • Get Device Info: to get the most important information about the device (e.g. OEM Vendor, Device Name, Serial Number, Firmware Version, etc)
    • Download Attendance: to download manually all the attendance data from the device into your Odoo database, although this could be done automatically be the scheduled action named "Download attendances scheduler"
    • Restart: to restart the device
    • Clear Data: this is to empty your data. It is very DANGEROUS function and is visible to and accessible by the HR Attendance Manager only
    • And many more...

Setup a new attendance device

  1. Navigate to Attendances > Attendance Devices > Devices Manager
  2. Click Create button to open device form view
  3. Input the name of the device (optional)
  4. Enter the IP of the device. It must be accessible from your Odoo server. If your Odoo instance is on the Internet while the device is in your office, behind a router, please insure that port forwarding is enabled and the device's network configuration is properly set to allow accessing your device from outside via Internet. You may need to refer to your router manufacturers for documentation on how to do NAT / port forwarding
  5. Port: the port of the device. It is usually 4370
  6. Protocol: which is either UDP or TCP. Most the modern devices nowadays support both. TCP is more reliable but may not be supported by a behind-a-decade device
  7. Location: the location where the device is physically installed. It is important that the time zone of the location should be correct.
  8. You may want to see other options (e.g. Map Employee Before Download, Time zone, Generate Employees During Mapping, etc)
  9. Hit Save button to create a new device in your Odoo.
  10. Hit Check Connection to test if the connection works. If it did not work, please troubleshoot for the following cases
    • Check network setting inside the physical device: IP, Gateway, Port, Net Mask
    • Check your firewall / router to see if it blocks connection from your Odoo instance.
    • Try on switching between UDP and TCP
  11. Map Devices Users and Employees
    • If this is a fresh device without any data stored inside:
      • Hit Upload users
    • If this is not a fresh device,
      • you may want to Clear Data before doing the step 10.1 mentioned above
      • Or, you may want to Download Users and map them to existing employee or create a new employee accordingly
    • Validate the result:
      • All Device Users should link to a corresponding employee
      • No unmapped employees shown on the device form view
  12. Test Attendance Data download and synchronization
    • Do some check-in and check out at the physical device
      • Wait for seconds between check in and check out
      • Try some wrong actions: check in a few times before check out
    • Come back to the device form view in Odoo
      • Hit Download Attendance Data and wait for its completion. For just a few attendance records, it may take only a couple of seconds even your device is located in a country other than the Odoo instance's
    • Validate the result
      • Navigating to Attendances > Attendance Devices > Attendance Data to validate if the attendance log is recorded there.
      • If found, you are done now. You can continue with the following steps to bring the new device into production
        • Clear the sample attendance data you have created:
          • Navigate to Attendances > Attendance Devices > Attendance Data, find and delete those sample records
          • Navigate to Attendances > Attendance Devices > Synchronize and hit Clear Attendance Data button
        • Hit the Confirmed state in the header of the device form view. If you don't do it, the schedulers will ignore the device during their runs
      • If not found, there should be some trouble that need further investigation
        • Check the connection
        • Try to get the device information
        • Check the work codes of the device if they are match with the ones specified in the "Attendance Status Codes" table in the device form view
        • Contact the author of the "Attendance Device" application if you could not solve the problem your self.

Set up for a new Employee

  1. Create an employee as usual
  2. Hit the Action button in the header area of the employee form view to find the menu item "Upload to Attendance Machine" in the dropped down list
  3. Select the device(s) that will be used for this employee then hit Upload Employees button
  4. You can also do mass upload by selecting employees from the employee list view. Or go to the devices

How the automation works

There are two schedule actions:

  1. Download attendances scheduler: By default, it runs every 30 minutes to
    • Download the attendance log/data from all your devices that are set in Confirmed status. Devices that are not in this status will be ignored
    • Create User Attendance records in your Odoo database
    • Depending on the configuration you made on the devices, it may also do the following automatically
      • Create new employees and map with the corresponding device users if new users are found in the devices
      • Clear the attendance data from the device if it's time to do it.
  2. Synchronize attendances scheduler: By default, it runs every 30 minutes to
    • find the valid attendance in the user attendance log
    • create HR Attendance records from such the log
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.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
There are no ratings yet!
hkvision
by
Eduardo Lecuna
on 1/30/24, 3:03 PM

hi this work whit hkvision?


zkteco a8-c
by
LACT
on 7/4/23, 4:25 PM

Is this module compatible with the biometric reloj zkteco a8-c


Compativility
by
LACT
on 7/4/23, 4:23 PM

This module to_attendance_device vs 14.0 Is compatible with Odoo 14.0 Entrerprise?


push data from device to odoo
by
Muhammad Zubair Riaz
on 6/26/23, 10:33 PM

HI, I just want to know know, what if device remain on remote location and on Intranet, no port forwarding is possible due to GSM Internet, So will it support devices with push service like ADMS / WDMS in ZKtech, that devices can send data to destination server, and server will not contact to get data but will accept data, In this case only server will be on Static IP or Domain (at lease public IP).

Please let us know if this facility is available. Thanks


by
HASNAIN ALi
on 3/16/23, 2:28 PM

Is it working on Odoo sh?

Re:
by
Viindoo Technology Joint Stock Company
on 3/16/23, 7:12 PM Author

Yes, it is.


by
Michael Del Rosario - PoC
on 3/6/23, 12:33 AM

does it work on zkteco multibio 800-h and Zteco F7

Re:
by
Viindoo Technology Joint Stock Company
on 3/16/23, 7:14 PM Author

Not tested with those but I believe it works. Please use the demo instance to test with those machines. Or contact Viindoo Sales if you need a private demo instance.


by
Muhammad Ibrahim
on 9/14/22, 3:15 AM

Does it work on odoo.sh v15 or v14

Re:
by
Viindoo Technology Joint Stock Company
on 3/16/23, 7:15 PM Author

Yes, it does.


by
gitaum@linkyou.co.ke
on 8/3/22, 8:38 PM

Dear Sir/Madam

 I need version 15 of this app, Is it available yet?


Regards

Re:
by
Viindoo Technology Joint Stock Company
on 8/5/22, 5:53 AM Author

It is currently available at: https://viindoo.com/apps/app/15.0/to_attendance_device


Does this work for V15?
by
Francisco Di Polo
on 7/21/22, 2:20 PM


Re: Does this work for V15?
by
Viindoo Technology Joint Stock Company
on 7/21/22, 6:03 PM Author

https://viindoo.com/apps/app/15.0/to_attendance_device


ZKTECO MINI AC PLUS
by
Abu Irfan
on 7/20/22, 8:40 PM

Hi,

We are using the ZKTECO MINI AC PLUS (3 devices in different locations)

I would ask you if this model is compatible with your module, 

Thank you in advance.

Re: ZKTECO MINI AC PLUS
by
Viindoo Technology Joint Stock Company
on 7/20/22, 9:13 PM Author

Yes, it should be, as it is a zkteco based machine.


V15
by
Adel Beltran
on 7/4/22, 6:04 PM

Hello I need this module in v15

Re: V15
by
Viindoo Technology Joint Stock Company
on 7/20/22, 9:14 PM Author

https://viindoo.com/apps/app/15.0/to_attendance_device


Version 15
by
Gonzalo Jacques
on 7/1/22, 7:46 PM

Hello, why don´t you publish the v15 here? Is the other one (Vinidoo) 100% compatible and functional with Odoo?

Re: Version 15
by
Viindoo Technology Joint Stock Company
on 7/3/22, 5:40 AM Author

We will soon publish it here. In the meantime, you could get it from Viindoo website. Same price, same software.


by
sherin farhana
on 5/31/22, 9:07 AM

Hi,

Is this module compatible with ZKTeco iClock 700?

Re:
by
Viindoo Technology Joint Stock Company
on 7/3/22, 5:32 AM Author

It, it should be.


by
Rony
on 5/19/22, 6:53 AM

Can you please give me some info about this module, 

 1: Is this available for odoo 15 

2: If yes, then what will be the price.

Note: ( https://viindoo.com/en/apps/app/15.0/to_attendance_device) this link doesn’t available.

Re:
by
Viindoo Technology Joint Stock Company
on 7/3/22, 5:31 AM Author

Please check it again. Thanks!


Module support? Model MB2000
by
Abdullah Saleh Essa
on 5/18/22, 3:27 AM

Hi here kindly A\Q?

Module support? Model MB2000

Can connect devices with Odoo, from different location in same time zone? 

I am need static IP , to connect?

thanks for A. the Q. 

Re: Module support? Model MB2000
by
Viindoo Technology Joint Stock Company
on 7/3/22, 5:38 AM Author

1. MB2000 should be fine as it is a zkteco based machine.

2. Yes, the module support multiple devices at multiple locations no matter the timezone is the same or not as you can configure timezone for each.

3. No, you don't need a static IP if you can configure a domain name (e.g. using a dynamic dns service)


available on Odoo V15?
by
Portal contact
on 5/15/22, 10:41 PM

Dear support, 

does this app also support on Odoo v15?

to_attendance_device

Re: available on Odoo V15?
by
Viindoo Technology Joint Stock Company
on 5/16/22, 9:53 PM Author

Yes, you could find it here: https://viindoo.com/en/apps/app/15.0/to_attendance_device

Or wait for a couple of days when we will publish it on Odoo Apps Store


by
ECONOMATO
on 5/5/22, 10:43 AM

GOOD DAY, WE ARE INTERESTED IN YOUR APPLICATION FOR A ZKTECO BIOMETRIC WATCH MODEL K30

Re:
by
Viindoo Technology Joint Stock Company
on 7/3/22, 5:41 AM Author

Yes, the K30 should be fine for the module as the module is designed to support all zkteco based attendance machines


by
David Hernandez
on 5/3/22, 5:18 PM
Hello
When will it be ready for odoo 15?
Re:
by
Viindoo Technology Joint Stock Company
on 5/16/22, 9:54 PM Author

you could find it here: https://viindoo.com/en/apps/app/15.0/to_attendance_device


Develop compatibility
by
Gonzalo Jacques
on 4/25/22, 1:24 AM

Hello, can any of this be compatible with your module after a customization? How much would it be?

https://www.hikvision.com/es-la/products/Access-Control-Products/Face-Recognition-Terminals/Face-Recognition-Modules-for-Turnstile/ds-k5671-3xf-zu/

https://www.hikvision.com/es-la/products/Access-Control-Products/Face-Recognition-Terminals/Pro-Series/ds-k1t671/


Best regards


by
yahia
on 4/2/22, 5:33 AM

Bonjour au niveau de la version 14 de ce Module le bouton Check connection   avec la pointeuse Me donne une exception "could not get connected to the device please check your network configuration ande device and/or  restart your device 

coul you please help me 


by
Dương Trung Hiếu
on 2/16/22, 1:08 AM

Is there odoo version 15 already?

Re:
by
Viindoo Technology Joint Stock Company
on 5/16/22, 9:54 PM Author

you could find it here: https://viindoo.com/en/apps/app/15.0/to_attendance_device