Skip to main content
ERPNext Upgrade

Nobody Is Afraid of the Upgrade. They Are Afraid of What It Breaks

Businesses sit years behind on ERPNext because nobody can say what an upgrade would do to their customizations. We answer that first, on a staging copy, with a written list of what breaks, before any production date is discussed.

50+ ERP and software projects. Zero failed projects since 2021.

Upgrade Path
Illustrative
The shortest safe route, not the biggest jump
Current Core files edited, upgrades blocked Today
Step 1 Core edits moved into a custom app Unblock
Step 2 Intermediate release, patches applied Staging
Step 3 Regression testing per module Sign-off
Target Production window, rollback ready Live
Duration measured on staging, not estimated.
3-6 wk
Assessment to production
Staging
Rehearsal before any date is set
Written
List of what breaks, up front
Rollback
Time included in the window
Why It Matters

Staying behind gets more expensive every year

Security patches stop, community answers stop applying to your version, and each release you skip makes the eventual jump harder.

Find the Blocker

It is almost always an edit to core

Instances get stuck because somebody changed a core file rather than building a custom app, and an upgrade would wipe that change. The assessment finds every one of those edits and prices moving them into a supported app. That work unblocks this upgrade and every future one, which is where its real value sits.

  • Core edits identified and listed with their purpose.
  • Migration into a supported custom app costed.
  • Future upgrades unblocked, not just this one.
Reviewing custom code that blocks an ERP upgrade
Rehearse, Then Commit

The staging run is what makes the window real

We run the full upgrade on a copy of your live database, timing each step, so the production window is measured rather than guessed. Regression testing then puts each module through its normal cycle, and everything that breaks is fixed on staging while your live system carries on untouched.

  • Full rehearsal on a copy of production data.
  • Each step timed, so the window is accurate.
  • Breakages found and fixed before the real run.
Regression testing an ERP system before an upgrade
What We Check

Everything tested before the production window

Each of these has stopped an upgrade at some point, which is why each one is checked deliberately.

⚙
Custom app compatibility
Every customization run against the target version, with deprecated methods and renamed fields identified.
🔗
Integrations
Each connected system exercised on staging, because API changes break integrations quietly.
🖲
Print formats and reports
Invoices, statutory documents and custom reports rendered and compared against current output.
🔒
Permissions and workflows
Role permissions and approval chains verified, since permission behaviour does change between releases.
⚡
Performance
Key reports and list views timed before and after, so a regression is caught on staging.
📊
Data integrity
Trial balance, stock valuation and document counts compared before and after the upgrade.
How It Works

From assessment to a measured production window

1
Assess
We find the blockers, map the version path and list what will need work.
2
Unblock
Core edits moved into a supported custom app so upgrades become possible.
3
Rehearse
Full upgrade on a copy of production, with every step timed.
4
Test and fix
Regression testing per module, with fixes applied on staging.
5
Go live
A measured window with backup taken, checkpoints and a rollback point.
What Is Included

What the upgrade covers

🔍

Pre-upgrade assessment

Blockers, version path, and a written list of what will need work and roughly how much.

🧪

Staging rehearsal

The full upgrade run on a copy of production, with each step timed.

✅

Regression test pack

A test per module covering your real cycles, signed off by the teams that use them.

📋

Breakage report

Everything that failed on staging and what was done about it, before you set a date.

↩

Rollback plan

Backup, restore steps and the cut-off point, with rollback time inside the window.

🛡

Post-upgrade support

We stay close through the first week and the first close on the new version.

What Changes

What getting current gives you

Current
Security patches again
Routine
Future upgrades, not projects
Supported
Customizations in a proper app
Available
Features added since your version
Relevant
Community answers and docs
Known
Window, measured not guessed
Why Us

Why teams choose TCB Infotech for ERPNext upgrades

