I am trying to get some timesheet improvements done and thought this might be good to add to the core functionality of ERPNext after a few discussions.
I have a programmer and a price for a private project, $240. This would go up with efforts related to the process of adding to core with the Contribution Guidelines for GitHub, I’m posting to gauge interest.
Problem: timesheets here are clunky, recording time has been much simpler in every office I’ve worked in
Example: see Daily-Project-Timesheet-Template-Download-in-PDF.jpg (585×550) for how they’ve usually looked in an engineering office. Simple, showing a week or more at a glance, adds up the hours for each day because we’re supposed to work apx 8 hrs a day or 40 hrs a week.
But these timesheets are entered manually, so this is still clunky. Some newer services make keeping time frictionless with timers, toggl and clockify as examples. So I had an idea:
Goal: Make my timesheet to act more like toggl or clockify, OR, use a button in the task to start timesheet timer, show current time.
What I tried, some history: I looked into making an integration with integromat by hiring somebody on Fiverr for $40. But then it occurred to me that the integration would only work for one user, so I’d have to make the integration for every new user. So I tried hiring somebody to program some additional functionality, and one guy had a great idea that would take 10-16 hrs, but they were more expensive than I was hoping. Now I am hoping to add some functionality to the core of ERPNext.
Best & easiest idea so far:
Start timer button added to the task page, and when it is started it stops all other timers and makes an entry in the timesheet for the day. (and a new timesheet if needed)
The current timer shows at the top of all ERPNext pages I’m the user of, and shows total time clocked for the current day.
Optionally when you move a card in Kanban board to a position that the timer starts automatically. Have this optional with a dropdown selector for the ‘status’ that triggers the timer to start.
I’ve never done a pull request before and it seems daunting. I haven’t asked this programmer if he’s willing to go through that process but it was a great idea and it was his so we have a way forward if we want or we can hire somebody else.
3 questions.
Is anyone else interested in adding this functionality to the core?
How possible is it that my idea will be rejected if we get to that point? ie, is this a bad idea for other types of users or does this fiverr programmer have to meet certain qualifications to even contribute?
We struggled a lot with the timesheets in ERPNext initially and then we ended up migrating to Projeqtor. While there is no match to the simplicity of erpnext but timesheet entry is just so logical there. It just makes sense using it for our projects module.
We can decide if the timesheet entry is per week or by day.
Then, user only sees a list of tasks assigned to him, and he only has to fill in the time in a easy to use grid
Tasks are in tree format so, it’s rather easier to comprehend
Thanks for your interest in contributing a feature in the core. Here is how we (from Frappe) could help.
We can work with you on the scope and mocks
We can help find a dev and get it developed
We can review the code and get it merged in the core.
I see that you share the design, but it looks like a report view of a timeline. Are you proposing it for the form view? Will be great if you could share more specifics, so that we can freeze and then look for the development options.
umair, thank you for your quick reply, I am interested in working with you on the scope and mocks to improve timesheets. Thank you for your patience, I was needing some free time to make a proper reply.
I would be most interested in a timer feature from kanban and task views:
starts and re-starts a timesheet entry with a timer from the task view,
add a play/start button on the kanban card,
optional to keep cumulative time with one entry without timestamp, collect timestamps by task under one entry similar to clockify.me, or have every timestamp be it’s own entry on the timesheet
show the active timer in the header / top bar of any ERPNext page
with a text box for keeping a note for the active entry at the header / top bar next to the active timer.
I mostly work from the kanban view on any project, and would love to be able to keep track of time without having to leave the kanban of the project. These features above are all things my ERPNext programmer on fiverr said was possible. Please let me know if this is the right place to work with you on this feature.
I don’t think the grid view I shared would be a good fit for everyone,
it would have to break the ‘from time’ and ‘to time’ tracking that others depend on,
it would make the form too wide fitting all the columns needed
I think the timer idea above would be better anyway. The grid view I shared is a typical way that engineering offices keep track of time because it’s simple, we ignore the timestamp level of detail. We only care about the quantity of hours, not the time in which it occurs, so I turn off the conflict check here: Timesheet only hrs and date (no from - to time) - #9 by Eli. Much of the time it takes to do timesheets is in the setup of the project names and tasks being worked on, having to replicate this every day is the tedious part, since projects last weeks and months this setup can be used for multiple days just adding time as needed without having to re-select project and task every day.
@umair
I’m very interested in working with you on this, please let me know how I / we can move this forward. This is a good time in between projects I can devote some time to this.
I have a customer here in the UK interested in a Task timer. He currently uses https://timeular.com/ with their dice devices, but they have an API for integration.
In any case, something like what you are proposing would be a good start, then integration with Timeular to assign devices and dice faces to specific tasks is the logical progression.
Looks like you’re in the States, I’m in the UK. I can do the development if necessary.
Maybe we should talk?
Edit: forgot to mention there is a timer function on the manufacturing Job Cards you could take a look at for inspiration too.
I found that just using clockify (see link above) was sufficient for my needs, not linked to ERPNext in any way. It would be nice if the timesheet functionality in ERPNext was either easier to fill out or linked to the task cards as I proposed, but I think it’s too much hassle to mess with right now.
If I find need again for the timesheet module I’ll look into getting this developed, but I welcome anyone seeing this to contact you. Thanks for your reply, I hope this sparks some ideas for anyone looking to improve the timesheet in ERPNext!