Hardware Employee Time Tracking with RFID Chips

Hey @creamdory

What are the updates with this?
Does it store locally and then sync?
Any plans for sharing the Arduino code?

@rijul we have existing PR. We will work on the Test Case and the Documentation. See here https://github.com/frappe/erpnext/pull/15216. The device is done. Though we bump into a problem that port is accessed only in HTTP but our server has HTTPS redirect as well. As to the your second question, it doesn’t store locally. It will make an API call directly and make a post real time.

Thanks any plans to share the arduino side code?
I think we could try to add local storage to it as well.

Yes! Arduino code will be open. We will prepare a repo for it so all can take a look and improve. Will publish the link here once ready. :slight_smile:

Initial release of the project, we are not stable yet and this is WIP but please check it out. This is completely open source, PCB fabrication files, CAD data, arduino code it’s all there!

6 Likes

I think the attendace needs to be tracking in & out points and calculate attendace based on time (actually what the timesheets do). For now the most finegrained attandance is half a day which I believe does not apply justice to very many real scenarios.

Hi,

have you analysed challenges to integrate fingerprint scanner with ntimer.

Just FYI, below fingerprint scanner works with Arduino and Raspberry PI

This could be the future Face Recognition !

Thanks

2 Likes

@dominik What’s your status here? Anything we could do to support you?

2 Likes

Hi @dominik any progress on this matter? I have a customer who is very much interested. Maybe we could take this chance as a use-case to see if it works. The customer is in the 3d sintering business and would surely be able to print a nice casing.

Please let me know!

if you look at the repository’s & PR’s activity this project seems not to have made progress since ~November 2018 months.

I could imagine the Attendance not being build to record fine-grained in/out point or time periods may be the hurdle to hight to jump over. Is it @creamdory?

@vrms @wojosc the biggest hurdle we had for this was the Arduino hardware can only access port only in HTTP.

@rijul we have existing PR. We will work on the Test Case and the Documentation. See here [Doctype] Employee Checkin by creamdory · Pull Request #15216 · frappe/erpnext · GitHub 32. The device is done. Though we bump into a problem that port is accessed only in HTTP but our server has HTTPS redirect as well. As to the your second question, it doesn’t store locally. It will make an API call directly and make a post real time.

(as you use past tense here) does that mean

  • the project is burried, due to that or
  • you are still looking for solutions?

maybe anyone can help with that.

This is a great effort towards something organisations demand everywhere. On One thread I read here a while ago, @rmehta mentioned something about abandoning or avoiding a version of web based employee attendance implementation within erpnext because it could easily be “gamed”. Anyone could login from anywhere and say they attended work.

I’m wondering how this project addresses the problem of one employee clocking in for the rest. I went through this entire thread and didn’t see this concern raised or addressed. I think without added access control, RFID cards pose this problem and this may be the reason behind the increasing popularity of biometrics.

Or is there a solution planned for this ?

I guess that is true, yes. Though clocking in and ou is only a timestamp which could easily be calculated toward a preset number of daily working hours and could then also be used to fill the attendance accordingly.

Thank you for the clarification. Is there any estimate your are looking to when this can be solved? Maybe having a local raspberry Pi which acts as communicator making the final call toward https on the ernext instance could do the trick.

We use ernext full online, as we are a very agile company. Our customer however is a stationary manufacturing company like eso. It might even make sense to store timestamps offline, as this should be tracked when employees enter the premises ignoring the fact if the company is “online” or not.

What do you think?

I don’t believe that to be true necessarily . The attendance is just very rough grained. Full and half days. that’s it. So I think there needs to be done some work in making the Attendance more flexible.

I agree that the tools generally are there in the Timesheet functionality. Just no idea how easy or difficult it is to put this into the Attendance. I am surprised that neither @creamdory, nor @dominik have mentioned working on this )or did I miss something here?). So I am not quite getting what they are after. Tracking whole/half days with a RFID chip to me seems to be falling short.

Thankfully, someone already sent a PR for attendance logs. Let’s hope it gets merged soon

https://github.com/frappe/erpnext/pull/17517

Cheers

I think that this is a non-issue. If you employ employees who game your timesheets the challenge that you have is not that you have to pay “unworked” hours. Your company and your culture is questionable. If you feel, you need to control your employees on that level that’s a similar problem.

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).

Frontview

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 !

7 Likes