SAP SuccessFactors logoPayFit logo

Payroll integration

SAP SuccessFactors to PayFit integration: French hires from Employee Central as collaborators in PayFit

An integration between SAP SuccessFactors and PayFit turns a new employee of the French legal entity in Employee Central into a collaborator with a basic contract in PayFit, and places approved leave from SuccessFactors as an absence on that contract. The PayFit API cannot change a running contract; KoppelHet reports such changes as a task to the payroll administrator.

What the integration does

Organisations that use Employee Central as their global HR system and run French payroll in PayFit enter French starters twice. Leave approved in SuccessFactors is retyped by the payroll administrator, and a wrongly copied social security number only surfaces at the first DSN.

  1. HR records a hire in Employee Central with the French legal entity in the job information.
  2. KoppelHet reads person, address, email and national ID through OData and checks that the NIR has fifteen characters.
  3. In PayFit KoppelHet creates the collaborator, then the basic contract, and links the health insurance that belongs to the French entity.
  4. The payroll administrator completes working time and other contract details in PayFit.
  5. Approved leave from SuccessFactors becomes a validated absence; a cancelled request is also cancelled in PayFit by KoppelHet.
SAP SuccessFactors → KoppelHet → PayFitSOURCESAP SuccessFactorsTARGETPayFitKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → PayFitSOURCESAP SuccessFactorsTARGETPayFitKoppelHetmapping · logging · monitoring
Out: Person with name, personal email, address and NIR · Basic contract with job title and start date · Health insurance affiliation on the contract · Approved leave as a validated absence

What to watch for with SAP SuccessFactors and PayFit

  • Employee Central stores job data with an effective date and only returns today's record by default. KoppelHet therefore requests a French hire starting next month with fromDate and toDate, so the collaborator is already in PayFit before the month of the first payslip starts.
  • PerNationalId can hold numbers from several countries per person. KoppelHet only takes the number with country FRA, because PayFit expects exactly fifteen characters for France; a German or Dutch number is never sent as the NIR.
  • Through the API PayFit can only create a contract for French companies. That matches the selection on the French legal entity in EmpJob; employees of a Spanish or British SuccessFactors entity get at most a collaborator without a contract in PayFit, and KoppelHet reports that to payroll.
  • PayFit has a separate endpoint to link health insurance to a French contract. KoppelHet sets the insurance that belongs to the French entity right after the contract, or marks the employee as exempt if that is recorded in SuccessFactors.
  • An absence in PayFit cannot be changed, only cancelled and created again. If an employee extends their leave in SuccessFactors, KoppelHet cancels the old absence and creates a new one with the new end date.
  • Only leave with the approved status in SuccessFactors goes to PayFit, because PayFit does not want pending requests and marks everything from the API as validated straight away. A request still PENDING in SuccessFactors therefore stays out of PayFit.
  • SAP marks basic authentication for the SuccessFactors APIs as deprecated. KoppelHet uses OAuth 2.0 with a SAML assertion, with a technical user that may only read the French legal entity.

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 · Complex

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

Does a pay rise in Employee Central go to PayFit as well?

Not automatically. The PayFit API cannot change an existing contract. KoppelHet reports the rise with its effective date to the payroll administrator, who enters it in PayFit.

What if we use Employee Central Payroll?

Then you do not need PayFit for France. This integration is for organisations that keep French payroll in PayFit.

Technical details for IT

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

  • SuccessFactors through OData v2: PerPerson, PerPersonal, PerEmail, PerAddressDEFLT, PerNationalId, EmpEmployment and EmpJob (filter on company and lastModifiedDateTime, with fromDate/toDate for future records) and EmployeeTime (filter on approvalStatus APPROVED or CANCELLED). Authentication with OAuth 2.0 SAML bearer assertion.
  • PayFit through partner-api.payfit.com with a customer API key: POST /companies/{companyId}/collaborators, POST /companies/{companyId}/collaborators/{collaboratorId}/contracts (France only), PUT /companies/{companyId}/contracts-fr/{contractId}/health-insurance (scope health-insurance:write), POST /companies/{companyId}/absences (time:write) and cancelling with DELETE on the absence. companyId through POST oauth.payfit.com/introspect.

Which fields are transferred

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

Field in SAP SuccessFactorsField in PayFitNotes
PerPersonal.firstName, lastNamefirstName, lastName
PerEmail (type privé)personalEmailPayFit asks for the personal address, not the work one
PerNationalId (country FRA)socialSecurityNumberOnly the French number, fifteen characters
PerAddressDEFLTpersonalAddress (streetNumber, addressFirstLine, city, postCode, country)
EmpJob.jobTitlejobTitle (contract)
EmpJob.startDate bij een hire-eventstartDate (contract)
EmployeeTime.timeTypeabsence type, bijvoorbeeld fr_conges_payes of fr_rttThrough a lookup table per time type

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.