← Back to Insights
SAP BTP

SAP BTP In-App Extensibility vs. Side-by-Side Extensibility

When working with SAP customizations, one of the most common questions I come across is: Should we extend within the core system (in-app) or build a side car extension (side-by-side)? I’ve dealt with this dilemma many times, especially when working with SAP S/4HANA extensions on SAP BTP. With SuccessFactors or Ariba, it’s side by side is typically the only option for complex customizations.

For S/4HANA, however, there’s no straight answer—it depends on what needs to be extended, how tightly it should integrate with the core system, users, scalability, and how much flexibility is needed.

Here’s how I break it down based on my experience.

In-App Extensibility

In-app extensibility is about making changes inside the core SAP system without disrupting its upgradeability or requiring external infrastructure. SAP provides various in-app tools that let you modify standard functionalities while keeping the core clean. Some examples where in-app extensibility gets the job done:

  • UI Customizations – If we need to add custom fields, hide unwanted fields, or change forms in SAP Fiori apps, in-app tools such as key user extensibility are the best way to do it.
  • Simple Business Logic Changes – Business Rules in SuccessFactors, BAdIs in SAP S/4HANA, and Flexi Workflow Customization allow for easy modifications without needing external development.
  • Embedded Custom Applications – Using the SAP Fiori Key User Tools, we can create small embedded apps that work inside S/4HANA without needing external infrastructure.

Pros of In-App Extensibility:

  • Upgrade-safe – No impact when SAP releases new versions
  • Easy to maintain – Uses standard SAP tools
  • Good for UI tweaks and simple business logic changes
  • No added platform costs

Cons of In-App Extensibility:

  • Limited flexibility – Can only modify what SAP allows
  • Hard to integrate with external systems

Side-by-Side Extensibility

Side-by-side extensibility is about building separate applications on SAP BTP (or another platform) that integrate with SAP systems via APIs. This is useful when I need more flexibility or when in-app options are too restrictive. Here are a few examples where side-by-side extensibility shines:

  • Complex Custom Applications – If I need an advanced UI, workflows, or non-SAP data sources, building on BTP is better.
  • Multi-System Integrations – If an extension needs to pull data from multiple SAP and non-SAP sources (like SuccessFactors + Ariba + third-party APIs), side-by-side is the way to go.
  • High Volume Data Processing – If the extension involves heavy processing that could slow down the SAP core (e.g., AI/ML workloads, analytics), it’s better to run it separately on BTP.

Pros of Side-by-Side Extensibility:

  • More flexibility – Build anything without SAP restrictions
  • Works across multiple systems – Great for hybrid scenarios
  • Offloads processing from SAP – Reduces load on core system

Cons of Side-by-Side Extensibility:

  • Requires additional infrastructure – Needs SAP BTP or another hosting platform
  • API dependencies – Might require building OData or REST APIs

How I Decide Between In-App and Side-by-Side

For most projects, I follow these simple rules:

  • If it’s a small UI tweak, field addition, or business rule change → In-App Extensibility
  • If it requires heavy customization, multi-system integration, or advanced logic, high scalability, external users → Side-by-Side Extensibility

Both approaches have their place. The trick is to balance flexibility with maintainability while keeping the SAP core as clean as possible.

CM

Written by

Chintan Mota

SAP strategist and transformation advisor with 15+ years helping Fortune 500 companies navigate S/4HANA migrations, BTP adoption, and AI integration.