We want to create a hardware device which allows employees to punch in and out of work using a RFID reader which stores the information in ERPNext.
Most of our users are not salaried but get paid by the hour. Currently the information about work times is recorded outside of ERPNext using a RFID tracker that writes to a SQL database and has closed source software for the analytics.
We will create a hardware device which will read an RFID tag and allow our employees to punch in an out which will call our ERPNext API. All data will be stored in ERPNext. The project itself will be completely open source so people can DIY or they might eventually be able to buy pre-fabricated devices with RFID chips from us if there is enough interest in this thing.
The prototype hardware will consist of an Arduino Uno, a simple display and 3 buttons (come, go, info), a buzzer and a Mifare RFID reader (RC522).
Basic function description:
User presents RFID-tag to device and presses green “come” button. Device calls ERPNext API passing the RFID tag id. ERPNext logs come and returns employee name, employee number, start date, start time.
User works his shift
When user goes into break or leaves work he presses the red “go” button. Device calls ERPNext API passing the RFID tag ID. ERPNext logs go and returns employee name, employee number, start date, start time, work time.
If user wants to know how many hours he has worked this month he can press the grey “info” button. It will give him his hours today and his ours this month.
- We will develop the hardware, create BOM and schematics on how to assemble this
- The devices’ software will have to be written
- Make changes to ERPNext employee DocType to store RFID Tag
- Create or modify DocType to store information (see Questions below)
- Implement API
How will we store the actual time logs start / stop and how will we analyze it? There are timesheets which are more to track specific actions instead of overall work time. Also there is employee attendance but that tracks only the days which employees were present.