v 14.0 Third Party 9919
Download for v 14.0 Deploy on Odoo.sh
Required Apps Employees (hr)
Lines of code 1030
Technical Name hr_zk_attendance
LicenseAGPL-3
Websitehttps://www.cybrosys.com
Also available in version v 10.0 v 13.0 v 11.0 v 12.0 v 15.0
You bought this module and need support? Click here!
Required Apps Employees (hr)
Lines of code 1030
Technical Name hr_zk_attendance
LicenseAGPL-3
Websitehttps://www.cybrosys.com
Also available in version v 10.0 v 13.0 v 11.0 v 12.0 v 15.0

HR Biometric Device Integration

This Module Integrates Biometric Device With HR Attendance

Overview

Automation is an implementation factor for a successful ERP. Using this module, HR attendance can be automated via integrating Thumb / Face detection device with Odoo. One can configure a user both from thumbing device or Odoo employee form.

Features

Biometric Device Integration

Integrates biometric device (Face+Thumb) with HR attendance.

Keep Attendance Log in Odoo

Option to keep the device attendance log in Odoo.

Clear Attendance Log from Both Device and Odoo

Option to clear the device attendance log from both device and Odoo.

Automates HR Attendance

Automating HR attendance.

Configure multiple devices

Option to configure multiple devices.

Support ZKteco uFace 202, iFace990

This module will support with ZKteco model 'uFace 202', ZKteco model 'iFace990'.

Screenshots

Biometric Device Configuration

Here you can configure your all devices with it's IP address and port number.

Download Device Attendance Log

After configuration, you can download your device attendance log into Odoo through 'Download' button.If the device is connected, then the Odoo will download all device attendance log. Otherwise, the Odoo will display you a warning message as follow.

Clear Device Attendance Log

You can also clear all attendance log from both Odoo and device via 'Clear' button. If the device is not connected it will display you a warning message as follow.

Biometric Device Attendance Log

Here you can see all device attendance log.

HR Attendance

Here, Odoo automatically generates HR attendance log while downloading the device attendance.

Employee Configuration

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.

Suggested 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

Need Help?



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, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Does this module support with SFace900 or Uface402?
by
Tri Nanda
on 7/2/21, 9:57 AM

Hi, this really nice and usefull module, thank you for all people that contribute to develop this module,

I will buy a ZKteco model 'uFace 202' or ZKteco model 'iFace990', but in the currently the product not available from ZKteco after I contact them in mail that showing in ZKTeco Website,
they said: for now the available products is SFace900 and Uface402, they say thats series is similiar type with uFace202 or iFace990.

Will the type SFace900 or Uface402 will be support using this module?

Thank you and Sicerenly,
Tri Nanda

Re: Does this module support with SFace900 or Uface402?
by
Cybrosys Technologies
on 12/12/21, 9:52 PM Author

Hello Nanda, It should if they are similar type.
The thing is, We personally didn't have any hands-on experience except uFace202 and iFace990.


by
Muhammad Ibrahim
on 3/20/22, 9:26 AM

If there are employees in odoo that are not there on a device then how do we add those employees to the device?


by
Stephen Ngailo
on 3/4/22, 3:22 AM

Hi

I have this error in downloading the data from the biometric device after connecting

