SAP SuccessFactors logoPaylocity logo

Payroll integration

SAP SuccessFactors to Paylocity integration: US employees, pay and leavers from Employee Central in Paylocity

An integration between SAP SuccessFactors and Paylocity creates US employees from Employee Central in the Paylocity company of their legal entity, with cost centre, job and primary pay rate, and passes on pay changes and terminations with their effective date. If a field the customer has made required in Paylocity is missing, the employee is staged in Web Link instead of being rejected.

What the integration does

Organisations that use Employee Central as their global HR system and process US pay in Paylocity keep starters, pay rises and leavers in both systems. A pay rise with an effective date in SuccessFactors often only reaches Paylocity a run later, resulting in back pay.

  1. HR records a hire, change or termination at a US legal entity in Employee Central.
  2. KoppelHet reads the changed entries through OData and determines the Paylocity company for the legal entity.
  3. KoppelHet creates a starter with all required fields directly; otherwise they go to Web Link.
  4. Pay changes go in as an update with the effective date from SuccessFactors.
  5. A termination sets the status to T with the date and the Paylocity reason that matches the event reason.
SAP SuccessFactors → KoppelHet → PaylocitySOURCESAP SuccessFactorsTARGETPaylocityKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → PaylocitySOURCESAP SuccessFactorsTARGETPaylocityKoppelHetmapping · logging · monitoring
Out: Employee in the right Paylocity company · Department and position with cost centre · Primary pay rate with effective date · Status T with date and reason

What to watch for with SAP SuccessFactors and Paylocity

  • In Employee Central every employee belongs to a company, and Paylocity works with one Company ID per payroll entity. An organisation with several US legal entities therefore gets a lookup from SuccessFactors company to Paylocity Company ID, and every call goes to that company.
  • A move to another US legal entity is a new job entry with a different company in Employee Central. In Paylocity it is a Copy and Transfer within the same company set, where the old record gets status XT. KoppelHet has that transfer done in Paylocity and then only writes to the active record.
  • Recurring pay components in Employee Central have a startDate per entry. Paylocity has an effectiveDate and a beginCheckDate for a pay change. KoppelHet fills the startDate from SuccessFactors as effectiveDate, also when it is in the past, and leaves beginCheckDate to payroll.
  • A hireDate cannot be changed through the Paylocity API. If HR corrects the start date in Employee Central of a US starter who is already in Paylocity, KoppelHet reports it to payroll to adjust in Paylocity.
  • The Employee ID in Paylocity may have ten characters at most, while personIdExternal in SuccessFactors can be longer. In that case KoppelHet keeps a fixed translation, so a pay change and the termination land on the same Paylocity record.
  • Event reasons for a termination are configured per customer in Employee Central, and Paylocity only accepts reasons that exist in its own setup. KoppelHet records the Paylocity reason per event reason and reports a reason without a counterpart, instead of letting the whole termination fail.
  • Creating and updating in Paylocity is allowed at three calls per second at most. A reshuffle of cost centres in Employee Central can change hundreds of entries at once; KoppelHet spreads those updates over time.

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 one-time payments also go to Paylocity?

Not in the first version. Bonuses from EmpPayCompNonRecurring can be added later as an extension.

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, PerNationalId, EmpEmployment, EmpJob (company, costCenter, jobTitle, managerId; filter on lastModifiedDateTime with fromDate/toDate), EmpPayCompRecurring and EmpEmploymentTermination. OAuth 2.0 with SAML bearer assertion.
  • Paylocity WebLink API v2 with OAuth 2.0. POST /v2/companies/{companyId}/employees, staging incomplete hires with POST /v2/weblinkstaging/companies/{companyId}/employees/newemployees, updates with PATCH /v2/companies/{companyId}/employees/{employeeId}. Limit 25 calls per second, 3 per second for create and update.

Which fields are transferred

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

Field in SAP SuccessFactorsField in PaylocityNotes
PerPerson.personIdExternalemployeeIdTen characters at most
PerPersonal.firstName, lastNamefirstName, lastName
PerNationalId (country USA)ssn
EmpJob.companycompanyIdOne Paylocity company per legal entity
EmpJob.costCenterdepartmentPosition.costCenter1Code must exist in Paylocity
EmpJob.jobTitledepartmentPosition.jobTitle
EmpJob.managerIddepartmentPosition.supervisorEmployeeId
EmpPayCompRecurring (paycompvalue, frequency, startDate)primaryPayRate (payType, annualSalary of baseRate, effectiveDate)
EmpEmploymentTermination (endDate, eventReason)status.employeeStatus T, effectiveDate, changeReason

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.