[Feature Proposal] Improving Document Control

For a great number of companies, having a rock solid document release process is a must. Currently with ERPNext, the only way to implement this is using workflows, which is effective in some ways but majorly lacking in others: namely keeping track of when documents were submitted, why, and how they’re connected/related to other documents. There’s also some functionality missing to help prevent mistakes from creeping into data during the approval process associated with workflows. To improve this, I’m proposing two additional features that should address some of the current shortcomings.

Controlled Documents
The Controlled Document feature would be a check box setting for each doctype. If checked, any documents of this doctype would not be submit-able through the normal submit button. Instead, the document would need to be added to another doctype (Document Change Request) and submitted through that document. What this does is force certain doctypes to have Document Change Requests created and submitted in order to release them.

Here’s a quick example of how that would look for a custom doctype I’ve created (“Procedure”):


Checklist for Workflow
The other feature would be checklists for document workflows. There would be a new doctype called Checklist, which would allow users to customise a set of questions that need to be asked at each workflow stage. This set of questions could be dispersed in the actual document when in the appropriate stage, or just as a checklist that can be opened from the top of the page.

This checklist would allow the system to force users to verify certain things before submitting documents, which helps prevent errors and enforce higher accountability in staff members. Before you move on to the next step in the workflow, you need to go through the checklist and check off that each item has been addressed/verified/complete. Here’s an example of how it might look:


I’ve already got some of this functionality working on my development system / custom app, and would like to get some feedback from users before I put the effort in to incorporate it in the core code.

Is this something people would want? Are there better ways to do it? Are there missing features / functionality?


Many thanks as usual. I think as is is a great improvement but as you say it may need some working through before any omissions might be identified

How about a workflow as well for making Changes on Submitted Documents? For example SO, DN and SI are all related and linked documents. There are times that we need to make some changes in SO but DN and SI for this SO is already created and submitted. Thus, we cannot easily cancel SO but have to cancel DN and SI to make the changes. This is sometimes unpractical and time consuming. Any workflow design suggestion to handle this?

Great discussion @Ben_Cornwell_Mott

Had a user requirement where peer approval is needed. For example, 2 managers have the same role and allowed to approve each other’s documents. The owner is not allowed to approve his/her own document though. And if that document is edited and saved, then that user will be the “new” document owner.

Trails will be submitted to keep track the change of owners.

I have yet to do this but I was thinking of using custom scripting.

Great idea. Can we start with a simple checklist implementation?

Yes, I like the checklist! Lets implement that :slight_smile:

We can call it “submit checklist” - so its explicitly not linked to Workflow

Maybe we can also show some information in the checklist, like the grand total.


Simple info is on checklist is great! Perhaps a list of connected doctypes that will be affected on submit?

@Ben any updates on the submit checklist implementation?

Unfortunately I’m swamped with other things and haven’t been able to really get started on this.

Oh. I thought you had already implemented it for the most part.

Much of the code is already written for creating a checklist based on a special field tag that’s been added to a form, but it’s not done using a Checklist doctype. I need to implement that part of it so that it’s easily customizable for any doctype.

1 Like

Ah. I see. Thanks for the update. But great idea which would help significantly, especially with the quality of data. A big challenge currently.

1 Like

This is good. What help is required to get this moving forward? It is a helpful feature.


@Ben_Cornwell_Mott I would love to contribute on this project when/if you re-engage.