Top 5 Best Practices for a Smooth Infor CRM Upgrade
Upgrading Infor CRM is one of those tasks that looks easy on the surface. You run a few installers, import some bundles, rebuild the schema, build and deploy, and that should be it, right?
Not exactly.
If you have ever done an upgrade, especially one involving older environments with years of customizations, you already know how quickly things can go sideways. The good news is that most of the pain is avoidable with the right prep and a few battle-tested habits.
Here are the five things that consistently make upgrades smoother, more predictable, and far less stressful.
1. Know Your Environment Before You Touch Anything
Every Infor CRM system is unique. Different servers, different IIS setups, different customizations, and different mystery features someone added in 2014.
Before you start:
- Take stock of server versions, IIS modules, and .NET versions
- Compare web.config files because they will differ
- Look for unusual authentication setups
- Check for old ION, Accounting, or SLXClient integrations that no one remembers but the business still depends on
You do not need a 40-page document. You just need to know what you are working with before you begin because the moment you think “it will probably be fine” is usually the moment something breaks.
2. Inventory Customizations, Every Single One
Infor CRM systems almost never stay vanilla. SmartParts, business rules, custom JavaScript, VFS overrides, bundles that were manually tweaked years ago, and quick fixes that became permanent all show up during an upgrade.
Your audit should:
- List every plugin and version
- Identify files in the VFS that override stock behavior
- Flag anything referencing deprecated APIs
- Document JavaScript injected into forms or Client Portal
This step usually determines whether your upgrade is a simple evening task or a multi-day “why is Sales Orders broken” nightmare, and if you inherited a system and have no idea where something lives, you should assume it is customized somewhere.
3. Review and Merge Web.config Changes Carefully
Upgrades almost always generate a new web.config, and that file is usually where the sneakiest problems hide. Even small differences can break authentication, integrations, or custom behavior, so treat this step as mandatory.
During the merge:
- Compare the old and new web.config line by line
- Reapply custom appSettings entries
- Restore authentication and authorization rules exactly as they were
- Ensure any intentional customizations are preserved instead of overwritten by stock defaults
Think of the web.config as the place where “one missing line” turns into a two-hour debugging session. If something feels off after the upgrade, this is almost always the first file to check.
4. Do a Full Test Upgrade and Script Everything
A test upgrade is not optional. It is the only way to avoid crisis upgrades and late-night troubleshooting.
During the test:
- Follow the same sequence you will use in production
- Time each major step
- Import the same bundles
- Test authentication
- Verify SmartParts and custom logic
- Check integrations, reporting, SpeedSearch, and background jobs
Then document the entire process. When you are in production and something unexpected happens, you will be grateful you took the time. And even if the test upgrade goes perfectly, production will still find a way to surprise you, so having a playbook is everything.
5. Clean Up the Environment Before Go Live
If you try to upgrade a messy environment, the upgrade will act messy.
Do some cleanup first:
- Remove obsolete plugins
- Fix broken picklists
- Resolve orphaned records
- Purge old and unused groups, especially those no one has opened in years
- Make sure app pool recycling works
- Verify backups and test a restore
A clean environment behaves nicely. A cluttered one does not, and this is one of the easiest ways to prevent upgrade pain.
A Quick Note on Experience
You can absolutely do all of this yourself. Many teams do.
But if your environment is heavily customized or running on older versions, it can help to work with someone who has seen a lot of upgrade situations. Customer FX has handled upgrades across almost every version combination, which means we have already encountered most of the issues that cause trouble and we know how to avoid them.



