SAP SuccessFactors logoPower BI logo

HR data to BI

SAP SuccessFactors to Power BI integration: Employee Central with full history in Power BI

With an integration between SAP SuccessFactors and Power BI, employees, job and organisation history and cost centres from Employee Central sit in a fixed Power BI model, with all time slices and not just today's position. KoppelHet fetches the data completely and without duplicate or missing rows, so headcount and turnover per country and entity are right in Power BI.

What the integration does

Organisations that manage employees in SAP SuccessFactors Employee Central often build a Power BI report directly on the OData feed. Such a report only shows today's position, and with large numbers employees are sometimes missing or listed twice.

  1. SuccessFactors administration registers the integration as an OAuth client with an API user that can only read.
  2. KoppelHet fetches all time slices of job and organisation, not just the current one.
  3. The data arrives in pages held by the server, so a change during fetching does not duplicate or drop anything.
  4. Future changes are flagged separately, so they do not count as the current position.
  5. KoppelHet refreshes the Power BI model; country HR sees only its own countries.
SAP SuccessFactors → KoppelHet → Power BISOURCESAP SuccessFactorsTARGETPower BIKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → Power BISOURCESAP SuccessFactorsTARGETPower BIKoppelHetmapping · logging · monitoring
Out: Persons and employments · Job and organisation history per time slice · Companies, departments and cost centres · Terminations with reason · Future changes (flagged separately)

What to watch for with SAP SuccessFactors and Power BI

  • For a regular query SuccessFactors only returns the time slice that applies today. A Power BI report directly on the feed therefore has no history. KoppelHet requests all time slices from an early start date, so headcount per month can also be calculated for previous years.
  • SuccessFactors supplies at most 1,000 records per response. According to SAP, paging yourself can miss records or return duplicates if something changes during fetching. KoppelHet uses the pagination SAP recommends for this, where the server holds the set.
  • SAP marks basic authentication as deprecated and recommends OAuth with a SAML assertion. The Power BI OData connector does not support that sign-in method. KoppelHet signs in to SuccessFactors, so Power BI does not have to store the password of a SuccessFactors user.
  • For an OData source with filters in the URL, the Power BI service tests the sign-in without those filters. Microsoft then advises skipping the connection test. Because KoppelHet stages the data, Power BI refreshes on a fixed source and this does not come into play.
  • Fetching changes by last-modified date can return a different time slice than expected for effective-dated data in SuccessFactors. KoppelHet therefore reloads the history fully once a week and the recent changes daily, so deviations disappear within a week.
  • In Employee Central one person can have more than one employment, for example when working for two entities. KoppelHet keeps person and employment separate in the model, so headcount can be shown both in persons and in employments.

How we build and run it

  • The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
  • Every sync and every error is visible in the functional log; on an error your administrator is notified.
  • A change that cannot go through is not half-applied but queued for another attempt.
  • KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
  • After go-live we manage the integration and adjust it when your process changes.
  • The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.

Implementation, architecture and compliance

Implementation and price

This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.

A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Can Power BI not just read the SuccessFactors OData feed?

For a quick exploration, yes. For a permanent report you run into today's position, pagination and sign-in. KoppelHet solves those three and supplies Power BI with a fixed model.

Do you use SAP People Analytics or Datasphere?

Not if it is not needed. If you already have an SAP data platform, KoppelHet can connect to it instead of using its own storage.

What about the GDPR?

You are the controller and KoppelHet is the processor, under a data processing agreement. The API user only gets read access to the entities the report needs.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • SuccessFactors OData API (v2) for Employee Central: PerPerson, EmpEmployment, EmpJob and the Foundation Objects FOCompany, FODepartment and FOCostCenter. History with fromDate (without date parameters asOfDate defaults to today). Server-side pagination with paging=snapshot; at most 1,000 records per response. OAuth 2.0 with SAML bearer assertion.
  • Power BI semantic model in import mode, refreshed through the Power BI REST API. The Power BI OData Feed connector supports anonymous, Windows, basic, Web API key and organisational account; no SAML bearer. Row-level security on country and entity.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in SAP SuccessFactorsField in Power BINotes
PerPerson.personIdExternalPersoonsleutel
EmpEmployment.userIdDienstverbandsleutelOne person can have more than one employment
EmpJob (startDate, endDate, company, department, costCenter, jobCode)Tabel functiehistorie
FOCompanyDimensie entiteit
FODepartmentDimensie afdeling
FOCostCenterDimensie kostenplaats

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.