New Feature ToDo in DocTypes

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:

  1. Quickly create a ToDo
  2. See the ToDo’s and their current status
  3. 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.

35 Likes

+1 for this great feature

1 Like

Hi @dominik,
I believe there is a big need for this.

The disadvantage in using (Sub-)Task (or the regular ToDo UI) for this is, that it’s “too time intensive” for what it should be used for. Therefore the proposed approach looks very intuitive.

We are right now working/ implementing a very similar idea, what we just call “Checklist”. On our implementation, it is not as flexible as you have described. On our side, we just have it embedded within “Task”.

Our key business requirements therefore have been:

  • Within a Task, we need to clarify (detailed) steps on what is necessary to fulfill a Task
  • (Optionally) it is possible to mention a user, who should be working/ responsible for an individual checklist item
    • Each user, that has access to a Task can be “mentioned”/ referenced in a checklist-item
  • We need to have checklist-templates: Very often the same checklist items needs to be processed, therefore we don’t want to add them over and over again
    • As templates are often more like a 80% approach, we need to:
      • Items from a template cannot be removed - if they are not relevant we just want to “mark” as “not relevant”
      • add additional items as required for a specific scenario - that won’t affect the template itself

As your post is already a couple of weeks old - did you already start working on it?

1 Like

@dominik
I would like to suggest following feature into the new ToDo,

  1. enable user to define checklist/template,
  2. a kind of auto assign the checklist/template to the target document base on condition,
  3. also allow user to manually select checklist/template as needed

thanks for your great contribution to the community and the Frappe/ERPNext product.

2 Likes

+1 I absolutely love the idea and I do really appreciate how you have taken the time to explain it.
It does make a lot of sense (saving times and clicks) to have the Todo embedded in the document itself.

+1 for Checklist in a task that can be created from a template. We were describing the checklist in the description as of now. But this design of yours is way better to manage each of the task activities.

This is very much what we are looking forward too.

We are currently using erpnext for support help desk and a support case is broken down into todos and assigned to concerned team members and followed up. Would be great if we had templates and also as @dominik mentioned easy accessible UI to navigate between Todos.
Inside a particular support ticket for eg we need to open each todo seperately and edit it which is a difficult way, but the process mentioned here for an easy navigatable UI would be very helpful.

@surajshetty fyi :slight_smile:

Actually @dominik thinking about it, I would also love to have my todo / meetings (events) displayed on the home workspace that way.
I’d be happy to help script something if you could share some pointers with me.
Cheers

2 Likes

This makes sense

Hello Friend, Have you come out a solution for this innovative idea !

I agree this would be a great feature with many applications. I have requested something similar from Frappe.
The problem we are all facing is unfinished features.
Who is going to ensure the project gets finished and who maintains and develops the feature in the future as ERPNext evolves? It all comes down to Frappe to maintain it at the end of the day.
There must be another way to integrate feature like this in to ERPNext instead of integrating the code in to the core.

I am not tech but I do rely on this software 100% to run my business The stakes are high for me. Spending hours reporting bugs resulting from upgrades is not constructive.

Could things like this be an App or something which lives outside the vanilla program It may be added and removed, switched on and off, purchased or not purchased, maintained or not maintained? I understand this may not follow the open source concept exactly but some are more equal than others…

Chris

1 Like

Any progress or plan so far?

This is quite neat. Love it.

Hi @dominik,
did you already start working on that feature? Is there a plan to release it as a public app or PR?

@dominik hope you are well. Ever since you shared this design, community is looking forward to it. Will be great if you could help us with an update, if there was any work done on this front. If not, I can try and see if Frappe team could consider this.

6 Likes

I’m sure people will love this. The todo assignments are not clean. All the done ones stay there like pending ones. Also, this could double like a checklist of items to be done on a doc.

If you could make use of the existing assigned to function, then it’ll be even better because we have the auto assignment rules to go with it.

1 Like

This seems to me this feature request looks like it should be an extension to the workflow module. Frankly, it looks like another workflow system. If the current workflow states assigned Todo’s, instead of just sending emails to groups, I think you would have most of what your looking for.

Is there a final version of this available to use?

I only did a Photoshop mockup here of how I think this could look. We haven’t spent any time on it. It would be wonderful if Frappe were to pick this up and/or if people were willing to sponsor this.

2 Likes

+1 I absolutely love the idea.