Most SAP environments carry more custom code than anyone in the organization can fully account for. Years of Z-programs, user exits, and tightly coupled modifications have compounded into a system that is expensive to run and increasingly difficult to upgrade. With SAP's mainstream support for ECC ending in 2027, the cost of that custom footprint is no longer a background concern. A SAP clean core audit puts a dollar figure on it, identifies what is still needed, and creates a credible path forward. This guide walks through exactly what that assessment covers and what it typically reveals.
This blog covers a structured breakdown of the SAP clean core audit, its cost implications, and the strategic decisions it informs. The key takeaways from the blog are:
- What a SAP clean core audit is and why the timing matters in 2026
- The real cost behind custom code: the "pink elephant" data most organizations avoid
- SAP's four clean core principles and the new A-D maturity model
- Why businesses need to adopt clean core before S/4HANA migration, not after
- A side-by-side comparison of clean core vs. heavily customized ERP business outcomes
- How to calculate your custom code costs, including hidden expenses most budgets miss
- Implementation strategy, best practices, and what good governance looks like post-cleanup
What is the hidden cost of SAP custom code?
The numbers are specific enough to be uncomfortable. 91% of SAP organizations use custom code in their environment. Of that, 90% is classified as important or extremely critical to daily operations. And yet, when organizations run a code usage analysis before migration, they routinely find that 40 to 60% of custom objects are no longer actively used. One consumer goods company that ran SAP's Custom Code Analyzer against its 3,000 custom objects found that only 12% were still in use. Retiring the rest cut migration time by 40%.
The cost side is equally stark. A single custom code object carries an estimated initial development cost of roughly €5,000 and an ongoing annual maintenance cost of around €500, even when rarely called. Multiply that across a typical enterprise SAP landscape — which often holds thousands of custom objects across multiple instances — and the figure climbs fast. For the most business-critical custom applications, top organizations spend an average of $800,000 or more annually on just the top two to three custom applications. Fortune 500 companies with 20 to 30 SAP instances running simultaneously face costs that multiply further with each instance.
91% of SAP organizations use custom code in production.
$800K+ spent annually on 2-3 top custom applications.
40-60% of custom objects typically found unused at audit.
40% reduction in upgrade costs possible with clean core.
Then there is the upgrade bottleneck. Every release cycle triggers a full impact analysis against the custom code footprint. Each modified object must be assessed, retested, and remediated before go-live can proceed. Organizations that have adopted a SAP clean core strategy consistently report reducing upgrade costs by up to 40% and compressing release cycles by 30 to 50%.
What is a SAP clean core audit?
A SAP clean core audit is a structured technical and business assessment of how far an SAP environment has drifted from the standard delivered product. It inventories every custom object — Z-programs, BADIs, user exits, custom tables, interfaces — and evaluates three things: whether each object is still actively used, whether it can be replaced by a standard SAP capability, and what it would cost to remediate or retire it before migration.
The audit output is not just a list of code objects. It produces a total cost of ownership model for the custom footprint, a prioritized remediation roadmap, and a migration risk profile. For organizations moving to SAP S/4HANA, this assessment is the single most important input to scoping both the migration budget and the timeline.
The four clean core principles
SAP's clean core strategy is organized around four interdependent principles. Together they define what it means for an ERP system to be upgrade-ready and cloud-capable.
- Clean extensions: All customizations built using stable, publicly released SAP APIs — no direct table access or core modifications.
- Clean data: Master and transactional data aligned to SAP data models, free of structural workarounds accumulated over time.
- Clean integrations: All system connections built on stable integration interfaces, not point-to-point ABAP dependencies.
- Clean processes: Business processes aligned to SAP best practice content, with exceptions handled outside the core rather than embedded within it.
In August 2025, SAP formalized this into a four-level maturity model replacing the older tier structure. Level A is true clean core — all extensions run outside the ERP on SAP BTP using only publicly released interfaces. Level B covers side-by-side innovation, including ABAP Cloud development, classic ABAP APIs, and technologies such as customer exits and SAP Script, now classified as upgrade-stable. Level C represents partially cleaned systems where legacy code remains. Level D is unmanaged customization — the situation most incumbent ECC customers find themselves in when they first run an audit.
Why do businesses need to adopt a SAP clean core audit before migration?
The common mistake is treating the clean core audit as something to do during migration rather than before it. That sequencing error is expensive. When custom code remediation is discovered mid-project, scope expands, timelines slip, and consulting fees compound. The Rimini Street and Foundry research cited across multiple 2024 and 2025 ERP studies found that 95% of surveyed SAP customers find positive ROI on S/4HANA migration challenging, and a significant driver is the cost of custom code remediation that was not scoped upfront.
Running the audit before migration does three things. First, it gives the program a realistic baseline. Organizations that skip this step routinely underestimate migration scope by 30% or more. Second, it creates negotiating leverage — unused custom code that gets retired before the project starts reduces both the implementation partner's scope and SAP's BTP consumption estimates. Third, it forces an honest conversation about which custom processes are genuinely differentiating and which are legacy workarounds that standard SAP already handles better.
Beyond migration, the business case for continuous clean core governance is straightforward. Standardized systems support compliance and audit activities more efficiently. IT teams spend less time patching legacy customizations and more time enabling business process improvements. And when SAP releases new AI and automation capabilities — which it is doing on an accelerating quarterly cycle — a clean core environment can adopt them without first untangling a layer of custom dependencies.
What are the business benefits of SAP clean core? A direct comparison
| Business dimension | Heavily customized SAP environment | SAP clean core environment |
|---|---|---|
| Upgrade cost | High — every release requires impact analysis and remediation across hundreds of custom objects | Up to 40% lower — standard objects upgrade automatically |
| Release cycle speed | Slow — regression testing covers the entire custom footprint | 30-50% faster — smaller test scope, fewer dependencies |
| AI and innovation adoption | Blocked — new SAP capabilities cannot be deployed without first resolving custom conflicts | Enabled — standard APIs allow SAP Joule, embedded AI, and BTP extensions to deploy on schedule |
| Compliance and audit overhead | High — custom processes require separate audit evidence and control documentation | Lower — standardized processes are inherently auditable and easier to evidence |
| IT maintenance cost | ~€500/year per custom object, often across thousands of objects | Near-zero for retired objects; BTP-based extensions managed as a product, not custom code |
| Vendor lock-in risk | High — tightly coupled custom code makes platform changes extremely costly | Reduced — stable API contracts give predictability and portability |
| Knowledge retention risk | High — 50% of critical custom code was written 6+ years ago by staff who have since moved on | Lower — standard SAP code is documented, supported, and independently understood |
What is the cost impact of SAP's clean core strategy?
The cost impact runs in two directions: the cost of not acting, and the cost reduction that clean core delivers over time.
On the "not acting" side, the numbers are concrete. Annual maintenance fees alone for a large SAP environment with several thousand custom objects can run into millions of dollars when aggregated across development, testing, documentation, and support effort. Upgrade projects for heavily customized ECC systems routinely land in the $5 million to $15 million range for large enterprises, with a significant portion of that cost directly attributable to custom code remediation.
The SAP ECC end-of-mainstream-support deadline of 2027 adds a time dimension to this cost. Organizations that defer migration will face extended support surcharges — SAP's standard extended maintenance runs at a 2% premium above the base maintenance rate through 2030. Third-party support options from providers such as Rimini Street exist as an alternative, but they do not eliminate the eventual cost of migration; they defer it while the technical debt continues to accumulate.
On the clean core ROI side, the data from implementations is consistent. Upgrade costs drop by up to 40%. Regression testing scope narrows. New feature adoption accelerates. And critically, the total number of custom objects that need to be carried forward into S/4HANA shrinks — in many cases by more than half — which directly reduces the on-BTP hosting and maintenance cost that replaces them.
How to calculate your custom code costs
The calculation starts with the custom code inventory. Using SAP's Custom Code Analyzer or SAP ATC (ABAP Test Cockpit), organizations can generate a complete count of custom objects, usage frequency data, and a first-pass complexity classification. This is not a consulting engagement — it is a tool-driven analysis that typically runs in days, not weeks.
From the inventory, the cost model builds in layers.
Direct annual maintenance cost is the most visible layer. Apply the ~€500 per object per year benchmark to the total object count to get a floor estimate. For objects classified as business-critical, the actual cost — including dedicated support, documentation, regression cycles, and periodic enhancement — typically runs three to five times that floor.
Upgrade and migration impact cost is the layer most organizations underestimate. Each custom object requires impact analysis, potential remediation, testing, and sign-off during every major upgrade. At an average consultant rate of $150 to $250 per hour, even a modest custom footprint of 500 objects can generate $500,000 or more in upgrade labor alone.
Hidden costs include several items that rarely appear in initial budget models. Knowledge risk is one: when the developer who built a critical Z-program has left the organization and no documentation exists, remediation cost spikes significantly. Dual-run periods — when ECC and S/4HANA run simultaneously during cutover validation — add three to twelve months of doubled infrastructure and internal resource cost. Custom code that accesses regulated or sensitive data creates audit overhead that compounds every compliance cycle. And in environments with 20 or more SAP instances, every cost multiplies by the number of instances carrying divergent customizations.
How does the clean core solution fit into an implementation strategy?
The clean core is not a one-time cleanup. It is a continuous architectural discipline that begins before migration and requires governance to sustain after go-live. The implementation sequence that consistently produces the best outcomes starts with the audit itself — a full inventory and usage analysis that classifies every custom object as retire, retain, or remediate. Objects marked for retirement are decommissioned before migration, reducing the scope that the system integrator ever touches. Objects marked for remediation are moved to SAP BTP using SAP's published extensibility APIs, side-car architecture, or SAP Build Code, depending on the complexity of the logic.
Standard SAP functionality then replaces the retained custom logic wherever possible. This is the step that requires the most internal stakeholder management. Process owners who built their workflows around custom logic will resist standardization. The organizations that manage this well frame it as a best-practice adoption rather than a feature reduction — because in most cases, the standard SAP process is genuinely better than the custom workaround it replaced.
Post go-live, clean core governance is enforced through change control that gates any new development against the extensibility tier model. New extensions must be built using Level A or Level B approaches — publicly released APIs, SAP Build, or ABAP Cloud. Direct core modifications are blocked by policy, not just by convention. And usage monitoring runs continuously so that low-use extensions are flagged for retirement before they accumulate into the next generation of technical debt.
Best practices include running the SAP ATC in enforcement mode from day one of the new environment, establishing a clean core center of excellence with a mandate that includes both development governance and business process standardization, and aligning the extension roadmap to SAP's quarterly innovation calendar so that new platform capabilities can be adopted without requiring bespoke development.
Frequently asked questions on SAP clean core
What is clean code in SAP?
In SAP, "clean core" refers to an ERP system that keeps the standard delivered code unmodified, with all extensions and custom logic built outside the core using stable, publicly released SAP APIs. Custom code that directly modifies core tables, business logic, or interfaces is considered non-compliant with the clean core standard. The goal is an environment that can be upgraded reliably and adopt new SAP innovations without custom code conflicts blocking the path.
How much does SAP license cost per user?
SAP S/4HANA licensing is quote-based and varies by edition, module scope, and user type. As a broad benchmark, a cloud-based license can start around $3,000 per user annually for smaller deployments, scaling to $250,000 to $500,000 per year for 100-user enterprise configurations. The RISE with SAP subscription model bundles licensing, BTP access, and managed cloud infrastructure into a single contract, which changes the per-user visibility but not the underlying cost structure. Custom code maintenance is not included in licensing and is a separate budget line.
What are the business benefits of SAP clean core?
The primary benefits are lower upgrade costs (up to 40% reduction), faster release cycles (30 to 50% improvement), reduced annual maintenance spend, faster adoption of SAP's AI and automation capabilities, and lower compliance audit overhead. Organizations also report reduced knowledge-retention risk because standard SAP functionality is documented and independently supportable, unlike custom Z-programs that often outlive the developers who built them.
What are the most common challenges of using SAP clean core?
The most common challenges are stakeholder resistance from business process owners who have built workflows around custom logic, the discovery that a much larger proportion of the custom footprint is business-critical than initially assumed, the technical complexity of migrating tightly coupled ABAP extensions to BTP-based side-car architectures, and the governance discipline required to prevent new custom code from being written into the core after go-live. Organizations that underinvest in the pre-migration audit phase also tend to underestimate remediation scope significantly.
Beat the 2027 deadline—request a clean core assessment today to compress your custom code analysis timeline by up to 60% with Kellton’s AI-powered methodology!
Talk to Kellton's enterprise transformation team.
Submit

