Technology

Packaged Core Banking Upgrade Strategy and Vendor Lock-In

|Posted by Hitul Mistry / 31 Aug 26

Staying on the Upgrade Path When Every Customisation Pulls You Off It

Buying a packaged core is a reasonable decision that most banks make for sound reasons: the vendor absorbs regulatory change, the functionality is proven, and the alternative is building a ledger. What follows is almost always the same story. The package covers eighty percent of requirements, the remaining twenty percent gets customised, and five years later the institution is four versions behind, out of mainstream support, and quoted a number for upgrading that looks like a replacement project.

That outcome is not inevitable and it is not really the vendor's doing. A packaged core banking upgrade strategy that works is mostly a set of disciplines about where your logic lives and what you are willing to modify.

What actually creates lock-in?

Six mechanisms, of which customisation is the most damaging and the most self-inflicted.

MechanismHow it binds youAvoidable?
Customisation of vendor codeMust be reapplied and retested each upgradeLargely
Integration through internal data structuresVendor changes break your integrationsYes
Proprietary extension languageSkills and logic are vendor-specificPartly
Vendor-only implementation skillsNo independent capability to change or assessYes
Contract termsExport, exit, and upgrade rights weakAt signature
Data model couplingReporting and downstream systems read vendor tablesYes

Why is customisation the primary driver?

Because it converts every upgrade from a vendor activity into a bespoke project of your own.

An unmodified package upgrades on the vendor's schedule with the vendor's tooling and testing. A heavily modified one requires each modification to be reviewed against the new version, reapplied, and regression tested, which multiplies the effort and the risk. Past a certain volume of modifications, upgrading costs more than the business benefit of the new version, so it gets deferred, and deferral increases the next upgrade's cost. That is the loop, and it is entered one reasonable-sounding change request at a time. The general debt dynamic is set out in this guide to reducing technical debt in policy systems.

Do you know how many modifications your last upgrade required reapplying?

Talk to Digiqt about a customisation debt assessment

What is upgrade debt, and how do you measure it?

Versions behind, support status, and the regression effort your modifications impose per upgrade.

Measure four things and publish them. How many versions behind the current release you are. Whether your version is in mainstream support, extended support, or unsupported. How many modifications exist, classified by type and by whether the vendor supports the extension point used. And the effort of the last upgrade, split between vendor-driven work and reapplying your own modifications. That last split is the number that changes conversations, because it makes visible that the upgrade cost is largely a consequence of internal decisions rather than vendor pricing.

Why does falling behind accelerate?

Because the delta grows, vendor tooling targets recent versions, and institutional knowledge decays.

Each skipped release increases the difference to reconcile, and vendor migration utilities are generally built to move customers from recent versions rather than from a release five years old. Meanwhile the people who wrote your modifications move on, so the reapplication work becomes archaeology. The GAO's June 2019 review of critical federal legacy systems illustrates the destination: systems running for decades, some on hardware as old as the system, with dwindling availability of the skills needed to support them. A packaged core that stops upgrading becomes a legacy system on a faster timescale than a bespoke one, because you also lose the vendor's regulatory maintenance.

How should extension be architected?

Outside the package wherever possible, using supported interfaces and event streams.

ApproachUpgrade safetyUse for
Configuration within the productSafestAnything the product supports natively
Vendor-supported extension pointsSafe if the contract commits to their stabilityLogic that must run inside the core
Side-car services consuming eventsSafe, your code your lifecycleMost differentiating logic
Orchestration outside the coreSafeWorkflow, routing, decisioning
Reading vendor internal tablesUnsafeNothing, use published interfaces
Modifying vendor codeUnsafeGenuine last resort with a retirement plan

What belongs outside the package entirely?

Differentiating logic, orchestration, decisioning, and anything that changes frequently.

The package should hold accounts, balances, postings, and the product mechanics it was built for. Pricing decisions, eligibility rules, customer journeys, fraud and risk decisioning, and workflow all change faster than a core release cycle and should live in your own services, invoked through supported interfaces. That division also improves delivery speed independently of lock-in, because your teams can change your logic without touching the vendor's release calendar. The interface discipline is the same one in this guide to API integration capability when selecting vendors.

Why is an anti-corruption layer worth its cost?

Because it stops the vendor's data model spreading through your estate.

Wrap the package behind your own interface expressed in your domain language, and let every internal consumer talk to that rather than to vendor structures. It costs real effort and it means a vendor change, or a vendor replacement, becomes an adapter change rather than an estate-wide rewrite. Without it, reporting systems, downstream services, and analytics all bind to vendor table structures, and the package becomes unremovable regardless of what the contract says. The same reasoning drives seam design in strangler fig core banking migration.

