Migration of erpnext 13 to 14 (Debian -> Ubuntu)


I have playing around with erpnext 13 for some months now and we’d like to upgrade to erpnext 14.
My current setup is: Debian 11 with python 3.8, node 14.2 & mariadb
I’d like to „migrate“ my installation to erpnext 14 on Ubuntu 22 LTS with python 3.10 and node 16. Reason for Ubuntu 22 being python 3.10.

My question:
What is the preferred way to do a smooth migration?
Can we import the backups made with frappe 13 / erpnext 13 right into a blank installation off rappe 14 / erpnext 14?
Is there a working guide on how to migrate from erpnext 13 to 14?

Any help or suggestion would be appreciated.

Thanks, Mat

I have not made an 13->14 upgrade yet, but what I would try in your case is to install the same version 13 on the ubuntu 22, import database backup from v13, then perform upgrade to v14.

You can install v14 on Ubuntu 22, restore the backup with files, and run bench migrate
This is the most straightforward way, If you have any custom app or customization make sure all are available before migration.

Several core modules of ERPNext v13 has been split into separate apps from ERPNext v14 onward, including HRMS, Education, etc. So, make sure to install all the required apps in order to enable the needed functionalities.

thanks for that. I already tried to import the erpext13-data into erpnext 14 - but unfortunatelly it wasn’t successful. If you think that’s a possible way I’ll try it again.

Cheers Mat


I just wanted to let you know that I managed to do a migration from erpnext 13 on Debian 11 to erpnext 14 on Ubuntu 22 with the following ways
1.) Install a Ubuntu 20 with nodejs 14 + python 3.8 and import the existing erpnext 13 site
After that migrate the whole virtual machine from Ubuntu 20 to Ubuntu 22 with nodejs 16 and python 3.10.

2.) Install a fresh Ubuntu 22 with nodejs 16 and python 3.10 and frappe 14. Import the existing erpnext 13 backup to the erpnext 14 and finish off with „bench --site migrate“
Option 1.) is a bit more complicated and takes a lot longer since the whole virtual machine needed tob e updated.
If I had to do it again I’d recommend option 2.)

Cheers Mat