SAP SuccessFactors logoPaychex Flex logo

Payroll integration

SAP SuccessFactors to Paychex Flex integration: US hires from Employee Central as a worker in Flex

An integration between SAP SuccessFactors and Paychex Flex prepares a hire at the US legal entity in Employee Central as an in-progress worker in Paychex Flex, with name, employee ID, SSN, start date and standard pay. The employee or the Flex administrator then completes the tax and bank details in Flex, after which the worker becomes active.

What the integration does

Organisations that use Employee Central as their global HR system and run their US payroll through Paychex Flex enter every US starter twice. After the hire in SuccessFactors, someone at the US office types name, SSN and pay into Flex again, often only when the first payroll is close.

  1. HR records a hire at the US legal entity in Employee Central.
  2. KoppelHet reads person, SSN, personal email and compensation through OData, also when the start date is in the future.
  3. KoppelHet creates a worker with IN_PROGRESS status in the right Paychex company and puts the standard pay on that worker.
  4. Paychex sends the starter an invitation to complete tax and bank details in Flex.
  5. KoppelHet tracks whether the worker becomes ACTIVE and reports a laggard to payroll just before the first working day.
SAP SuccessFactors → KoppelHet → Paychex FlexSOURCESAP SuccessFactorsTARGETPaychex FlexKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → Paychex FlexSOURCESAP SuccessFactorsTARGETPaychex FlexKoppelHetmapping · logging · monitoring
Out: Worker with name, date of birth and SSN · IN_PROGRESS status with the start date · Standard pay on the worker · Personal email for the Paychex invitation

What to watch for with SAP SuccessFactors and Paychex Flex

  • Employee Central can hold employees of all countries and also a contingent workforce. Paychex only accepts workers of type EMPLOYEE or INDEPENDENT_CONTRACTOR through the API. KoppelHet selects on the US legal entity in EmpJob and only sends employees, not contingent workers.
  • On a worker that is still IN_PROGRESS, compensation, taxes and direct deposit can also be added through the API. KoppelHet only puts the standard pay from EmpPayCompRecurring on it; W-4 choices and bank account are entered by the starter during Flex onboarding.
  • Paychex sends the invitation to business email, then personal email, then business mobile. A US starter in SuccessFactors often only has a personal address in PerEmail before the first working day. KoppelHet passes that address on, so the invitation reaches someone.
  • Employee Central returns only today's entry by default, while a US hire is often recorded weeks ahead. KoppelHet requests future entries with fromDate and toDate, so onboarding in Flex does not start only on the first working day.
  • If the customer's Paychex account is locked, the API returns a 423 and a workerId may still have been created, which Paychex calls invalid. KoppelHet does not store such an ID with the SuccessFactors employee and retries the hire later.
  • Access runs through a Paychex partner app that the customer's Flex administrator approves under Company Settings, Integrated Applications. Only then can Employee Central data go to that Paychex company; if the organisation has several US entities, each company approves the app separately.

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

Do pay changes and leavers also go to Flex?

Not in the first version. The public Paychex documentation we read mainly describes onboarding new workers. Changes and leavers can be added later as an extension, after a sandbox test.

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, PerNationalId, EmpEmployment, EmpJob (filter on company and lastModifiedDateTime, with fromDate/toDate) and EmpPayCompRecurring. OAuth 2.0 with SAML bearer assertion.
  • Paychex through https://api.paychex.com with OAuth 2.0 client credentials. POST /companies/{companyId}/workers with a workerCorrelationId per worker, then compensation on the workerId of the in-progress worker; companyId through the Companies API, client access through RequestClientAccess with the displayId and approval by the Flex Admin.

Which fields are transferred

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

Field in SAP SuccessFactorsField in Paychex FlexNotes
PerPerson.personIdExternalemployeeIdStored next to Paychex's workerId
PerPersonal.firstName, middleName, lastNamename.givenName, middleName, familyName
PerPerson.dateOfBirthbirthDate
PerNationalId (country USA)legalId (legalIdType SSN)
EmpEmployment.startDatecurrentStatus.effectiveDateWith statusType IN_PROGRESS and reason PENDING_HIRE
EmpJob.employeeClassworkerType EMPLOYEEContingent workers are left out
PerEmail (privé)communications (EMAIL, PERSONAL)
EmpPayCompRecurring (basissalaris)Standaardloon van de worker (compensation)

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.