How do you get back on the upgrade path?

Inventory the modifications, classify them, delete aggressively, then commit to a cadence.

Start with a complete inventory of modifications including who requested each, when, why, and whether the reason still holds. Then classify: retire, reimplement outside the core, migrate to a supported extension point, or keep as a modification with an owner and a review date. Expect a meaningful share to fall into the first category, because requirements expire, standard functionality catches up, and some modifications serve populations small enough to handle operationally. Then set an upgrade cadence and hold it, since regular smaller upgrades are dramatically cheaper than occasional large ones, which is the same finding the DORA research reports for software delivery generally: speed and stability correlate rather than trade off.

Which customisations should be deleted rather than migrated?

Those whose requirement has lapsed, those duplicating standard functionality, and those serving trivial populations.

Ask the business owner to re-justify each modification as if requesting it today, with the current upgrade cost attached. That conversation removes more customisation than any technical analysis, because the original requester frequently no longer needs it and nobody had asked. Where a modification serves a handful of accounts, price the operational workaround against the perpetual upgrade cost, and the answer is usually obvious once both numbers are visible.

Could each of your core modifications be re-justified today at its true upgrade cost?

Talk to Digiqt about customisation rationalisation

Which contract terms reduce lock-in?

Data export, upgrade support, roadmap visibility, exit assistance, pricing protection, and clarity on supported customisation.

TermWhat to secure
Data exportFull export in documented, usable formats on demand, not only at termination
Upgrade supportCommitment to support your version for a defined period and to assist upgrades
Extension point stabilityWhich interfaces the vendor commits not to break, and for how long
Roadmap visibilityAdvance notice of deprecations and architectural changes
Exit assistanceDefined transition help, duration, and cost, agreed at signature
Pricing protectionCaps on maintenance and volume-based increases
Source code escrowAccess conditions that are actually triggerable and tested
Third-party accessRight to use non-vendor implementation partners

Negotiate all of it before signature, because leverage disappears the moment the platform is live. Escrow deserves scepticism unless the release conditions are realistic and someone has verified the deposit is complete and buildable, since escrow that cannot be used is a comfort clause. Supervisory expectations reinforce the substance here: the EBA's guidelines on outsourcing arrangements set out criteria for assessing whether a function is critical or important and the associated obligations, and the FSB's December 2023 toolkit provides tools for managing third-party risk across the relationship lifecycle, which includes upgrade and exit. Exit specifically is covered in cloud exit and stressed exit planning.

How do you keep knowledge independent of the vendor?

By owning the test suite as your specification and keeping internal people who understand the configuration.

Your automated test suite is the most valuable vendor-independent asset you can build, because it expresses required behaviour in a form no vendor controls. It makes upgrades safer, gives you leverage in disputes about whether something is a defect, and becomes the specification if you ever replace the platform. Alongside it, document configuration decisions with rationale rather than only settings, and retain internal staff who can assess vendor proposals critically. An institution wholly dependent on the vendor for understanding its own configuration has no negotiating position and no ability to judge an upgrade estimate.

How do you evaluate a replacement without repeating the mistake?

By scoring integration, extension model, and upgrade history rather than feature lists.

Feature comparison drives most core selections and predicts very little about the next decade. Weight instead the extension model and its documented stability, the published interface surface, the vendor's actual upgrade history with reference customers on comparable customisation levels, the availability of non-vendor skills, and the contract terms above. Then ask reference customers one specific question: how many versions behind are you, and why. The answers to that question are more informative than any demonstration. The general framing is in this guide to build versus buy decision-making, and where a merger has left you with two packages, the disposition logic is in bank merger technology integration.

How should the programme be sequenced?

Measure, inventory, delete, externalise, then upgrade on a cadence.

PhaseDurationDeliverable
Upgrade debt measurement1 monthVersions behind, support status, modification count, last upgrade cost split
Modification inventory and classification2 to 3 monthsEvery modification with owner, rationale, and disposition
Deletion wave2 to 3 monthsRetired modifications, operational workarounds agreed
Anti-corruption layer3 to 5 monthsInternal interface, consumers migrated off vendor structures
Externalisation of logic6 to 12 monthsDifferentiating logic moved to side-car services
First upgrade on the new footing3 to 6 monthsMeasurably lower reapplication effort
Sustained cadenceOngoingRegular upgrades with declining cost per upgrade

The deletion wave is the phase with the best return and the least engineering, which makes it the right place to start once the inventory exists.

