Hardware Employee Time Tracking with RFID Chips

I would love to see @FHammer post his implementation which really looks promising …

Welcome !

As requested by @Martin_Seibert I would like to give a short overview of the current status.

In the following you will be able to have some impressions about the Hardware.

Build on standard components (ESP, RFID-Reader 13,56 MHz, LCD etc.) in the actual version the TimeTracking-Terminal is connected by WLAN, 2 Touch-Sensors (come + go), 1 Buzzer (Sound-confirmation of touch- and reader-actions).


Wall mount rear

Online state - waiting for FRID-Scan

RFID scan - COME

processing …

RFID scan - GO

processing …

Software-Features :

Any transaction is flash buffered. So up to aprox. 1000 transactions are buffered while downtime or maintenance times or even the TT-Terminal is not online and will be automaticly transmitted when the terminal will be back in normal state .

Due to security purposes and reduction of complexity inside the terminals, I’ve build a web-transaction-server as a Middleware-component between the terminal and ERPNext. This module did an encapsulation of the required information to access ERPNext and is also doing buffering functions like the hardware is doing, if there will be a communication loss or ERPNext will be in scheduled downtime for example. The communication proccess between the middleware and ERPNext is also monitored including automatic restart after any communication recovery.

Inside ERPNext the businesslogic is attached to the Timesheet-module. In the following you may see some screenshots of the corresponding transactions:

Overview of employee - transactions

Transaction detail - with Start and End-Time

All transactions will be manageable inside Timesheet-functions.

Please feel free to contact me if there are any additional questions.

Suggestions welcome !


Looks well thought through and definitely like something with great value.

That being said … How are your plans with reworking the Attendance Module (so it works in the same way as the Time Sheets) and linking the device to the Attendance?

Before the Attendance is being ‘fixed’ (which by the way will help anybody not using such a device as well) to me this is a (worth the while) exercise or Proof of Concept but not really addressing the problem entirely. Even though you may be able use this as a workaround still.

Hi, @vrms !

Thanks for your feedback :slight_smile:

I’ve checked both modules and my decision was the Timesheet-module, because I think the design of the attendance function has not the purpose to process start/end-time.

I know a couple of collective agreements of several companies where the company only is allowed to log attendance in half-day accuracy. So the minimum holiday / absence / presence is a half day - the maximum a full one.

That’s why I think the attendance-module has another focus (this was the reason why I’m using the timesheet).

I’m also willing to connect it to attendance - but first please answer 2 questions to understand your considerations :

  1. why not use timesheet (which functions are not supported you will need)
  2. which options in attendance you are missing for which determination

My solution creates a new timesheet for any employee automaticly even if there is no active one. So when you have the requirement to do invoicing to a customer or only internal to a project, you will be able to manage the entry inside timesheet-module. These are options which are not availiable in attendance.

Let’s discuss the best solution for more than one implementation. I’m really interested looking forward to your feedback.


@FHammer Is there a way to simply install this in our entrance area and experiment with how well it works? We have the very same tokens in our office. So that could work seamleassly from the very beginning. I am excited.

I fully agree with the decision to go with the timesheet function. It provides the right flexibility and also e.g. in a European context is useful with its detail level. We also use timesheets for SECO compliance in Switzerland (the attendance does not cover the requirements).

1 Like

that’s exactly my point. The thing where we seem to not totally agree is that I believe it does not make the biggest sense to go around the attendance problem doing this but to solve it.

because timesheet is for tracking precise activties during a work day also with a focus on costing

the exact same fine grained in/out functionality the Timesheets have.

how both would co-exists (from the top of my head) is …


  • tracks presence of an employee with in/out points, resulting in period of time (just same mechanics as the timesheet, with the same hh:mm precision)
  • Allows multiple in/out events per day
  • can be ised to calculate salary upon


  • tracks specific activities during periods of Attendance, which are being traceable on a project basis (actually exact functionality as is)
  • probably “create Salary from Timesheet” may become obsolete because in my imagination the Attendance sufficiently plays that role

generally I have different problems for me I am focused on at the moment, but think if someone is going to invest time and effort into this the functionality should be as above and not creating some sort of workaround with an existing functionality which (as per my opinion) does not really do the job it should do well enough (due to design decisions).

@FHammer is that Hardware you posted available for sale ?

I am looking at building something similar (with esp8266 hardware and espeasy firmware).

I agree, that clocking in and out of the office to track hours of employees is closer to Attendance. After all it is an employee matter linked to Leave (Holiday), Sickdays and HR in general.

Having now used Timesheet a lot I can say, that this is for costing and calculation on Project, Task and Work Orders in the moduls. Projects and Manufacturing. Also it is used for externals who are invited to a project.

@FHammer I am wondering if buttons are really necessary or if it would be sufficient to just have the RFID-Sensor. If I’m not clocked in, I’m clocking in. If I’m clocked in, I’m clocking out. Right? A audio and video feedback could be enough and would surely serve design purpose.

I guess the seconds going lost when “finding out” won’t cause a major inaccuracy. This would obsolete all Language printed on the device. A simple software message can be programmed individually and also be precise?!

At one of my former employers it was a routine Task for HR to fix the “Checked-In-State” when people forgot to stamp in or stamp out.

Definitely consider that people will stamp incorrectly many many times.

Hi !

The concept behind the Buttons is, that the TT-Terminal should be available also when the connection to ERPNext is lost, to have a higher degree of fault tolerance.

Meanwhile an 2nd Version is available with integrated keypad and there will also no longer any requirement to manually select “come and go” (if the connection to ERPNext is established).
Additionally it is possible to post the time on to any Project-Task.

Due to the discussion which ERPNext-module will be the better on (Timesheet or Attendance) in the current version both modules are connected simultaneously.

Some Pictures will follow within the next days.

1 Like

Hello All,

FYI , this PR has been merged so V12 is shipping with Attendance logs


I could also see that this is now in v12:

This is found in Employee. Do we already have any existing documentation on this? Also it would be interesting If there is any recommended hardware which I can purchase some where.

Thank you

1 Like

ERPNext by itself does not support biometric attendance, but community members have achieved integration.

You might find this helpful:

Hi All
My Thoughts about Attendance Logs
Time sheets and Attendance Logs plays different roles
Attendance has to be looked in to as “Physical Attendance”
Most of the Mechanical Production Industry in India pays their employee with respect to Attendance Log which needs to have the following
Time In
Time Out
Lunch Out
Lunch In
The following Scenario has to be accomplished
late entry Punch
early exit Punch
Punch out and Punch in for Official movement (where salary is not deducted)–must be approved
Punch out and Punch in for Personal movement (where salary is deducted)
With the above system, the company can know at any given time the total amount of employees physically present inside the company
This data is useful for
Over Time calculation
Employee efficiency calculation
Vehicle arrangement for employee drop… can know how many vehicles are required
Catering … to know how many breakfast/lunch/coffee/tea ( Here, at the time of punching the attendance, the employee can press 1— for breakfast only
2-----for lunch only
3-----for breakfast and lunch
Apart from this, the following are also looked upon in some companies
any employee who has a loss of pay for more than X days in an year can be penalised by postponing their increment / promotion by X days
Habitual Late comers can be tracked and counselled
Hence i can summarise that Physical attendance Logs are very important in a manufacturing company

Are any of these time clock boards still available? I will happily implement in my environment. I Can have it installed and in use with 1 week.


Zkteco devices already have rfid reader.