Nobody replaces a loan management system because they enjoy it. They replace it because the old one can't launch products, can't explain balances, or can't pass the next audit. And then the project stalls on a single fear: the weekend you switch.
The fear is justified. A big-bang cutover concentrates every risk — data, reconciliation, operations, regulatory — into one irreversible event. Our view is simple: the way to de-risk cutover night is to not have one.
Migrate history, not balances
Most migrations copy closing balances and start fresh. That quietly destroys the audit trail: the new system can state balances but not explain them. Kontor migrates the event history — advances, payments, accruals, fees — so every migrated account can be replayed and explained on day one, under both of the ledger's clocks.
Run in parallel until the pennies agree
With history loaded, both platforms run side by side. Every posting is reconciled account by account, to the penny, daily. Discrepancies aren't resolved by adjustment — they're investigated until the two systems agree about the world. Parallel run ends when the reconciliation report has been clean for as long as your risk team requires, not when the project plan says so.
Cut over in cohorts, with a way back
Portfolios then move in cohorts — by product, vintage or brand — each with a documented rollback. The old platform stays warm until the final cohort has settled. Agent autonomy starts at propose-only for migrated accounts and widens as your team signs off the evidence, cohort by cohort.
Treat it as the regulated change it is
A core migration is an operational-resilience event, and your board, auditors and regulators will ask about it. The artefacts they need — reconciliation reports, cutover approvals, rollback tests, runbooks — shouldn't be assembled after the fact. On Kontor they are produced by the migration itself, as it happens.
Big-bang migrations fail loudly. Cohort migrations fail quietly, early, and reversibly — which is to say, they don't really fail at all. They just take another iteration.