Having guided multiple organizations through this decision, I’ll address each of your focus areas based on real-world implementations.
Clean Core Upgrade Safety:
The upgrade safety benefit is genuine but requires proper implementation. In our 1909 to 2024 upgrades, clients with disciplined use of SAP-released extension points (BADIs, BAdIs, enhancement spots) experienced minimal custom code issues-typically under 15% of upgrade effort. However, organizations with widespread modifications to standard code faced 40-50% of upgrade time on remediation. The key isn’t avoiding customization entirely; it’s using SAP’s supported extensibility framework. For financial accounting, focus on released BADIs like BADI_AC_DOCUMENT for posting validations and BADI_FAGL_DERIVE_SEGMENT for derivations. These have proven stable across multiple release upgrades.
Custom Code Technical Debt:
The debt equation is more complex than “ABAP bad, BTP good.” Custom ABAP creates technical debt when it bypasses extension points, lacks documentation, or modifies core objects. Well-structured ABAP using supported interfaces actually reduces debt by keeping business logic close to data with minimal integration overhead. Conversely, BTP extensions create architectural debt: you now maintain integration points, manage authentication across systems, handle network failures, and coordinate deployments across landscapes. For financial accounting specifically, synchronous posting validations moved to BTP introduce unacceptable latency (typically 200-500ms per call). Our recommendation: keep transaction-critical logic in-system using supported extension points, and move workflow, reporting, and integration scenarios to BTP where asynchronous patterns are acceptable.
SAP BTP Extensibility:
BTP shines for specific use cases: workflow automation using Build Process Automation, custom analytics using SAP Analytics Cloud integration, and external system integrations using Integration Suite. For your enhanced approval workflows, BTP is ideal-it provides visual workflow design, better integration with non-SAP systems, and independent deployment cycles. However, for real-time posting validations, BTP introduces challenges. Consider a hybrid pattern: implement a lightweight ABAP validation layer using BADI_AC_DOCUMENT that performs critical synchronous checks, then calls BTP services asynchronously via SAP Event Mesh for complex compliance validations that can complete post-posting. This gives you clean core benefits for non-critical paths while maintaining user experience for real-time operations.
Practical Recommendation:
Create a decision matrix based on execution context (synchronous vs. asynchronous), data coupling (direct table access vs. API consumption), and change frequency (stable vs. rapidly evolving). Our clients have found success with roughly 60% staying in-system using supported extension points and 40% moving to BTP for workflow and integration scenarios. This balanced approach provides upgrade safety where it matters most while avoiding the performance and complexity overhead of moving everything to side-by-side extensions.