ERPNext has two ways to make sure your organization get’s things done:
At most companies jobs can’t be processed by individual people but require cooperation and coordination of several tasks. While providing for tasks, due dates and even GANNT charts etc. it doesn’t always make sense to create a project. It just adds more overhead to something that should be simple and straight-forward. Instead of projects, we want to just assign out ToDos on DocTypes.
Example
A customer sends in an order, but before we do anything further we need to clarify the correct shipping address and we need to send them a prepayment invoice.
This doesn’t really warrant creating a project but it’s also a bad idea to just note down what needs to be done on a piece of paper, in an external todo list (Apple, Microsoft, etc.) to just send an email to yourself, to use the comments or to put it into an external project management software (Asana, MS Project, etc.). Organizing this for yourself might be difficult already, now throw in the complexity of needing things to be done by some of your colleagues.
ERPNext has ToDo which can be added through the “Assign To” function. We don’t just want to assign the whole DocType to one person. In our example we want to have one colleague from sales, lets call him John, clarify the shipping method and we want another colleague from accounting, lets call her Lisa, send and track the prepayment invoice before we send out the order confirmation.
In essence, we need to be able to:
- Quickly create a ToDo
- See the ToDo’s and their current status
- Comment, prioritize and tag ToDos
Proposed Solution
We would add a new section “ToDo” on top of the “Overview” on every DocType.
If there are no ToDo’s the section will be collapsed.
I was inspired by the look of the ERPNext onboarding so I tried to design a compact todo list which follows the ERPNext design as closely as possible while still being very feature-rich.
ToDo List Mockup
Just like on onboarding, when you click on a line it changes the content on the right side. In this case we clicked on the second todo entry and we see whom this task was assigned by, tags and priority. We have the description field which we can edit from within this. If we want to edit the whole ToDo we can click on the button “Edit in full page” much like on a quick entry form.
Dates are displayed here in words (Today, Tomorrow, Friday) for everything within the next few days. Everything else id displayed without the year since ToDo are short term and this saves space.
All overdue dates are red, today is green and future dates have the regular font color.
The image of the assignee is shown with their first name.
NOTE: this mockup was made on the Customer DocType, it should have been made on the Sales Order DocType.
ToDo List Mockup with one completed Task
If you click on the checkbox in the ToDo list or if you set it to “Done” from within the full page the font is greyed out and the checkbox turns to the ERPNext primary blue.
Next Steps
Before we get started we wanted to check in with the community and with the maintainers if you believe this is a good design and if this would be merged and maintained in the project on the long run.
I also wanted to check in if anybody is working on something similar or if you have additional ideas that should be considered in this design.
Unless Frappe wants to throw resources at this to develop it, as Elexess we would start on this to create a WIP PR and we would be very happy if we could have a point-person at Frappe to help us get this into the core.
If you love this feature and want to see it in ERPNext and if you are able to financially contribute, please write us at hello@elexess.com and let us know how much you would be willing to put towards this.