Odoo Server Error
Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/home/odoo/src/odoo/odoo/http.py", line 685, in dispatch
    result = self._call_function(**self.params)
  File "/home/odoo/src/odoo/odoo/http.py", line 361, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/http.py", line 349, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/odoo/src/odoo/odoo/http.py", line 914, in __call__
    return self.method(*args, **kw)
  File "/home/odoo/src/odoo/odoo/http.py", line 533, in response_wrap
    response = f(*args, **kw)
  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1398, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1386, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 399, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 386, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/odoo/src/user/hr_zk_attendance/models/zk_machine.py", line 193, in download_attendance
    zk_attendance.create({'employee_id': employee.id,
  File "<decorator-gen-65>", line 2, in create
  File "/home/odoo/src/odoo/odoo/api.py", line 347, in _model_create_multi
    return create(self, [arg])
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_fields.py", line 534, in create
    recs = super().create(vals_list)
  File "<decorator-gen-13>", line 2, in create
  File "/home/odoo/src/odoo/odoo/api.py", line 348, in _model_create_multi
    return create(self, arg)
  File "/home/odoo/src/odoo/odoo/models.py", line 3877, in create
    records = self._create(data_list)
  File "/home/odoo/src/odoo/odoo/models.py", line 3949, in _create
    col_val = field.convert_to_column(val, self, stored)
  File "/home/odoo/src/odoo/odoo/fields.py", line 2404, in convert_to_column
    value = self.convert_to_cache(value, record)
  File "/home/odoo/src/odoo/odoo/fields.py", line 2416, in convert_to_cache
    raise ValueError("Wrong value for %s: %r" % (self, value))
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/http.py", line 641, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/odoo/src/odoo/odoo/http.py", line 317, in _handle_exception
    raise exception.with_traceback(None) from new_cause
ValueError: Wrong value for zk.machine.attendance.punch_type: '255'

Error
by
Mohamed
on 12/11/21, 10:09 AM

Hi, 

I have this error after installed it,

ValueError: The element '<search string="Hr Attendance Search">' could not be found in the original interface

خطأ: Odoo Server Error Traceback (most recent call last): File "/opt/odoo14/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch result = request.dispatch() File "/opt/odoo14/odoo/odoo/http.py", line 684, in dispatch result = self._call_function(**self.params) File "/opt/odoo14/odoo/odoo/http.py", line 360, in _call_function return checked_call(self.db, *args, **kwargs) File "/opt/odoo14/odoo/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/opt/odoo14/odoo/odoo/http.py", line 348, in checked_call result = self.endpoint(*a, **kw) File "/opt/odoo14/odoo/odoo/http.py", line 913, in __call__ return self.method(*args, **kw) File "/opt/odoo14/odoo/odoo/http.py", line 532, in response_wrap response = f(*args, **kw) File "/opt/odoo14/odoo/addons/web/controllers/main.py", line 1737, in load action = request.env[action_type].sudo().browse([action_id]).read() File "/opt/odoo14/odoo/odoo/addons/base/models/ir_actions.py", line 240, in read result = super(IrActionsActWindow, self).read(fields, load=load) File "/opt/odoo14/odoo/odoo/models.py", line 3022, in read return self._read_format(fnames=fields, load=load) File "/opt/odoo14/odoo/odoo/models.py", line 3042, in _read_format vals[name] = convert(record[name], record, use_name_get) File "/opt/odoo14/odoo/odoo/models.py", line 5667, in __getitem__ return self._fields[key].__get__(self, type(self)) File "/opt/odoo14/odoo/odoo/fields.py", line 1021, in __get__ self.compute_value(recs) File "/opt/odoo14/odoo/odoo/fields.py", line 1177, in compute_value records._compute_field_value(self) File "/opt/odoo14/odoo/odoo/models.py", line 4062, in _compute_field_value getattr(self, field.compute)() File "/opt/odoo14/odoo/odoo/addons/base/models/ir_actions.py", line 207, in _compute_search_view fvg = self.env[act.res_model].fields_view_get(act.search_view_id.id, 'search') File "/opt/odoo14/odoo/addons/web/models/models.py", line 246, in fields_view_get r = super().fields_view_get(view_id, view_type, toolbar, submenu) File "/opt/odoo14/odoo/odoo/models.py", line 1611, in fields_view_get result = self._fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu) File "/opt/odoo14/odoo/odoo/models.py", line 1572, in _fields_view_get root_view = View.browse(view_id).read_combined(['id', 'name', 'field_parent', 'type', 'model', 'arch']) File "/opt/odoo14/odoo/odoo/addons/base/models/ir_ui_view.py", line 809, in read_combined arch = root.apply_view_inheritance(arch_tree, self.model) File "/opt/odoo14/odoo/odoo/addons/base/models/ir_ui_view.py", line 750, in apply_view_inheritance return self._apply_view_inheritance(source, inherit_tree) File "/opt/odoo14/odoo/odoo/addons/base/models/ir_ui_view.py", line 758, in _apply_view_inheritance source = view.apply_inheritance_specs(source, arch_tree) File "/opt/odoo14/odoo/odoo/addons/base/models/ir_ui_view.py", line 735, in apply_inheritance_specs self.handle_view_error(str(e)) File "/opt/odoo14/odoo/odoo/addons/base/models/ir_ui_view.py", line 673, in handle_view_error raise ValueError(formatted_message).with_traceback(from_traceback) from from_exception Exception The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/odoo14/odoo/odoo/http.py", line 640, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo14/odoo/odoo/http.py", line 316, in _handle_exception raise exception.with_traceback(None) from new_cause ValueError: تعذّر إيجاد العنصر '<search string="Hr Attendance Search">' في الواجهة الأصلية View name: inherited_hr_attendance_view_filter Error context: view: ir.ui.view(2305,) xmlid: oh_hr_zk_attendance.inherited_hr_attendance_view_filter view.model: hr.attendance view.parent: ir.ui.view(2283,)

ODOO14 NOT WORKING
by
Aurel Balanay
on 7/6/21, 3:54 AM

It's not working in odoo14?

Re: ODOO14 NOT WORKING
by
Cybrosys Technologies
on 7/6/21, 4:12 AM Author

Its working in Odoo14, But we are not certain about your settup.
Can you give us more info about it. Please send an email to odoo@cybrosys.com


by
N
on 6/21/21, 3:10 AM

Pyzk module not Found. Please install it with 'pip3 install pyzk'.

while installing the module