Customization of ERPNext for EPCM Market

I am currently in the process of adding new doctype and reports to ERPNext as well as additional fields to existing doctypes to support common processes and procedures employed by the EPCM (Engineering Procurement Construction Management) market. I will be building upon the existing Projects module to add EPCM style Project Controls budgeting and forecasting, material expediting and material availability forecasting.

The project controls changes will add the following doctypes; Control Package, Execution Package, Control Account, Work Package, Cost Type, WBS, Sub Project, Project Change Notice and Project Change Notice Details.

I will also be making the “Project” link in the Material Request Item doctype an enterable field. Currently it is set as readonly.

The Material Request and Purchase Orders will need to have a discipline field added plus their respective detail doctypes will need to reference the new Control Account doctype.

I am looking for help to ensure I am following the ERPNext contribution procedures.

Do I need to request a feature to get the ball rolling? I am already working in development mode and have the Project Controls doctype already created.


There have been several customizations that I’m aware and there’s some folks working on it: (Which you might have to be a foundation member to view. Here’s the excerpt:

Trying to sync up with those folks will likely get you more accomplished than standalone feature requests.
Also searching for github issues or feature requests will help.

This is posted on the open forum as well as the closed foundation forum…Not sure whether the approach is fully adopted by foundation

Thank you for the help but I don’t appear to have access to this link

Checkout List of Module Volunteers if you find any similarities.

May be related issue.


Bill of Quantities (BOQ) will be mapped as

  • Project / Task Tree for recording time and description part of BOQ
  • “Work Order” will be linked to this Project / Tasks and BOM based production for any task/work order will be re-used
  • Tasks can record Timesheet / Worker or Employee payments based on timesheet

I don’t think above issue covers everything what you have explained in the topic.

You are welcome to send PR of what you’ve already developed (if there is anything).

For DocType Names.

  • Avoid Short Forms “WBS”, in some domain it may mean something else.
  • What is Sub Project? Checkout NestedSet / Tree view feature of frappe framework, Task is NestedSet already. Task Tree can be made. If required Project can be made NestedSet, but why task and project both need to be nestedset?
  • In general avoid generic names - example: Room DocType exists in education. We needed Hotel Room recently, with that logic Education needs Lecture Room or Class Room not just “Room

If you feel you need to discuss functionality, data, design, naming conventions open an Issue.

Please see for what I have setup

How do we access the site for a demo? Any demo credentials ?

please user username and dpmdemouser as pwd

please use username and dpmdemouser as pwd

sorry the username is and the pwd is dpmdemo

I’m creating a startup and I found that you did a really nice work!! ,Would it be possible to have access to these modules??
Thanks @draedon

Congratulations on creating a startup. Could you provide me with more details related to your startup and then we can discuss further