I would love to see @FHammer post his implementation which really looks promising …
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
RFID scan - GO
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
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 :
- why not use timesheet (which functions are not supported you will need)
- 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).
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?!