What SAP's Clean Core Strategy Actually Requires
SAP's Clean Core strategy is a commercial repositioning and technical mandate for customers moving from ECC to S/4HANA or RISE with SAP. The strategy requires customers to move all non-standard customisations (custom code, custom tables, custom logic) off the core S/4HANA system and onto SAP's Business Technology Platform (BTP). The rationale is architectural: keeping customisations in the core system makes S/4HANA upgrades and patches more difficult because custom code must be re-tested and re-validated with every upgrade. By moving customisations to BTP, SAP can upgrade the core system with less customer effort and less risk of upgrade failure.
From SAP's perspective, Clean Core is brilliant commercial strategy. It increases cloud adoption (BTP requires cloud-based deployment), creates new recurring licensing revenue (BTP credits and services), and reduces SAP's support cost (fewer custom code issues in the core). From the customer perspective, Clean Core increases total cost of ownership and creates vendor lock-in, because custom code on BTP becomes dependent on SAP's platform and cannot easily be migrated elsewhere.
For customers, Clean Core means: all custom Z* tables and data structures must be migrated to BTP; all custom ABAP code must be converted to Java/.NET and deployed on BTP via cloud integration; all custom business logic must be refactored as microservices on BTP; and all custom reports and dashboards must be rebuilt on SAP Analytics Cloud. This refactoring effort is substantial and typically costs $500k–$3 million depending on customisation scope.
Why Clean Core Creates a New Licensing Layer
Once your customisations are on BTP, you must pay for BTP services to host and execute them. BTP operates on a consumption model: you purchase BTP credits upfront (typically 1% of your annual contract value as a minimum, ranging from 10k€ to 20k€ annually for small customers to $500k–$2 million+ annually for large enterprises), and these credits are consumed as your customisations and extensions execute.
A financial services customer with $5 million in annual S/4HANA + RISE licence value received a BTP credits allocation of approximately $50k annually (1% of ACV). Their initial customisation deployment on BTP used approximately 60% of this allocation. Within 18 months, as they added more integrations and extensions, they exceeded their BTP credit allocation and faced overage billing at approximately $0.25 per credit — or $30k–$50k in annual overage costs. By year three, they were paying approximately $100k annually in BTP costs (the base $50k allocation plus $50k in overages), all for customisations that were free to maintain on-premises ECC.
The hidden fact SAP does not emphasize: BTP credits are consumed not just by your custom code, but by SAP Joule AI integrations, Intelligent Spend Group applications, and other SAP features that you may not have explicitly requested or activated. A customer activating SAP Joule AI features as part of their S/4HANA package discovers that these features consume BTP credits, incurring unexpected overage costs. SAP's licensing model deliberately obscures which features consume BTP credits and at what rate.
BTP Credits: The Hidden Clean Core Tax
BTP credits are the primary cost of Clean Core. Customers receive a base allocation (typically 1% of annual contract value), but this allocation is often insufficient for production workloads. Here is the cost structure:
Base BTP Credits: Minimum 1% of annual contract value, capped at approximately 10k€ annually for small customers and $20k€ for mid-market. Large enterprises may negotiate higher baselines, but SAP's standard position is 1% minimum.
BTP Consumption Pricing: Once your base allocation is exhausted, additional credits cost approximately €0.20–€0.30 per credit (pricing varies by region and commitment level). For a customer exceeding their allocation, overage costs can be $30k–$100k+ annually depending on customisation scope and frequency.
API and Service Costs: Beyond BTP credits, customers pay separately for specific BTP services: APIs for integrations ($100–$500 per integration per month), messaging and queueing services ($200–$1000 monthly depending on throughput), and data storage on BTP ($0.50–$2 per GB monthly for hot storage, more for premium services).
Joule AI Consumption: Some SAP Joule AI features are included in base S/4HANA licensing; others consume BTP credits. Customers who activate Joule AI for copilot functions, predictive analytics, or process mining may find they are consuming 20–40% of their base BTP allocation on AI features alone, with no clear visibility into cost until they exceed allocation and face overage billing.
When BTP Credits Run Out
When your base BTP credit allocation is exhausted, you face a decision: pay overage charges at consumption pricing (approximately €0.25 per credit), request a larger BTP allocation as part of your next renewal (typically at cost), or remove functionality to reduce consumption. Most customers discover they are overrunning allocation at renewal time, when SAP invoices them for overage usage from the prior year. This is when the real Clean Core cost becomes visible — and often unbudgeted.
Additionally, BTP overages are consumption-based and highly variable. A customer may use 80% of their allocation in a month due to a scheduled integration batch job, then consume minimal credits the following month. This volatility makes budgeting difficult. Customers cannot purchase "overage protection" at fixed cost; overage charges are always consumption-based, creating open-ended financial exposure.
A manufacturing company with $3 million in annual S/4HANA RISE licensing received 30k€ in annual BTP credits. Their initial customisation deployment consumed this allocation. Within 18 months, they had activated additional integrations and developed new Joule AI features that drove consumption to 200% of their allocation, incurring overage charges of approximately €50k. At their next renewal, SAP quoted them an increased BTP allocation of 50k€ annually to accommodate projected consumption. This represented a 67% increase in their BTP cost and was not negotiated down because the customer had no leverage — they were already committed to the S/4HANA system and on-boarding new customisations that depended on BTP.
Common Clean Core Extension Scenarios and Their BTP Cost
Scenario One: Integration Hub. A customer builds a central integration hub on BTP to connect ECC/S/4HANA with 20+ third-party systems (Salesforce, Workday, Ariba, Concur, etc.). Initial deployment costs approximately 40% of base BTP allocation. Each integration uses approximately 2–5 credits daily, and with 20+ integrations running continuously, total monthly consumption is approximately 1,200–3,000 credits monthly (30,000–90,000 credits annually). For a customer with 30k€ annual allocation, this scenario alone exhausts allocation by month 4–6, forcing overage payment thereafter.
Scenario Two: Custom Analytics. A customer builds custom reports and dashboards on SAP Analytics Cloud (which sits on BTP) to supplement standard S/4HANA analytics. Initial dashboard deployment costs 25–30% of allocation. Ongoing maintenance and data refresh consumes 20–40% of allocation monthly. Total annual consumption is 50–60% of allocation, with overage beginning in month 8–10 if consumption accelerates.
Scenario Three: Joule AI Adoption. A customer activates Joule AI for copilot functions, predictive inventory, and process mining. Base Joule AI consumption is approximately 15% of BTP allocation. As users activate more AI features, consumption grows to 40–60% of allocation. Overage begins when customer usage exceeds planned scope.
Scenario Four: Multi-Extension Portfolio. A customer deploys multiple extensions simultaneously: custom workflows (10% of allocation), integrations (30%), analytics (20%), and Joule AI (25%). Total allocation consumed is 85%, with minimal buffer. Any scope expansion or feature activation triggers overage.
How to Negotiate BTP Credits Upfront
Negotiating BTP credits should occur as part of your S/4HANA or RISE contract discussion, not as an afterthought during renewal. Here are the negotiation tactics that work:
First, model your customisation scope upfront. Before SAP quotes RISE or S/4HANA pricing, document your required customisations, integrations, analytics requirements, and planned Joule AI features. Calculate projected BTP consumption based on typical usage patterns. Most CIOs underestimate this; working with an implementation partner to build a realistic BTP cost model is worthwhile.
Second, request a higher base BTP allocation as part of your contract. Instead of accepting SAP's 1% minimum, negotiate for 2–5% of annual contract value allocated to BTP credits upfront. This increases your base allocation and reduces exposure to overage charges. SAP will resist this, but with leverage (scale, competitive pressure), it is achievable.
Third, include cap on overage charges in your contract. Negotiate a maximum overage charge amount per year (e.g., "overage charges shall not exceed $100k annually"; "overage charges shall be capped at 10% of total BTP allocation annually"). This limits your financial exposure to BTP surprise costs.
Fourth, negotiate inclusive BTP services. Request that specific services (integrations, APIs, basic analytics) are included in your base S/4HANA pricing rather than charged as BTP overage. For example: "First 20 integrations per year are included in RISE pricing; additional integrations are charged at $500 per integration per year."
Fifth, include BTP credit carryover in your contract. Unused BTP credits should carry over to the following year rather than expire. This prevents "use it or lose it" dynamics and allows customers to smooth consumption across years.
Recommendations
First, model your Clean Core costs during your S/4HANA evaluation. Document all required customisations, integrations, and extensions, and estimate BTP consumption before you commit to S/4HANA. Factor BTP costs into your total cost of ownership calculation — they are typically 10–20% of total S/4HANA cost and are often underestimated or missed entirely.
Second, negotiate BTP credits as part of your RISE or S/4HANA contract discussion, not after you sign. Negotiate for at least 2% of annual contract value in base BTP allocation, cap on overage charges, and inclusion of key integrations and services in base pricing.
Third, track your BTP consumption monthly during implementation and first year of S/4HANA operation. Do not wait until renewal to discover you are consuming 150% of allocation. Monthly tracking allows you to adjust customisation scope and extension strategy before overage charges accumulate.
Finally, treat Clean Core as an ongoing cost of S/4HANA operation, not a one-time implementation cost. Plan annual budgets for BTP services and overages, and include BTP cost escalation (typically 3–5% annually) in your multi-year financial models.
Need Clean Core Cost Analysis?