Users will not be able to re-arrange standard fields

@rmehta, at this point personally I feel the system will be less of flexibility…

What will happen if we do update? With current system already has some fields are re-arranged…all will go back to default position?


hi, sure that there are good technical reasons to do so. However, from the user point of view it is a big step down.
Every user will have his own preferred order, and we are now forced to follow preset Erpnext presentaion of the fields. A pity…The “original motivation” was never an issue for me as i hardly print invoices, and indeed the print can be customized independly. I used it to organize the input screen in such a way that it is most convenient for us. For example, i have the 3 totals of an invoice (gross,net and with discount) directly under the item table, and above the charges. 50% of our invoices have a discount and i do not want to scroll down to find the total to be paid by customer.


Dear All,
I believe the ability of re-arrange standard fields in document is a major features that allow complex business to use ERPNext.
Removing the feature is a major setback to ERPNext.
For example, for company that uses Batch No as mandatory which appear far below the form detail will make the system not user friendly.



Dear All,

As i am very little known to ERPNext, as exploring from last 2 months, but in love with its flexibility, open source, and community support.

I am agree with Rushabh’s view with disturbance by re-arrangement. But also think of user-friendli-ness also a big problem as evey-one have different system. I think it is better to make section-group of fields. re-arrangemet inside section is possible, and hidden sections as well as selected fields hidden options make user-friendly continue and total meshing up can not be possible.

Thanks for great product.

That’s a great use-case. We need to make the totals a lot more visible for everyone.

Thanks for sharing. Will see how we can fix this.

We thought about this but this is very hard to engineer.

hiding sections as well as fields will be possible or not?

(just as a common user can u give segement customization option so no field move out of segment. This approach may be easy)

I agree that this will help, esp. with any future UI/UX changes.

My concern is with the layout currently - and I am imagining the workaround now. But, say there are 10 fields in a section, with five on each side of the column break. If a user wants two hidden on the same side of the column break, suddenly the page layout isn’t “even”.

This is all okay if you can move the col. break, or “hide” the column break (and make it inactive) and add a custom CB in the new ‘correct’ position. Will this be possible?


After new update as standard fields can not be moved first field can not be set as custom field.

My case. I want in ‘items’ child table first field is custom field brand name on which i filter item_code to make selection easier. Now first field is compulsory item_code, which make hierarchy breaked as i had to goto 2nd field brand first and then come back to first. Any work around possible?

@jyotinb add new custom field Brand above Item Code, then filter Item Code based on Brand.


Hi @rmehta - I am not sure if this also “diswanted” by now, but when running http://localhost/desk#Form/DocType/Contact (SETUP>DOCTYPE>for Contact) I may rearrange the field order of the DocType.

See e.g. moving mobile phone up (new position 6)

But when want to “SAVE” that change, I get this error:

I tried to check the permissions but “DocType” is not available at dropdown list

So I just checked the permission for User “System Manager” and found that “DocType” element

But when activating e.g. SUBMIT right, then I get this error

Do you have any suggestion, to get the communication fields (EMAIL, PHONE, MOBIL) on the Contact beneath each other field?


There is a workaround which can be used.

  1. Create Custom Fields (abc_email, abc_phone, abc_mobil), through customize form and place them where you wish
  2. Hide the original fields using “Customize Form” (email_id, mobile_no, phone)
  3. Write a custom script to set value of original field when custom field is changed:

example lead-client custom script:

frappe.ui.form.on("Lead", "abc_email", function(frm){
    frm.set_value("email_id", frm.doc.abc_email);

frappe.ui.form.on("Lead", "abc_mobil", function(frm){
    frm.set_value("mobile_no", frm.doc.abc_mobil);

frappe.ui.form.on("Lead", "abc_phone", function(frm){
    frm.set_value("phone", frm.doc.abc_phone);


Hi @revant_one

Thanks for your comment, I fear about such a solution.

Is there any chance (without patching the sources) to re-arrange the original fields, maybe also in hook or via script?

Thanks for help

The script I mentioned is to be added in Setup > Custom Script, for doctype Lead

That will not modify any source in lead.js

Hi @revant_one

yes, thanks, I got that this would be included as a Custom-Script

My question was, if there is an option for a CUSTOM script to RE-ARRANGE the existing fields as well and not to create new fields and put them in sync.

@revant_one @rmehta

Hi guys, I hope I had not annoyed you. It would be kind to get the info if there is in any way an option for a custom script to re-arrange core fields or not.

I can understand your reasons and decision that you have revoked that functionality in general. But creating a lot of equal and fields in sync just for re-arrangement is also boring.

Thanks for a short feedback in advance

@TomFreudenberg if you want a change, it should make sense for everyone and you should add it in the product. Else there is no easy way I know to re-arrange.

Hi @rmehta thanks for your comment.

You mean change as PR to do such kind of re-arrangements? But that would break again your decision from this post. So, we have to agree to your decision and stay with it as it is or choose custom fields in sync. In the moment I can’t see kind of solution which is aligned with your decision, do you?