Users will not be able to re-arrange standard fields

From Frappe version 6.26 onward, users will not be allowed to re-arrange fields in a form unless they are custom fields. Here are the reasons:

  1. ERPNext is a constantly evolving product and new fields will be added and arrangements will change, frequently. If the user has already re-arranged fields, this creates a conflict. New fields may be added out of context in such a case. All fields have labels that have a meaning based on the section they are based in, and if you move the field out of the section, the context changes and this could be disastrous.
  2. The original motivation to allow rearrangement of fields was because there was no Print Format Builder. Now it is very easy to rearrange fields for printing.
  3. Custom fields can still be placed where ever you want.

We hate taking back features, but in this case, this feature usually leads to a bad user experience and the original motivation also does not exist. This also restricts us from releasing new features and is a lose-lose all the way.



Well I dont have much experience on this but here is what I feel about the change.

While I was creating a custom APP for customizations to Erpnext (just to ensure that the future upgrades to the parent product don’t break up), and was simply trying to make a standard field as “Allow on Submit”, discovered that this feature has been disabled.

Here i was simply trying to set the “Description” field inside ‘Sales Invoice Item’ to be edited even after Submitting the Invoice. Sometimes it so happens that the description may have some shortfalls and you realise this after getting a print of it (atleast for the first time).

Another scenario: Again going back to developing this custom APP(though I haven’t tried this), somebody wants to get the customer shipping name up along with the customer name in “Sales Invoice”, will this be possible now?

I think you should somehow let the developers use these features so to ease the future upgrades to the parent product.

I fully support this. I have had many horrible experiences whereby the standard fields are re-arranged to a point where the entire form just gets distorted and the fields just do not make sense anymore. Furthermore, to recover from this is essentially having to compare the broken form to a working one item by item.

Thanks for this.


Yes, you can do this in Print Format Builder! Just not in the form.

1 Like

@rmehta :clap: :clap: :clap:, It will solve some headaches!


@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);