Questions about Administrator account and Developer Mode

Hello I have some questions about the Administrator account and Developer Mode in ERPNext system:

  1. What’s the difference between Administrator account and a system manger account?

  2. Can I create a Script Report from a system manger account? If I must use the Administrator account, should the system be in developer mode?

  3. What are the dangers of using Developer Mode? If made some changes from the GUI system, will effects the new upgrades of the system?

My Installed Apps
ERPNext: v13.27.0 (HEAD)
Frappe Framework: v13.26.1 (HEAD)

System Manager is the role with full access to all the functions of ERPNext. Any user with System Manager role is the full administrator of the system.

Yes, you can create the Script Report with the System Manager Role. For Script Report creations Developer Mode is not Compulsory. You can create the Script report from GUI if your site is hosted on Frappe Cloud.

Developer Mode is only required if you want to extend the core functionality of ERPNext. Small Customization like adding new fields, you can do via Customize Form Options. With Developer Mode on, you need to manage your changes in codes before upgrades, otherwise upgrades will fail.

1 Like

The ‘Administrator’ account is the 1st account created during installation. It has some special abilities, beyond that of System Manager. These abilities are not documented well. The longer you work with ERPNext, the more you’ll encounter them.

As an example, screenshot below of the 'Email Queue’ document’s Python code. The email queue can only be deleted by the ‘Administrator’ account itself; being a System Manager is not enough.

If you search the Frappe and ERPNext git repositories for the word ‘Administrator’, you’ll find a few hundred cases where it’s called out.

I “believe” the RQ Workers always record their actions as ‘Administrator’. For example, if you create a job to create Sales Invoices, then ‘Administrator’ is the ‘owner’. At least on all my environments it is. Maybe that’s configurable.