Hardware Employee Time Tracking with RFID Chips

“Employee Checkin” seems better than “Attendance Log”. Also no need for it to be child-table. The attendance should be inferred from the checkins.

You also have to run into night-shifts where there will have different attendance timing.

So we for each Employee we will also need an in-time and out-time, so that we can validate attendance against those times. (or link each employee to a Shift master)


Night shift could mean we are checking in today at 10PM and checking out tomorrow at 6AM. This will have been 8 hours but 2 hours today and 6 hours tomorrow. Then tomorrow they will work another 2 hours and the day after tomorrow 6 hours … and so it goes.

This should be at Company level

Hi @Pawan @rmehta @dominik so the way I understand it, we would do it this way:

  1. Set Shift Type, and set Shift Request to each of the Employees to cater different shifts for a duration of time.

  2. Create new Doctype called Employee Checkin (Submittable) and child table Employee Checkin Item Fields will be:

  • [Parent Doctype] Employee : Link to Employee (Mandatory)
  • [Parent Doctype] Date : Checkin Date (Mandatory)
  • [Parent Doctype] Location
  • [Parent Doctype] Items : Table (Employee Checkin Items)
  • [Parent Doctype] In-time (Auto fill for the first Check In
  • [Parent Doctype] Out-time (Auto fill. Auto updated every after there is checkout.)
  • [Child Doctype] Check In Time
  • [Child Doctype] Check Out Time
  • [Child Doctype] Duration

Logic: When Employee Checkin is Submitted, it will create attendance and updates the Shift Assignment into “present”. There will be validation thrown for in-time and out-time outside of the Shift Request setup of an employee.

  1. In Company Doctype, add section HR Settings. Within the section add field “Salary Slip Based On” with select options “Timesheet” and “Attendance Log”. Max working hours against Timesheet from HR Settings will be transferred here and will show only for “Timesheet”.

  2. In Salary Structure, add checkbox “Salary Slip Based on Attendance Log”. We can have this auto populated based on Company.

  3. Add new Doctype Attendance Log Validate. It will have the fields below:

  • Employee Link
  • Date From
  • Date To
  • Table which will be autopopulated with all the attendance logs base on the date duration.

HR Manager will be allowed to edit this for Salary Slip purposes. This will be the information pulled in the Salary Slip for payment.

  1. Edit script for these changes.

Validation against Shift should not be mandatory, it should be optional. So maybe this should also be configurable at Company Level.

There may not be a need for a separate section, there is default Holiday list field maybe it can be added below that. If you are creating a separate section then fields like Holiday List etc can be moved there. There should be a generic field “standard_working_hours” per day. This can be used to fix this issue as well. The display of this should not be dependent on salary based on timesheet option at all.

Why parent child??? Checkin will be a log

Hi @rmehta, I see what you mean now. I was thinking of making 1 log for 1 employee per day, hence the child for all the time in and out of the employee.

These are all noted. Thanks!


did you already consider the case where an employee forgets to punch out when he leaves or maybe presses the wrong button. I think we would need some kind of workflow for manual adjustment of Attendance Logs - such that the employee himself can request a change and the HR manager can approve it.


Hi @dominik ,

our company is producer for electronic devices and offers prototyping services as well. We use ERP-Next for our production process and are looking for a solution to track employee attendance within the ERP system. So thank you for your attempt.

Since we are really interested in this solution and since we have most of the components you used in our stock, we could offer to create a few prototypes of your device on easy terms. So let me know if there is anything we could do to help you with your development.

Best regards

1 Like

@dominik it is really awesome, is this hardware will be avalible for purchasing soon? And what is the expected price?

@dufani1 we just produced the first 10 prototypes in-house. We are finalizing the software next week. We are also in the process of 3D printing the cases. I would appreciate some beta-testers very much. I estimate the cost of the whole prototypes at about 2500 USD total so 250 USD plus shipping for one device would be fair for those wo want to help get this project to a proper first revision.


I am happy to spend the money and help with our team testing this. We have three offices. I would start with one device. But if you lack participation in the end, we’re ready to purchase three and try it out with you.

I cannot promise how quickly we can devote resources to this though. TimeTracking is not top of our priority list as of now. Making the progress you describe here is still compelling for us at large.

Awesome, I can send you one of the devices when they are ready for testing. Then when we are ready and it is polished up we can move the tester into the museum and build three shiny devices for you! :slight_smile:


@dominik I am ready for any support or help…

I am pretty sure there will be someone here interested in tinkering with such hardware. I just can‘t promise as I am a noob.

Beautiful! & Inspiring!

1 Like

Hi @dominik we also would be happy to help testing. This is also an interesting topic for several of our customers.

1 Like

The first 10 boards have been assembled and are now ready for the software testing.

Here are some pictures taken with my phone. The flux residue is normal around the THT solder joints, I guess this is why PCBs are normally green and not black so it doesn’t look that extreme. But I really thought black would look sharp.

We have also designed the case for 3D printing and they will be printed on our printers some time later this week. If everything goes according to plan we have the 10 prototypes ready by the end of the week.

5 out of 10 devices are allocated now. Who wants one of the remaining 5 prototypes? Write me :slight_smile:


Sneak peek of the case

  • Optimized for 3D printing
  • Dimension is 110x160mm (4.3 x 6.3 inch)
  • Thickness is 30mm (1.2 inch)
  • Wall thickness 2mm (<1/10 inch)
  • PCB is mounted to top case with 4 screws
  • Ethernet and power cable can be brought in from wall through the bick window in the back
  • Font case is then pushed over back of case and screwed together with a srew from each side
  • Back of case (bottom) printed with white PLA or ABS filament
  • Front of case (top) printed with black PLA or ABS filament
  • 0.5mm gap between front and back of case
  • Pin holes in front for buzzer sound and reset button