Biometric Attendance Sync Tool

Salam , have you found that solution we have same scenario

Hello,

Thank you for this great tool. I have successfully connected to the device and I think it is pushing the data to ERPNext. My question is how do i see the report? How do i know the data is there in ERPNext?

These is the log i see

2024-11-25 12:45:27,629 INFO Cleared for lift off!
2024-11-25 12:45:27,629 INFO Processing Device: IFACE360
2024-11-25 12:45:27,741 INFO 192.168.100.201 Device Disable Attempted. Result: True
2024-11-25 12:45:27,811 INFO 192.168.100.201 Attendances Fetched: 4
2024-11-25 12:45:27,859 INFO 192.168.100.201 Device Enable Attempted. Result: True
2024-11-25 12:45:27,879 INFO Mission Accomplished!

Hi,

You can check the same in ERPNext under HR–> Employee Checkin

Thanks,

Divyesh Mangroliya

@mangroliya thank you for your reply.

For some reason, I am not able to get the data on ERPNext. ERPNext is hosted on cloud and I have created the API key and secret.

I have added Attendance Device ID (Biometric/RF tag ID) of the employee on device to ERPNext.

Did I miss anything?

I think the tool has connected with the device but I am not sure if it has uploaded to ERPNext.

Anything I should be doing please?

Hi,

Please check the error in the log file stored under Biometric Tool folder → logs → error.log

Thanks,

Divyesh Mangroliya

@mangroliya thank you for your prompt reply.

It shows this error

2024-11-26 12:44:09,046 ERROR Error during ERPNext API Call. 3 1732521524.0 MB360 Traceback (most recent call last):
File “apps/frappe/frappe/handler.py”, line 74, in execute_cmd
method = get_attr(cmd)
File “apps/frappe/frappe/handler.py”, line 288, in get_attr
method = frappe.get_attr(cmd)
File “apps/frappe/frappe/init.py”, line 1715, in get_attr
return getattr(get_module(modulename), methodname)
File “apps/frappe/frappe/init.py”, line 1433, in get_module
return importlib.import_module(modulename)
File “/usr/lib/python3.10/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1050, in _gcd_import
File “”, line 1027, in _find_and_load
File “”, line 992, in _find_and_load_unlocked
File “”, line 241, in _call_with_frames_removed
File “”, line 1050, in _gcd_import
File “”, line 1027, in _find_and_load
File “”, line 992, in _find_and_load_unlocked
File “”, line 241, in _call_with_frames_removed
File “”, line 1050, in _gcd_import
File “”, line 1027, in _find_and_load
File “”, line 992, in _find_and_load_unlocked
File “”, line 241, in _call_with_frames_removed
File “”, line 1050, in _gcd_import
File “”, line 1027, in _find_and_load
File “”, line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named ‘erpnext.hr’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “apps/frappe/frappe/app.py”, line 114, in application
response = frappe.api.handle(request)
File “apps/frappe/frappe/api/init.py”, line 49, in handle
data = endpoint(**arguments)
File “apps/frappe/frappe/api/v1.py”, line 36, in handle_rpc_call
return frappe.handler.handle()
File “apps/frappe/frappe/handler.py”, line 49, in handle
data = execute_cmd(cmd)
File “apps/frappe/frappe/handler.py”, line 76, in execute_cmd
frappe.throw(_(“Failed to get method for command {0} with {1}”).format(cmd, e))
File “apps/frappe/frappe/init.py”, line 602, in throw
msgprint(
File “apps/frappe/frappe/init.py”, line 567, in msgprint
_raise_exception()
File “apps/frappe/frappe/init.py”, line 518, in _raise_exception
raise exc
frappe.exceptions.ValidationError: Failed to get method for command erpnext.hr.doctype.employee_checkin.employee_checkin.add_log_based_on_employee_field with No module named ‘erpnext.hr’

2024-11-26 12:44:09,054 ERROR exception when calling pull_process_and_push_data function for device{“device_id”: “Iface365”, “ip”: “192.168.100.201”, “punch_direction”: “”, “clear_from_device_on_fetch”: “”}
Traceback (most recent call last):
File “C:\biometric-attendance-sync-tool-v1.0-win64\erpnext_sync.py”, line 51, in main
pull_process_and_push_data(device, device_attendance_logs)
File “C:\biometric-attendance-sync-tool-v1.0-win64\erpnext_sync.py”, line 129, in pull_process_and_push_data
raise Exception(‘API Call to ERPNext Failed.’)

Exception: API Call to ERPNext Failed.

FYI … i am using version 15 and HR module is installed

Hi,

Please update the correct version in your local_config file in biometric sync tool folder:

image

Regards.

Divyesh Mangroliya

Thank you for your reply. I can’t find ERPNEXT_VERSION under the local config. Should I add it?

Hi,

Please fetch the latest version of biometric Sync tool from Github otherwise it will not work even if you add it manually.

Thanks,

Divyesh Mangroliya

Thank you.

The latest version has no GUI ? The GUI version is “Version 1” but it doesn’t have ERPNEXT verion option under “local_config”.

Any Solutions?