Auto attendance check in log type issue


We have successfully connected our essl device to ERPNext and able to fetch the employee check-ins. The issue arises when we try to open the employee check-in as it shows only the “IN” log type, the “OUT” log type is also taken as “IN”. Can anyone help us with this? And also the attendance is not getting updated, the auto-attendance has been enabled but still not able to process.

Hi Tejal,

Have you put all the details required in the shift type as per the screenshot attached below:

You will have to define the check in and checkout and how you want the working hrs to be calculated.

If you have already mentioned all these fields and still not working then @karthikeyan5 will be able to help you.


@Tejal_Thakur01, how have you connected the ESSL device to your ERPNext?.. The expectation is that you have to pass the appropriate IN (or) OUT while creating the employee check-ins. If you have only one device for both IN and OUT, (or) if you do not have reliable log type information with you, please use the “Determine Check-in and Check-out” option accordingly in the auto attendance setting.

Hi Karthik,

We are running the python script in the same network where we have installed the ESSL device. We have now been able to connect the device properly but we are getting issues with the “IN” & “OUT” logs.

Basically, the output or the employee check-ins being generated in ERPNext have their log type as only “IN” whereas it should be alternate IN / OUT as per the shift type settings.

Hi Karthik,

We resolved the issue by tweaking the python script. The script runs successfully on a single device also which accepts IN/OUT. Here is what we have added:

if device_attendance_log[‘punch’] == 1 or device_attendance_log[‘punch’] == 5:
device[‘punch_direction’] = ‘OUT’
elif device_attendance_log[‘punch’] == 0 or device_attendance_log[‘punch’] == 4:
device[‘punch_direction’] = ‘IN’


@Tejal_Thakur01, thanks for sharing you solution here… it has now been add to the script.

You can now set punch_direction to ‘AUTO’ in the config and the script will attempt to parse punch direction.


The setting in the shift type is meant to process the employee checkin log during the attendance marking attempt, by assuming that alternate logs are IN and OUT, and not actually modify the created logs.

hi how to set erpnext ignore the attendance code . i want set first check in auto set as punch in , last check out as punch out . at local_config.pyi i set punch_direction to ‘AUTO’.
here my shift setting.

here ouput device log P:0 Punch in ,P:1 punch out , P: 255 undefined


@Tejal_Thakur01 Can u please send link how to install python script. My self try to install but its not working

hello, We were integrating Biometric machine to erpnext with use of “frappe/biometric-attendance-sync-tool”. But we have faced challenge with Auto Attendance settings in Shift Type. After Selecting “strictly based on Log type” Showed Error in Biometric sync tool:27
But if I select on “Alternating entries as IN and OUT during same shift” Employee Checkin receives all employees that checked in and out without "Log Type"