Skip to Content
Technical Articles
Author's profile photo Uladzislau Pralat

Spend Reporting with S/4HANA Embedded Analytics

Spend reporting is an important AP requirement that helps companies better understand and control their expenses. Traditionally, companies that run SAP approach Spend reporting with BW solutions.
When it comes to Spend reporting BW gives little to no advantage compared to S/4HANA Embedded Analytics due to rigid extraction process and need of complex transformations and native modeling. It makes total sense to bring Spend reporting back to S/4HANA where it belongs.

S/4HANA Embedded Analytics Spend data can be sliced and diced in Analysis for Office or visualized using SAP Analytics Cloud or Power BI.

But first come first – we need to be build the solution:

  1. CDS view cube that provides all necessary details for analysis and KPI modeling
  2. Query that models KPIs and expose data for consumption  

Spend CDS cube view is quite complex

But idea is simple – self-joining account document item information to derive expense items information along with supplier information

And also isolating AP transactions restricting data by posting key and supplier count:

Such a way intercompany transactions, data error entries and process problems (for example, multiple travel expenses paid to different employees in one document) are excluded.

For Spend query I decided to go with BW query option instead of CDS view query:

BW query makes definition of calculated and restricted measures easy (no multiple nested views and less coding thanks to visual interface). Let me show you how easy PO Penetration Rate KPI is modeled (measures percentage of AP documents with PO compared compared to overall number of AP documents):

Besides of BW query supports advanced variable handling. Using OLAP variable I limited data selection 1 year to making sure that S/4HANA system is not overstressed if very detailed query is run open wide.

OLAP variable provides default values and data entry validation. The variable logic is coded in implementation class of RSROA_VARIABLES_EXIT BADI

Intercompany transactions, data error entries and process problems are excluded from Spend reporting, but can be analyzed separately as Spend Exceptions reporting. For this I created Spend Exception CDS view cube.

This is how Spend Exceptions are isolated from the rest of Spend data

For Spend exception data consumption I also created BW query built on top Spend Exception CDS view cube transient provider. Spend Exception query does not model any KPIs, just provides detailed information about financial transaction for case by case analysis to understand data entry errors or processes issues.

For more information about Spend reporting implementation please refer to source code on GitHub

Curious to know more other business scenarios covered by Embedded Analytics? Then check out my book SAP S/4HANA Analytical Applications with Fiori Elements

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Emmanouil Kouvaritakis
      Emmanouil Kouvaritakis

      nice blog, well explained how you can combine CDS and OLA technology in S/4!!!




      Author's profile photo Vitali Minor
      Vitali Minor
      Hello Uladzislau,
      valuable post, thanks for sharing !
      Author's profile photo Erol Özdemir
      Erol Özdemir

      Hi Uladzislau,

      nice blog. Thank you!

      Is there any (system) pre-condition to create BW-Query (with eclipse Query-designer) on top of CDS-Cube like you did it e.g. embedded BW must be activated etc...?

      BR Erol

      Author's profile photo Uladzislau Pralat
      Uladzislau Pralat
      Blog Post Author

      Hi Erol,

      no prerequisites. As soon as cube CDS view is activated, corresponding transient provider becomes available.

      Regards, Uladzislau