Custom code did not stop being necessary. It stopped being free.
Most ECC estates carry years of modifications, and every one of them once made sense. The cost only became visible later, at upgrade time — when each change had to be retested, reconciled or rewritten, and upgrades quietly moved from routine to rare.
Clean core is the discipline that stops that cycle from restarting on S/4HANA. It is not a rule against customization. It is a rule about where customization is allowed to live.
The core stays standard so it can keep moving. Everything custom lives beside it, upgrading on its own schedule.
What clean core actually means
The principle is simple to state: the digital core runs standard processes, configured but not modified, so that platform updates can be taken continuously rather than in dreaded multi-year events. Requirements that standard genuinely cannot meet are built as extensions — connected to the core through released interfaces, never woven into it.
The practical consequence: an upgrade stops being a negotiation with a decade of custom objects. The core moves; the extensions keep working, because they only ever touched the core through contracts that survive the upgrade.
SAP’s clean-core guidance distinguishes in-app extensibility — released extension points inside S/4HANA — from side-by-side extensions built on SAP Business Technology Platform, connected through released APIs.
Three questions before any extension
Does standard cover it after configuration?
A surprising share of “requirements” are habits imported from the old system. A fit-to-standard workshop exists to separate what the business needs from what the previous implementation happened to do.
If not — can it live inside the released extension points?
Added fields, UI adaptations and contained business logic often fit within in-app extensibility, which is designed to survive upgrades. This is the cheapest home an extension can have.
If not — it goes beside the core, not into it
Whole applications, heavy logic and cross-system orchestration belong on the platform next door, talking to the core through released APIs. The one unacceptable answer is the old one: modifying the core because it is nearby.
Requirement→Fit-to-standard check→In-app extension point→Side-by-side on BTP
What side-by-side actually costs
Honesty matters here, because the trade is real. A side-by-side extension is a running application: it carries platform subscription, an integration surface that needs monitoring, and a lifecycle of its own. Measured on a single requirement, it can look more expensive than the modification it replaces.
Measured across the life of the platform, the comparison usually inverts. The modification's true price was never its build cost — it was every upgrade it complicated afterwards, multiplied by every other modification beside it. Clean core converts an open-ended future liability into a bounded running cost.
What belongs where
- Configuration, not modification, inside the core — standard processes tuned through supported settings.
- In-app extensibility for added fields, adapted screens and contained logic that belongs with the process it touches.
- Side-by-side on the platform for custom applications, differentiating logic and anything that integrates several systems.
- Nothing in the core codebase. If a requirement seems to demand it, the requirement deserves a second look before the core does.
VISCAP perspective
Treat every extension request as a claim on every future upgrade. Most claims do not survive that framing.
The organizations that struggle with clean core are rarely the ones with the most requirements. They are the ones without a decision path — where each request is argued case by case, and the loudest voice wins. The three questions above are deliberately mechanical: they turn extension governance from a debate into a routing rule.
Upgrades are the point
A clean core is not an aesthetic. It is what makes the platform's roadmap — including everything SAP ships next — something your organization receives rather than re-purchases. The discipline pays for itself the first time an upgrade is boring.