ERPNext v14 - Modules & DocTypes Organization

Hi Guys :raised_hand_with_fingers_splayed:

I was looking at the way Modules and DocTypes are organized to get an understanding of ERPNext from a system design point of view. I could not find any defined structure in the official documentation, so I referred the database to create a map. Sharing the same below for everyone’s use.

System Information:

  • Frappe Framework: v14.4.0 (version-14)

  • ERPNext: v14.0.1 (version-14)

  • Frappe HR: v0.0.1 (develop)

  • Ecommerce Integrations: v1.11.0 (main)

  • Payments: v0.0.1 (develop)

The above apps are necessary to have a full fledged ERP system in place. (Since v14, the HRMS app was removed from the main ERPNext app, so I have installed it separately along with the Ecommerce Integrations and Payments app).

Modules & DocTypes

By default when you install ERPNext v14 (plus HRMS, Ecom apps), you get the following;

  • Modules: 44

  • DocTypes: 908

The move to separate out apps and maintain them separately is a great one and it will definitely allow greater extensibility of ERPNext in the future.

That being said, the current structure can create some confusion with modules like;

  • Payments and Payment Gateways
  • Ecommerce Integrations and Shopify/Unicommerce
  • Integrations and ERPNext Integrations

The organization structure can be further optimized by clubbing similar Modules together into a single one that will help to lower the overall footprint.

There are also other system modules like automation, maintenance, utilities, communication, telephony, bulk transaction, etc. that can be clubbed together. I understand that this will have effect on the user roles and permissions config but overall I think it’s better to have lesser number of clearly defined modules to have more control over the system.

Let me know what do you guys think.