Which metrics matter?

Versions behind, modification count and trend, upgrade effort split, share of logic outside the core, and consumers reading vendor internals.

Report versions behind current release and support status as a standing risk item, since that framing gets executive attention in a way technical debt does not. Track modification count with its trend, because the direction matters more than the absolute. Split upgrade effort between vendor-driven and reapplication work, as that ratio is your lock-in measure. Report the share of business logic running outside the core. And count internal consumers still reading vendor internal structures, driving it to zero, because each one is a constraint on every future vendor decision.

Packaged core lock-in is mostly accumulated consent. Each customisation was approved, each integration shortcut saved time, and each deferred upgrade was locally rational. Reversing it needs the same incrementalism: measure the debt honestly, delete what nobody can re-justify, move your logic outside the package, and then upgrade often enough that it stays routine.

Frequently Asked Questions

What actually creates lock-in with a packaged core?

Customisation, integration through internal data structures, proprietary extension languages, vendor-only skills, and contract terms that make leaving or upgrading expensive.

Why is customisation the primary driver?

Because every modification has to be reapplied and retested at each upgrade, so the cost of staying current rises until upgrading stops happening at all.

What is upgrade debt?

The accumulated work required to reach the current supported version, measured in versions behind, support status, and the regression effort your customisations impose per upgrade.

Why does falling behind accelerate?

Because each skipped version increases the delta, vendor migration tooling targets recent versions, and the people who understand your modifications gradually leave.

Where should extensions live?

Outside the package wherever possible, as side-car services consuming events and calling supported interfaces, so the vendor can upgrade the core without touching your logic.

Which customisations should be deleted rather than migrated?

Those whose original requirement no longer exists, those duplicating standard functionality added since, and those serving a handful of accounts that can be handled operationally.

Which contract terms matter most?

Data export in usable formats, upgrade support commitments, roadmap visibility, exit assistance, pricing protection, and clarity on what customisation the vendor will support.

How do you keep knowledge independent of the vendor?

Own your test suites as the executable specification of required behaviour, document configuration decisions with rationale, and keep internal staff who understand the configuration.

Sources

Read our latest blogs and research

Featured Resources

Technology

Technology Vendor Due Diligence and Exit Testing for Banks

How vendor due diligence banking technology programmes should work: depth by criticality, verifying claims rather than collecting them, contract terms that matter, monitoring after signature, and actually testing exit.

Read more
Technology

Strangler Fig Migration Paths for Monolithic Banking Cores

How to design strangler fig core banking migration, covering seam selection, data ownership during transition, façade routing, avoiding a distributed monolith, sequencing, and retirement discipline.

Read more
Technology

Cloud Exit Plan for Financial Services That Regulators Accept

How to write a cloud exit plan financial services supervisors will accept, covering exit scenarios, credible destinations, portability assessment, data extraction testing, stressed exit, and contract terms.

Read more

About Us

We are a technology services company focused on enabling businesses to scale through AI-driven transformation. At the intersection of innovation, automation, and design, we help our clients rethink how technology can create real business value.

From AI-powered product development to intelligent automation and custom GenAI solutions, we bring deep technical expertise and a problem-solving mindset to every project. Whether you're a startup or an enterprise, we act as your technology partner, building scalable, future-ready solutions tailored to your industry.

Driven by curiosity and built on trust, we believe in turning complexity into clarity and ideas into impact.

Our key clients

Companies we are associated with

Life99
Edelweiss
Aura
Kotak Securities
Coverfox
Phyllo
Quantify Capital
ArtistOnGo
Unimon Energy

Our Offices

Ahmedabad

B-714, K P Epitome, near Dav International School, Makarba, Ahmedabad, Gujarat 380051

+91 99747 29554

Mumbai

C-20, G Block, WeWork, Enam Sambhav, Bandra-Kurla Complex, Mumbai, Maharashtra 400051

+91 99747 29554

Stockholm

Bäverbäcksgränd 10 12462 Bandhagen, Stockholm, Sweden.

+46 72789 9039

Malaysia

Level 23-1, Premier Suite One Mont Kiara, No 1, Jalan Kiara, Mont Kiara, 50480 Kuala Lumpur

Lewes

16192 Coastal Highway, Lewes, Delaware 19958, USA

software developers ahmedabad
ISO 9001:2015 Certified

Call us

Career: +91 90165 81674

Sales: +91 99747 29554

Email us

Career: hr@digiqt.com

Sales: hitul@digiqt.com

© Digiqt 2026, All Rights Reserved