Research / Private equity
How to Modernise a Legacy ERP Without Stopping the Business
Plan a legacy ERP migration with staged cutovers, parallel runs, financial reconciliation, and recovery controls that keep orders and operations moving.

Modernise a legacy ERP by choosing a business boundary you can migrate, proving the data and controls at that boundary, and rehearsing how staff keep working during cutover. Plan any required freeze explicitly. Keeping the business operating can include a short, scheduled system outage and a controlled queue of work; don't promise zero downtime before you understand the dependencies.
Map the work that depends on the ERP
Start with an order that becomes a shipment and a payment. Watch the people who handle it, including the exceptions. Record the systems, reports, and approvals they use. A replacement that imports the order table but drops a warehouse allocation rule can still prevent the business from shipping.
Inspect the less visible connections too. List scheduled exports, bank files, label printers, customer portals, and spreadsheets that staff use to reconcile totals. Ask who responds when each connection fails. Trace an end-of-month close and a return, because the normal sales path won't expose every dependency.
A recent accounting discussion about merging an acquisition onto SAP describes mismatched charts of accounts, vendor records, approval habits, and close calendars. It's an example of a reader's problem, not evidence of how often migrations fail. The planning question is concrete: which differences need a business decision before the team can move the records?
Name the process owners who can answer those questions. Finance owns the accepted accounting outcome; operations owns the ability to fulfil work. The ERP specialist identifies supported configuration and migration methods, while the integration engineer traces data movement. A sponsor resolves trade-offs when those owners disagree.
Build a calendar around the business. Include payroll, stock counts, peak ordering periods, and financial close. Agree how long each process can pause and how much queued work staff can clear afterwards. A technically short outage can still exceed the company's capacity to recover its backlog.
Check the actual support deadline for your installed version. SAP's Business Suite 7 maintenance policy lists mainstream maintenance through the end of 2027 for specified core applications and enhancement packages, followed by optional extended maintenance through the end of 2030. Confirm your eligibility and agreement with SAP; that policy doesn't establish a universal deadline for every ERP installation.
Choose wrapping, replatforming, or replacement
Separate the immediate operating problem from the destination architecture. You may need better order capture while the current ledger still meets business needs. You may instead face an unsupported database or a product that can't support the acquisition's reporting requirements. Each problem justifies a different first step.
Wrapping means adding an application or integration around the existing ERP through supported interfaces. For example, a new order screen can validate a request and submit it through the ERP's approved API. This can improve a narrow workflow while the ERP still controls stock and accounting. Budget for the connector and the dependency it preserves.
Replatforming changes the environment or selected technical components while preserving much of the application. AWS's COTS replatforming guidance includes unsupported operating systems and databases among the reasons to consider it. For a packaged ERP, confirm the vendor's supported combinations, licensing, and test requirements before choosing a new host or database.
| Approach | When it may fit | What you must establish |
|---|---|---|
| Wrap a workflow | Staff lose time at an interface, while the ERP's underlying business controls still fit. | Supported APIs, permission checks, duplicate prevention, and a funded connector owner. |
| Replatform | The hosting or runtime creates a support problem that a compatible upgrade addresses. | Vendor compatibility, restored-environment tests, performance, and an upgrade recovery plan. |
| Replace in stages | The target supports a boundary such as a legal entity or site with manageable dependencies. | Transaction ownership, cross-boundary reconciliation, temporary integrations, and retirement dates. |
| Replace in a coordinated cutover | Shared posting and operational dependencies make a smaller boundary unsafe or unsupported. | A rehearsed freeze, accepted balances, tested continuity procedures, and staffed recovery. |
Microsoft's Strangler Fig pattern describes moving functionality incrementally while routing requests to the appropriate system. It gives a framework for staged replacement. A packaged ERP's vendor support and posting dependencies determine where you can apply it; don't infer permission to split its database or write directly into its tables.
Choose the smallest coherent business boundary, which may include several modules. Moving a warehouse while its inventory valuation depends on the old ledger needs an explicit supported design. Compare that complexity with moving an entire entity. Staging reduces the size of a cutover only if the temporary coexistence is manageable.
Define which system owns each transaction
Write a system-of-record matrix before connecting the environments. For every business object, name where staff create it, where they correct it, and which system publishes its accepted state. Include effective cutover times and identifiers. A replicated record doesn't give the receiving system authority to change it.
Follow a transaction across the boundary. If the new order screen submits to the old ERP, record the request identifier and the ERP order number together. If a network timeout interrupts the response, query the outcome before trying again. An unanswered request may already have created an order.
Assign stable identifiers and preserve the cross-reference during migration. Customer names and supplier descriptions alone make poor matching keys. Document how revisions, cancellations, and corrections travel. Keep rejected messages visible to an operator who can resolve them without bypassing approval controls.
Describe synchronization in business terms. State its direction, expected delay, and the process for missing or out-of-order updates. Decide what staff do when the receiving view is stale. A dashboard that shows yesterday's stock needs a different operating rule from a service that allocates stock for today's orders.
Avoid competing writers for the same object unless the product has an explicitly supported conflict-resolution design. Two teams correcting the same vendor bank record in different systems create ambiguity about which approval applies. Restrict the inactive writer and make the current route clear to staff.
Prove the data with business reconciliation
Give each dataset an owner and a signed mapping specification. Cover identifiers, units, currencies, dates, and account mappings. Resolve duplicate suppliers and obsolete items through an approved business process. Keep a record of what the team excludes and where staff can retrieve that history.
Compare record counts and import rejects, then reconcile business totals at the same cutoff. Finance should inspect the trial balance and open receivables and payables, including agreement with their control accounts. Operations should inspect stock by location and relevant unit, plus open orders, reservations, and uncompleted work. Your ERP and business determine the precise checks.
Break totals into meaningful groups. A matching overall stock value can conceal extra stock at one warehouse and missing stock at another. Compare quantities and valuation under the approved method, and investigate unexpected differences. Label intentional transformations separately so an accepted account mapping doesn't hide an import error.
Test the lifecycle after import. Settle an open invoice in a safe environment, process a partial shipment, and return an item that originated before cutover. Check the resulting records and postings with the process owner. Correct opening balances don't establish that staff can complete the outstanding work.
Use the same reconciliation method in rehearsal and production. Store the cutoff, source extract identifiers, transformation version, exception register, and approval. Define tolerances with the relevant owner and specify which differences block release. An engineer shouldn't invent a financial acceptance threshold on cutover night.
Decide which history needs migration and which needs an accessible archive. Test searches for a past customer dispute and an audit request using the roles that will perform them. Include retention, licensing, and access requirements in the reviewed archive plan before retiring the old application.
Run in parallel without duplicating real actions
A parallel run needs a precise definition. A shadow environment can process a copy of approved transactions and compare outcomes without sending payments or shipment instructions. Two live systems processing the same transaction can create duplicate external actions. Configure and test which environment may issue each action.
Disable outbound effects in the shadow environment, including bank files, customer messages, labels, and downstream integration jobs. Confirm that the isolation also covers batch tasks and retries. Staff need unmistakable environment labels so they don't accidentally treat a rehearsal record as a live instruction.
Compare equivalent business states after the same processing cutoff. Include tax treatment, rounding, allocations, and rejected cases where relevant. Investigate differences with the owner who understands the business rule. A matching screen layout provides little evidence about the final financial or operational result.
Set a bounded parallel period and name its exit criteria. Running two systems indefinitely costs staff time and can create a growing reconciliation burden. Test enough representative work to address the identified risks, then decide whether to cut over, repair a specific defect, or change the scope.
Train staff on exceptions as well as normal entry. Ask them to find a failed import, resolve an order mismatch, and follow the approved manual route. Measure the backlog they can handle during a rehearsal. That evidence helps determine the staffing and pause window the real cutover needs.
Rehearse a bounded cutover
Use a runbook with named owners, dependencies, and measured durations. Specify the last legacy transaction, the point at which staff stop writing, and how you capture the final changes. Rehearse against a suitably protected production-like copy and record the actual result of each step.
Before starting, confirm the approved data state, staff coverage, backups, restore evidence, and go/no-go authority. Define a latest abort time that leaves enough time for the agreed recovery before business resumes. A backup file without a tested restoration path provides weak evidence for that decision.
Consider an illustrative distributor moving one legal entity to a supported target ERP. The entity continues trading before its scheduled cutover. At the agreed cutoff, staff stop legacy entry and put new requests into an authorised queue with unique references. The migration team applies the final changes and reconciles balances and open work before the release owner authorises target entry.
The operations team then enters a controlled initial set of queued orders and verifies allocation and fulfilment. Finance checks the resulting postings before the team expands processing. The queue records which requests staff have completed, so a repeated import can't silently duplicate them. This is a planning example, not a client result or a recommended universal sequence.
Test the queue itself. Staff need approved access, adequate fields, and a clear rule for urgent requests. Don't introduce ungoverned spreadsheets containing sensitive customer or payment data. Agree how the team detects missing requests and resolves changes that arrive during the pause.
Keep operational monitoring active after entry resumes. Watch unresolved integrations, rejected transactions, and the rate at which staff clear work. Define when the incident lead pauses a specific process. The first successful order is an initial check; later settlement and close provide further evidence.
Separate rollback from transaction recovery
Before target entry begins, rollback may mean aborting the migration and reopening the unchanged legacy system after checks. After the target accepts transactions, recovery also needs to account for that new work. Record the point where the simple abort path ends and the additional steps begin.
Suppose the new ERP creates an invoice and the warehouse ships its order before a defect appears. Restoring yesterday's database doesn't undo the shipment or the invoice the customer received. The recovery lead needs a ledger of accepted transactions and external actions, with a reviewed method for replay, correction, or completing the work in place.
Rehearse post-cutover recovery separately from backup restoration. Check stable identifiers, duplicate handling, and the destination's ability to accept the intervening transactions. Include approvals for accounting corrections. If replay into the legacy system isn't supported or can't meet the business deadline, plan controlled repair in the target instead.
Keep the old environment and the required recovery interfaces available for the approved period. Microsoft explicitly warns in its incremental migration guidance that removing legacy data structures and synchronization makes rollback more difficult. Apply that retirement principle within your ERP's supported design rather than deleting vendor-managed tables.
Write recovery triggers in observable terms. An unexplained reconciliation difference, repeated duplicate posting, or inability to fulfil work may block expansion. Name the decision-maker and evidence they need. A vague instruction to roll back if anything looks wrong leaves the team without an executable plan.
Fund the transition and retire the old system
For a PE-backed company, include coexistence costs in the investment case. Budget for temporary integrations, reconciliation staff, dual licences, archive access, and support after cutover. Track those costs against a dated retirement plan. A smaller initial migration can still cost more overall if the company never removes the bridge.
Separate ERP benefits from AI benefits. A clean supplier register or a faster standard approval workflow can improve operations without a model. If you add AI-assisted document extraction, measure review work and exceptions using the full cost of the workflow. Don't credit the same time saving to both programmes.
Keep early AI work within a stable operating boundary. Read-only explanations or reviewed drafts may fit while the ERP still owns posting. Test record access and freshness, and keep authoritative validation outside model-generated text. Avoid changing the posting system and the model's decision authority in the same first cutover.
Assign a permanent workflow owner alongside the migration team. They need the exception register, monitoring, support contacts, and authority to pause processing. Our guide to ownership after an AI launch applies to the connector and review process too. A project team's departure shouldn't remove the only person who understands the queue.
Set retirement acceptance with finance and operations. Complete the required settlement and reporting checks, prove archive access, and confirm the agreed recovery period has ended. Then remove obsolete writes and integrations through the approved change process. Keep the migration evidence available to the people responsible for the next close or acquisition.
Your next investment decision should identify a specific boundary, its supported migration method, and the evidence needed to release it. Fund that evidence and the temporary operating work alongside the software. That gives the sponsor a decision they can make before committing the rest of the organisation to the target.
