Executing DocType not the same as editable DocType? How to synch?

We are upgrading from V13 to V14.

Our customized Sales Invoice works in V14 the same as it did in V13, but some additions to the V14 Sales Invoice have messed up our column and section breaks.

When we try to edit the Sales Invoice DocType none of our customizations appear.

I expected that …

bench --site site.erpnext.host migrate;
bench --site site.erpnext.host clear-cache;

… would have correct that, but it does not.

In site_config.json we have

     :
     :
 "developer_mode": 1,
     :
     :

What else do we need to do to be able to see and edit our old customizations of Sales Invoice?

The solution depends on how you “customized.”

Possibility 1:

You edited the DocType in your own fork of ERPNext.

If this is the case, you’ll probably want to use git tools to compare your forked v13 Python module, with the new v14 Python module. Merge your changes. Then bench migrate + bench clear-cache + stop & restart the ERPNext web server.

Possibility 2:

You used the “Customize” button to alter the DocType.

When you “Customize”, the changes are only saved in the SQL database. The tricky thing is that your alterations (adding columns, section breaks, whatever), were made in the context of v13. How those alterations “translate” into v14 is a bit of an unknown.

Example:

  • Let’s say there existed a field “base_grand_total” on Sales Invoice in position 54.
  • You added a Column Break to position 55. (this shifted all the other columns downward, too)
  • But in ERPNext v14, that “base_grand_total” column might be located in position 57.
  • How will this work out? Will your Column Break still occupy position 55? Or somewhere else. What will its position be relative to “base_grand_total” ?

I have no idea. But I’m very doubtful the Upgrade is smart enough to shift your customization 3 positions forward, automatically.

You probably have to perform a complete review of Sales Invoice using Customize. Find everything you’d done. Review and edit. Maybe even retype it.

Ok. Well, we definitely didn’t fork ERPNext, so we’re exploring option #2.

I very much appreciate your detailed answer.