The Migration Nobody Wants: Getting Off Legacy ERP
Your company runs on an ERP system that was implemented in 2008. The consultants who built it are gone. The vendor has announced end-of-life. The system runs critical business processes that nobody fully understands. And the word “migration” triggers anxiety attacks in the finance department.
You are not alone. This is the reality for thousands of mid-market and enterprise companies sitting on legacy ERP systems that are simultaneously too important to replace and too old to maintain. The system processes every invoice, manages every purchase order, calculates every payroll, and generates every financial report your board reviews. It is, in a very real sense, the nervous system of your organization — and it is deteriorating.
The tragedy of legacy ERP is that the longer you wait, the harder the migration becomes. Every year of delay adds another year of accumulated customizations, another batch of departed institutional knowledge, and another layer of integration complexity. The organizations that migrate proactively spend less, suffer less disruption, and recover faster than those forced into emergency migrations by vendor end-of-life deadlines or catastrophic system failures.
Why You Can’t Stay
The arguments for staying are seductive: “It works.” “We know it.” “The cost of migration is enormous.”
But “it works” has a declining half-life, and each of the forces driving that decline is accelerating.
Talent. The engineers who understand your customized AX 2012 implementation are retiring. The new generation doesn’t learn these systems — they learn cloud-native platforms, Python, and modern APIs. Your support costs are rising because the supply of expertise is shrinking while the demand remains constant. I’ve watched hourly rates for legacy Dynamics consultants climb from $150 to $300 over five years, and the trend shows no signs of reversing. Within a decade, the expertise to maintain these systems will be effectively unavailable at any price.
The talent problem compounds: as your internal experts leave, the knowledge of your specific customizations leaves with them. The new contractor doesn’t know why the AP workflow has a seventeen-step approval chain or why the inventory module calculates landed cost using a custom formula that differs from the standard algorithm. They can read the code, but they can’t read the intent — and intent is what matters when something breaks.
Security. End-of-life systems don’t receive security patches. Your ERP — which handles financial data, customer data, employee data, and supply chain operations — is running on software with known, unpatched vulnerabilities. This isn’t theoretical risk. Cyber insurance underwriters are increasingly asking about ERP version and patch status. Some are declining coverage for organizations running unsupported platforms. A single ransomware attack targeting a known vulnerability in your unpatched ERP could cost more than the entire migration.
The security exposure extends beyond the ERP itself. Legacy systems often require legacy infrastructure — older operating systems, outdated database versions, deprecated network protocols — each of which carries its own vulnerability surface. Your ERP’s security posture is only as strong as the weakest component in its dependency chain.
Integration. Every new system you adopt needs to integrate with the legacy ERP. Each integration is a custom project because the legacy system predates modern APIs. The integration layer becomes an archaeological site of point-to-point connections — flat file exports, scheduled SSIS packages, custom middleware that someone built in BizTalk five years ago. Every new integration adds fragility. Every existing integration resists change. The cost of maintaining the integration layer often exceeds the cost of maintaining the ERP itself.
Competitive disadvantage. While you’re spending engineering cycles maintaining a system from 2008, your competitors are deploying modern platforms that provide real-time analytics, AI-powered forecasting, and automated workflows. The gap widens every quarter. Your legacy system isn’t just a technology liability — it’s a business strategy constraint that limits how fast you can move, what data you can access, and how quickly you can respond to market changes.
The Migration Framework
Phase 0: Business Process Mapping (8-12 weeks)
Before you evaluate any new system, document what the old system actually does. Not what it was designed to do — what it does today, including every customization, report, workflow, and integration.
This phase is painful and unglamorous. It’s also the single most important phase. Every failed migration I’ve seen skipped or abbreviated this step. They assumed the new system would replicate the old one. It can’t — because nobody knows exactly what the old one does until they systematically document it.
Business process mapping should answer these questions for every major workflow:
- Who initiates it? Which roles and departments trigger this process?
- What data enters? What inputs does the process consume, and where do they come from?
- What transformations occur? What calculations, validations, approvals, and routing happens?
- What exceptions exist? What happens when the standard flow can’t handle a situation?
- What outputs result? What documents, records, notifications, and reports does it produce?
- What downstream systems consume the output? Which integrations, reports, and processes depend on this one?
The mapping will reveal uncomfortable truths. You’ll discover workflows that exist only because of a limitation in the old system. You’ll find customizations that nobody remembers requesting but everyone depends on. You’ll uncover manual workarounds that have become so routine that people forgot they were workarounds. All of this is valuable information — it’s the difference between migrating what you need and migrating what you have.
Phase 1: Parallel Path Evaluation (6-8 weeks)
Evaluate potential platforms against your business process map. The goal isn’t finding the system that does everything your legacy ERP does — it’s finding the system that does what your business actually needs.
This distinction is critical. Some legacy processes should be eliminated, not migrated. The month-end reconciliation that takes 5 days because of a limitation in the old system? The new system might handle it in hours, if you don’t insist on replicating the old workflow. The custom report that three people run but nobody acts on? Delete it. The approval chain with seven levels because the old system couldn’t enforce spending limits at the transaction level? Simplify it.
Evaluation criteria should include:
- Functional fit against your process map — not a feature checklist, but actual workflow coverage
- Integration capability — modern APIs, webhooks, event-driven architecture, not just “we have an API”
- Implementation partner ecosystem — who will do the work, and do they have relevant experience?
- Total cost of ownership over 5 years, including licenses, implementation, training, customization, and ongoing support
- Exit strategy — how hard is it to leave this platform if you need to?
Phase 2: Data Strategy (Concurrent with Phase 1)
Decide what data migrates and what doesn’t. Historical transactions from 2008? Probably not needed in the new system — archive them in a read-only data warehouse. Master data like customers, vendors, and items? Definitely migrates, but needs cleaning first.
Data quality is the variable that extends timelines more than any other factor. Start early, and start with the most critical data domains.
Data cleansing priorities:
-
Duplicate detection and merging. Your legacy system has accumulated duplicate customer records, vendor records, and item records over 15+ years. The new system will expose these duplicates painfully. Clean them before migration, not after.
-
Standardization. Addresses in five different formats. Phone numbers with and without country codes. Currency amounts stored as strings in some fields and decimals in others. Every inconsistency that the old system tolerated, the new system will reject.
-
Validation. Referential integrity that the legacy system never enforced. Orphaned records. Foreign keys pointing to deleted records. Business rules that were implemented in code but never in data constraints.
-
Archival decisions. Define a cutoff date. Transactions before that date go to an archive. Transactions after that date migrate. Make this decision with finance, legal, and compliance — not just IT.
Phase 3: Phased Rollout (4-12 months)
Don’t migrate everything at once. The “big bang” approach — where you switch everything over on a single weekend — is the highest-risk strategy available. It maximizes the blast radius of any migration defect and eliminates the fallback option.
Start with the module that has the least risk and the most pain. If AP takes 40 hours per month of manual workarounds in the legacy system, migrate AP first. Prove the approach. Build organizational confidence. Then move to the next module.
A recommended sequencing for most organizations:
- Accounts Payable — high volume, well-understood, measurable improvement
- Procurement — closely linked to AP, benefits from shared vendor master
- General Ledger — the backbone, but also well-defined and testable
- Accounts Receivable — customer-facing, higher risk, benefits from GL foundation
- Inventory/Supply Chain — often the most complex, benefits from all prior modules
Each phase should run in parallel with the legacy system for at least one full business cycle before cutover. Yes, that means temporary double data entry. Yes, that’s expensive. It’s far less expensive than a failed cutover that leaves your finance team unable to close the month.
Phase 4: Stabilization and Optimization (3-6 months post-cutover)
The migration isn’t over when the new system goes live. It’s over when the new system is performing better than the old one. Plan for a stabilization period where you address the inevitable issues: reports that don’t match, workflows that need adjustment, integrations that need tuning, and users who need additional training.
Budget for this phase explicitly. Every migration I’ve seen that declared “done” at go-live suffered months of unplanned firefighting. The organizations that planned for stabilization handled the same issues calmly and systematically.
The Human Factor
Technology migration is organizational change, and organizational change requires change management. The finance team that has used the same system for 15 years isn’t just learning new software — they’re abandoning expertise that defined their professional identity.
Invest in training early and heavily. Identify champions in each department — people who are enthusiastic about the change and can support their colleagues. Acknowledge the difficulty openly. And accept that productivity will temporarily decrease before it increases. That dip is not a sign of failure; it’s the cost of learning.
The migration nobody wants is often the migration everyone needs. The question isn’t whether to migrate — it’s whether you’ll do it proactively on your timeline or reactively on the vendor’s timeline. Proactive migrations are planned, budgeted, and phased. Reactive migrations are panicked, expensive, and disruptive.
Choose the timeline. Don’t let the timeline choose you.
The Garnet Grid perspective: Legacy ERP migration is our specialty. We’ve guided organizations from AX 2012, GP, NAV, and custom ERP to modern platforms with minimal disruption. Explore our ERP advisory →