Why Custom Code Migration Creates Licensing Costs
SAP custom code migration to the Clean Core model creates licensing costs because it moves custom logic from the SAP system — where it runs on existing named user and application licences at no additional cost — to SAP BTP and ABAP Cloud environments, which are separately licensed services with consumption-based pricing.
Every line of custom ABAP code that is migrated to an ABAP Cloud extension running on BTP generates a new, recurring licensing cost for the BTP ABAP environment that hosts it. Every integration between a BTP extension and the SAP core system generates SAP Integration Suite message consumption. Every developer who builds and maintains those extensions requires an ABAP Cloud developer licence. These costs are not one-time migration costs — they are permanent additions to the annual SAP licence bill for as long as the extensions remain active.
Want an Independent View of Your SAP Position?
Our advisors are former SAP insiders working exclusively for enterprise buyers. A free 30-minute discovery call will tell you whether independent advisory would materially change your commercial outcome.
Book a Free Consultation → Download Free SAP Audit Guide →The scale of this cost depends entirely on the volume and complexity of the custom code being migrated, which is why a thorough custom code analysis — before any commercial commitments are made — is an essential prerequisite for any enterprise considering S/4HANA or RISE adoption.
The Four Phases of Custom Code Migration and Their Licensing Triggers
Phase 1: Custom Code Discovery and Assessment
Using SAP's ABAP Test Cockpit (ATC) or the Custom Code Migration App in SAP Readiness Check, your custom ABAP estate is analysed for Clean Core compliance violations. At this phase, no additional licensing costs are incurred — the tools are available within your existing SAP system. However, the assessment output directly drives your BTP sizing requirements, which should be used immediately in commercial negotiations.
Phase 2: Developer Environment Provisioning
Once the migration scope is understood, developers need BTP ABAP Development Environments to begin rebuilding custom code as ABAP Cloud extensions. Provisioning these environments is the first licensing trigger: BTP ABAP environment costs begin from the moment of provisioning, regardless of whether any code is deployed. Enterprise migrations often need 3–5 parallel development environments across teams and geographies.
Phase 3: Extension Build and Testing
As extensions are built and tested, Integration Suite consumption begins through test flows connecting BTP extensions to the SAP system. Additionally, if SAP Build is used for workflow or UI extensions during this phase, SAP Build licences are required. This phase is typically 12–24 months for large enterprise estates, meaning BTP costs accrue throughout without production value being delivered yet.
Phase 4: Production Deployment and Runtime
When extensions go live, the full BTP runtime cost stack activates: ABAP Production Environment, Integration Suite production message volumes, API Management (if applicable), and potentially SAP Event Mesh for asynchronous extensions. This is the phase where licence costs reach their steady-state annual run rate — and where the cost model must be locked before deployment to avoid open-ended spend exposure.
The most frequent commercial mistake in custom code migration programmes is treating BTP licensing costs as a capital expenditure to be incurred during the migration period, rather than as a recurring operational cost that begins at Phase 2 and increases through go-live. Finance teams must model BTP licences as a permanent addition to the annual SAP run rate — not as a one-time migration cost. Programmes that fail to model this correctly typically discover a 20–40% increase in annual SAP spend post-migration that was never included in the original business case.
How to Size BTP Requirements Before You Negotiate
Accurate BTP sizing before commercial negotiation is the single most important step in controlling custom code migration licensing costs. The sizing should be based on four inputs: the number of ABAP custom objects to be migrated (from the ATC scan), the complexity classification of those objects (simple forms vs complex transactional logic vs batch processes), the target architecture decisions (ABAP Cloud vs BTP Cloud Foundry vs keep-as-is with documented risk acceptance), and the development team size and delivery timeline.
From these inputs, you can derive: the number and size of BTP ABAP Development Environments required, the number and size of BTP ABAP Production Runtime Environments (typically 2–4x the development sizing for production workloads), the Integration Suite message volumes for test and production, and the SAP Build licences needed for UI and workflow extensions.
This sizing exercise is the foundation for negotiating with SAP. SAP will provide its own sizing recommendations, but these are often based on standard templates rather than your specific custom code complexity. Our SAP licensing cost modelling service includes independent BTP sizing as a standard deliverable, giving you a credible counter to SAP's standard proposal.
What to Retire vs What to Migrate: The Commercial Decision
Not all custom code should be migrated to Clean Core. A significant proportion of custom ABAP in most enterprise SAP systems is shelfware — code that was once used but is no longer actively executed, or code that duplicates standard SAP functionality that has since been delivered in the base product. Migrating shelfware to BTP extensions creates ongoing licensing cost for zero business value.
A rigorous retirement assessment alongside the ATC migration scan is essential. The right question for each custom object is not "how do we migrate this to Clean Core?" but "is this business logic still needed, and if so, is it better migrated, rebuilt using standard SAP, or retired?" Organisations that answer this question correctly before starting migration typically reduce the BTP sizing requirement by 20–40% — directly reducing the annual licence cost of the migrated landscape.
The commercial benefit of retiring custom code during migration is significant: every object retired is an object that requires no BTP environment capacity, no Integration Suite message volume, and no developer licence. At scale, the savings are material — and they are available only by doing the retirement analysis before the migration scope is locked, not after.
Model Your Custom Code Migration Licensing Costs Before They Lock In
We provide independent custom code migration cost modelling, BTP sizing analysis, and pre-signature negotiation support. Our engagement starts before you commit — when the commercial terms are still moveable.
Book a ConsultationNegotiating Custom Code Migration Licensing With SAP
SAP has commercial incentives to see your custom code migrated to ABAP Cloud — each migrated object increases BTP revenue. This creates a negotiating dynamic where SAP's interest in Clean Core adoption can be leveraged to secure favourable commercial terms.
- Request a Clean Core Migration Incentive: SAP has run programmes that provide discounted BTP capacity or migration credits to organisations committing to a Clean Core migration timeline. These programmes are not always publicised — ask explicitly for any available migration incentive programmes as part of your commercial discussion.
- Negotiate phased BTP capacity: If your migration plan spans 2–3 years, negotiate BTP capacity that scales with your migration phases rather than provisioning full production capacity from day one. Paying for production-sized environments during a development phase is inefficient and avoidable.
- Get SAP to fund or co-fund the ATC assessment: SAP benefits commercially from a detailed custom code analysis — it establishes the size of the BTP opportunity. Negotiate for SAP to provide the ATC tooling, professional services support for the assessment, and an advisory review of the results as part of the pre-sales engagement.
- Lock BTP pricing for the programme duration: Custom code migrations span years. Any BTP capacity purchased at the start of the programme should be priced and rate-locked for the full migration timeline. Open-ended BTP expansion at market rates creates significant commercial risk as the programme progresses.
Organisations that engage independent SAP licensing advisors before committing to a Clean Core migration consistently achieve better BTP pricing, more appropriate migration incentives, and lower 5-year licence costs than those who rely solely on SAP's pre-sales team for advice. The ROI on independent advisory engagement at this stage is typically 5–15x the cost.
Compliance Risk During Transition
Organisations in the middle of a Custom Code migration — with some objects migrated to ABAP Cloud and others still running as classical ABAP in the SAP system — face a complex compliance position. SAP's licence agreement may restrict what types of custom ABAP access are permitted in specific system configurations, particularly for S/4HANA Cloud Private Edition customers. Understanding your exact contractual position during the transition period is essential.
This is an area where our SAP audit defence team provides significant value — reviewing the specific licence agreement terms that apply to your transitional architecture and advising on the safest compliance posture during the migration period. See also our companion guide on SAP Clean Core audit risk for a detailed treatment of compliance exposure in transitional environments.
Building the 5-Year Cost Model
Any custom code migration programme should include a 5-year total cost of ownership model that covers: BTP ABAP Development Environment costs (years 1–2, declining as migration completes), BTP ABAP Production Runtime costs (increasing through years 2–4 as extensions go live), Integration Suite consumption costs (scaling with extension complexity), ABAP Cloud developer licence costs, and the residual classical ABAP maintenance costs for objects not yet migrated. This model, built independently of SAP's estimates, is the foundation for all commercial negotiations and programme budget commitments.
For enterprises running parallel S/4HANA deployment and custom code migration programmes, integrating the migration licensing model with the broader SAP TCO analysis is essential to avoid creating a misleading picture of either programme's economics in isolation.
Independent Clean Core Migration Cost Modelling
Our SAP licensing specialists model the full 5-year cost of your custom code migration, size your BTP requirements against your actual custom code estate, and negotiate the commercial terms before you are committed. Start before it is too late to move the numbers.
Get a Free Consultation TCO Modelling Service