Step 2 of 6 Beginner 8 min

What Clean Core Actually Means (and What It Doesn't)

Lesson 2 — Ask five consultants what Clean Core means and you'll get five different answers, and at least two of them will be wrong in a way that costs a client real money. Here's the precise definition, and the trap hiding in the word 'clean.'

S
s4ready.ai Team

Prerequisites

  • Lesson 1: Why 2027 is a countdown already running

Ask five consultants what “Clean Core” actually means, and you’ll get five different answers — and at least two of them will be subtly wrong in a way that costs a client real money down the line. This lesson is the precise definition, not the marketing-slide version.

The definition that actually holds up

Clean Core means your S/4HANA core stays unmodified, and every custom extension talks to it only through released, stable APIs — never through direct table access, never through modified standard objects, never through internal function modules called because they happened to be convenient.

Clean Core versus a modified coreClean core: custom extensions live side by side, talking to S/4HANA only through released APIs, upgrade-safe. Modified core: custom code directly modifies standard objects or accesses tables directly, breaking on every upgrade.CLEAN COREExtensions live side-by-side,talk only through released APIs✓ Survives every upgradeMODIFIED CORECustom code modifies standardobjects or reads tables directly✗ Breaks on the next upgrade
Clean Core isn’t “have less custom code.” It’s “wherever custom code exists, it only ever talks through the front door.”

The trap hiding in the word “clean”

Here’s where two of your five hypothetical consultants go wrong: Clean Core does not mean “no customisation.” SAP explicitly supports extending S/4HANA — through side-by-side extensions on BTP, in-app extensibility, and released APIs. The goal was never to strip out everything that makes your business specific. The goal is that however you customise, the core underneath stays untouched and upgradable.

Confuse “clean” with “minimal,” and you’ll either scope a project that tries to delete legitimate business logic your client actually needs, or you’ll reassure a client that a small amount of custom code is automatically fine — when the real question was never how much, but how it talks to the core.

Try it yourself

Take one piece of custom logic you know from a real project — anything that currently touches standard SAP objects. Classify it honestly: does it call a released API, or does it read a table directly, or modify a standard object? If it’s the latter two, that’s not automatically a crisis — but it is exactly the kind of object a readiness assessment needs to find, which is the very next lesson.

Go deeper

For the full picture — the released-API preference table, and dozens of specific ECC-to-S/4 object mappings — read What Is SAP Clean Core? and The S/4HANA Released APIs Guide.

Key takeaways

  • Clean Core = unmodified core, extensions talk only through released APIs — not “no customisation.”
  • The trap: confusing “clean” with “minimal.” SAP explicitly supports extension — the requirement is how, not how much.
  • Classify custom logic honestly: released API, direct table access, or modified standard object — that classification is what the next lesson is built on.

Next: how do you actually find out how much of your landscape falls into each category? The readiness assessment.