Upgrading to Erpnext v14

Hello all,
I am running a ERPNext v13 (manual install) instance in a self hosted Ubuntu 20.04 LTS server.

Now that ERPNext v14 is out for a few days, I am planning on upgrading to ERPNext v14.

Are there any things to note before upgrading ? I have come to know about different modules moving to app. Currently, we extensively use HR module, which I learnt has moved to an app.

Also, I have a few questions:

  1. Is v14 really stable as it is discussed ? I understand it comes with errors and others, but is it safe to use for a production server ? In other words, has anyone found any major error in v14, which worked perfectly in v13, that needs to be corrected ?

  2. Do you suggest to upgrade now or wait a few more weeks to allow for major bug fixes ?

  3. While upgrading, what steps should we follow in order to make sure everything works fine without error ? Will all my employees records, payroll, etc records reappear in v14 just as in v13 after I install HRMS app ?

Hi, my scenario was similar to yours. Like you I had v13 manual install on Ubuntu 20.04 LTS. This post was the documentation of my experience. I tried both the switch-to-branch and get-app --branch methods and neither was completely error-free. Using the get-app --branch method worked better because with that method at least each command succeeded in what it was intended to do despite errors printed to the screen.

  1. In my experience so far after a few days it’s been working pretty well for me. One thing that was a surprise was the new immutable payment ledger. It’s not an error, but it was a major functionality change that wasn’t headlined that impacted how the accounting module works in a substantial way. As with any upgrade, definitely make sure you have a tested backup plan you know for sure will work for rolling back to v13 if you find something you can’t live with, error-wise or change-wise. Try it out for a day or two with a foolproof way to go back if you need to or just want to.

  2. It’s always safer to wait. Just look at the output of bench version - the version numbers suggest caution:
    frappe 14.0.2
    erpnext 14.0.0
    hrms 0.0.1
    payments 0.0.1

  3. See my post including my comment for the get-app --branch method for the steps I took. Neither of the methods I tried were completely error free. But after installing the hrms app, I did have all my employee records, payroll, expense claims, etc from v.13 still present.


I agree with all the points made by @trustedcomputer :+1:

In my experience with ERPNext, it’s very difficult to qualify “stability”. For example, many of the V14 changes have been backported into V13. Leading to (potential) instability in V13, which has been around for 1.5 years.

I would wait a few weeks. But here are some other things to think about:

  1. Test in a Test Environment.
    If you’re going to upgrade, try it first in a Test Environment. Never in Production. If the upgrade fails or goes wrong, you’ve done no harm.

  2. Create a Checklist of Tests
    How do you really -know- the new version is okay? Without writing your own Unit and Integration Tests (a ton of work), the best way is to create a checklist of your operations:

  • Create a Sales Order
  • Post a Delivery Note for the Sales Order
  • Post an Invoice for the Sales Order
  • Create a Stock Entry for Transfer.
  • Review the Stock Ledger, and verify the costs are okay.
  • Compare all the important Employee fields in v13, versus v14.
  • Run payroll.

Yes, there will be dozens or hundreds of tests. Yes, it’s a lot of effort. But it’s the only way to know if the new version is okay. Without doing these tests, you are only assuming it’s okay.

  1. Lock yourself onto a Minor Version for a while
    If today you’re using v14.0.0, then tomorrow v14.0.1, then next day v14.0.2? You are chasing a moving target.

Yes, moving to a new version might fix your problems…
But moving to a new version might also create new problems.

So always upgrade intentionally, with a plan. Don’t just automatically upgrade each day. If you want to be on version 14.0.7, then plan for that. First do it in a Test environment. Second, in your Production environment. Then stay on 14.0.7 until your next intentional decision. That could be 14.0.8. Or it could be 14.3.0.