1
We find the blocker first
Knowing why you are stuck is more useful than a date you cannot keep.
2
We unblock permanently
Moving core edits into a custom app fixes every future upgrade, not just this one.
3
Windows are measured
We time the staging run, so the downtime you plan is the downtime you get.
4
Rollback is planned
The cut-off point is agreed before we start, with restore time inside the window.
5
Stepped where needed
We take intermediate versions when that is safer, rather than forcing one jump.
6
Proven delivery
50+ ERP and software projects across industries, with zero failed projects since 2021.
FAQ

ERPNext upgrade questions

We are several versions behind. Can we jump straight to the latest?
Sometimes, but often it is safer to step through the intermediate releases, because each one carries its own data migration patches that later versions assume have already run. We work out the shortest safe path during the assessment rather than attempting the biggest jump and hoping.
Why are we stuck in the first place?
Almost always because somebody edited core files instead of building a custom app, so an upgrade would overwrite work nobody can reproduce. The assessment finds those edits and tells you what it takes to move them into a supported custom app, which is what unblocks every future upgrade too.
Will our customizations survive?
Anything built properly in a custom app usually needs adjusting rather than rebuilding. Anything patched directly into core will be lost. We test every customization on a staging copy against the target version and give you a written list of what breaks before you commit to a date.
How much downtime does the upgrade need?
For most instances a few hours, usually taken overnight or at a weekend. Very large databases take longer, and we measure the actual duration during the staging rehearsal rather than estimating it, so the window you plan is the one you need.
What if something goes wrong during the upgrade?
We take a full backup before starting and agree the rollback route and its cut-off point in advance. If a checkpoint fails we restore and you are back on the previous version the same night, which is why the window includes rollback time rather than assuming success.
How long does the whole process take?
Typically 3 to 6 weeks from assessment to production, with the production upgrade itself being a single window. Most of the time goes on the staging rehearsal and on fixing whatever the regression testing finds, which is exactly where it should go.

Find Out Why You Are Stuck

Book a free consultation. Tell us which version you are on and what has been customized, and we will scope an assessment that gives you a real answer.

Book a Free Consultation →

No commitment. A clear view of your upgrade path.

Upgrade Features

What Is Inside an ERPNext Upgrade

Running the upgrade command takes minutes. Everything that makes it safe happens before that. Here is the assessment, the rehearsal and the testing that stand behind the production window.

Core Features

From finding the blocker to a window you can plan around

Assessment and Path

Why you are stuck, and the shortest safe way out

We audit the instance for core file edits, undocumented scripts and third-party apps with no maintained version for your target. Then we plan the route, which is sometimes a direct jump and often a stepped path through intermediate releases whose data patches later versions assume have already run.

  • Core edits found and listed with their original purpose.
  • Third-party apps checked for target version support.
  • A stepped or direct path chosen on evidence.
Auditing customizations that block an ERPNext upgrade
Rehearsal and Testing

The whole thing, on a copy, with a stopwatch

The full upgrade runs on a copy of your production database and every step is timed, which is how the production window stops being an estimate. Regression testing then puts each module through a real cycle, and print formats, integrations, permissions and key report timings are all compared against current behaviour.

  • Every step timed on production-sized data.
  • Module-by-module regression against real cycles.
  • Print, permissions, integrations and performance all checked.
Regression testing modules before a production upgrade
Window and Rollback

A plan that assumes something might go wrong

The production run has a full backup, timed checkpoints and an agreed cut-off after which we restore rather than push on. Rollback time sits inside the window rather than outside it, which is the difference between a controlled decision at two in the morning and an improvised one.

  • Full backup verified before the window opens.
  • Checkpoints with explicit go or no-go criteria.
  • Restore time budgeted inside the window.
Running a planned upgrade window with rollback ready
What You Get

Everything the upgrade delivers

🔍

Assessment report

Blockers, version path and the work each one needs, with estimates.

🧪

Timed staging run

The full upgrade rehearsed on production-sized data, with per-step durations.

✅

Regression test pack

Reusable tests per module, so the next upgrade starts from a known baseline.

📋

Breakage report

What failed on staging, what was fixed, and anything you need to accept.

↩

Rollback plan

Backup verification, restore steps and the agreed cut-off point.

🛡

Post-upgrade cover

Close support through the first week and the first period close.