SAP SuccessFactors logo4PS Construct logo

HR to ERP

SAP SuccessFactors to 4PS Construct integration: employees and cost centre from Employee Central in 4PS

With an integration between SAP SuccessFactors and 4PS Construct, every employee of the Dutch construction or installation companies in Employee Central automatically becomes an employee in the right 4PS company, with job, work email, cost centre and start date. A termination in Employee Central sets the end date in 4PS, so the employee can book hours up to and including their last day.

What the integration does

Organisations that run HR for the whole group in SAP SuccessFactors and work with 4PS Construct in their Dutch construction and installation companies create fitters and site managers in 4PS by hand. A cost centre change only gets through when finance notices it in the hours reporting.

  1. HR saves a hire or change in Employee Central for a company that works in 4PS.
  2. KoppelHet fetches the job information daily, including future effective dates.
  3. The employee is created or updated in the 4PS company of their legal entity.
  4. The cost centre is set as a default dimension on the employee, if that value exists in 4PS.
  5. On departure the employee gets an end date; after the last working day the status changes to terminated.
SAP SuccessFactors → KoppelHet → 4PS ConstructSOURCESAP SuccessFactorsTARGET4PS ConstructKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → 4PS ConstructSOURCESAP SuccessFactorsTARGET4PS ConstructKoppelHetmapping · logging · monitoring
Out: Employee with name, job and work email · Start date and end date · Status active, inactive or terminated · Cost centre as default dimension

What to watch for with SAP SuccessFactors and 4PS Construct

  • Employee Central holds every country and division of the group, 4PS only the construction and installation companies. KoppelHet only requests the companies that work in 4PS and puts each company in a fixed 4PS company.
  • 4PS runs on Microsoft Dynamics 365 Business Central. Through the standard Business Central API, dimension values such as cost centres are read-only. If a cost centre from Employee Central does not yet exist in 4PS, the employee arrives without a cost centre and KoppelHet reports the missing code to finance.
  • A cost centre in Employee Central has a validity period. A default dimension on an employee in 4PS does not; there is one current value. KoppelHet sets the new cost centre on the effective date, not before, so hours of the current week stay on the old one.
  • Without a date range Employee Central only returns today's state. KoppelHet therefore requests a new fitter starting in three weeks with a date range, so they are in 4PS with their future start date and work preparation can schedule them.
  • Business Central knows the statuses active, inactive and terminated for an employee. On departure KoppelHet first only sets the end date, and only changes the status to terminated after the last working day, so the last hours can still be booked.
  • Business Central has a separate middle name field for an employee. Employee Central often keeps a name prefix in its own field. KoppelHet puts it in the middle name field, so van der Linden does not appear in 4PS with the surname Van der Linden.
  • A filter on the last modified date in Employee Central can also return an unchanged job record. KoppelHet compares every record with the previous state and only updates fields in 4PS that really changed.

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 the integration also create new cost centres in 4PS?

Not through the standard Business Central API, where dimension values are read-only. Finance creates them; KoppelHet reports which ones are missing.

Technical details for IT

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

  • SAP SuccessFactors Employee Central through the OData API (v2) with OAuth 2.0 and a SAML bearer assertion; EmpEmployment, EmpJob (company, costCenter, jobTitle, startDate), PerPersonal and PerEmail, filtered on the companies that work in 4PS, with fromDate and toDate for future records.
  • To 4PS through the Business Central API v2.0 per company: employees (GET, POST, PATCH; number, givenName, middleName, surname, jobTitle, email, employmentDate, terminationDate, status Active, Inactive or Terminated) and defaultDimensions on the employee (parentType Employee, dimensionCode, dimensionValueCode). dimensionValues is read-only (GET).

Which fields are transferred

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

Field in SAP SuccessFactorsField in 4PS ConstructNotes
EmpEmployment.personIdExternalnumberUnique within the company
PerPersonal.firstNamegivenName
PerPersonal.lastNamesurname
EmpJob.jobTitlejobTitle
Werkmail (PerEmail)email
EmpEmployment.startDateemploymentDate
EmpEmployment.endDateterminationDate en status
EmpJob.costCenterdefaultDimensions (KOSTENPLAATS)Only if the value already exists in 4PS
EmpJob.companyBusiness Central-companyLookup table

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.