SAP SuccessFactors logoSage Payroll logo

Payroll integration

SAP SuccessFactors to Sage Payroll integration: UK changes from Employee Central as a file for Sage 50 Payroll

An integration between SAP SuccessFactors and Sage Payroll delivers UK starters, changes, pay components and leavers from Employee Central as import files for Sage 50 Payroll, ready for payroll. Because Sage 50 Payroll has no API, payroll starts the import, but nobody retypes Employee Central data anymore.

What the integration does

Organisations that use Employee Central worldwide and pay the UK entity in Sage 50 Payroll export a report every month and convert it by hand to Sage's columns. Bonuses already recorded in SuccessFactors with a pay date sometimes end up in the wrong month.

  1. HR records a hire, change, bonus or termination in Employee Central for the UK legal entity.
  2. KoppelHet reads the changed records through OData, including records with a future effective date.
  3. KoppelHet converts employees to Employee Details and payments to Employee Payments (Hours and Rates), and checks codes and mandatory columns.
  4. Payroll takes a backup and loads the files through Data Import.
  5. Lines Sage rejects appear on KoppelHet's difference list for HR.
SAP SuccessFactors → KoppelHet → Sage PayrollSOURCESAP SuccessFactorsTARGETSage PayrollKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → Sage PayrollSOURCESAP SuccessFactorsTARGETSage PayrollKoppelHetmapping · logging · monitoring
Out: Personal and employment data of UK employees · Recurring pay components converted to the Sage period · One-off payments on their pay date · Termination

What to watch for with SAP SuccessFactors and Sage Payroll

  • An OData query to Employee Central only returns what is valid today by default. KoppelHet requests a UK starter or pay rise from the first of next month with fromDate and toDate, so it is already in the file for the right Sage period.
  • A recurring pay component in Employee Central has its own frequency, such as yearly or monthly. Sage 50 Payroll pays weekly, four-weekly or monthly; KoppelHet converts each component to the UK payroll's period and records per component which Sage payment it lands on.
  • One-off payments sit in Employee Central as separate records with a pay date. KoppelHet puts them in the payments file of the Sage period in which that date falls, not the period in which HR entered them.
  • The Sage template for hours and rates only works on payments already attached to the employee. KoppelHet therefore puts a new kind of one-off payment from SuccessFactors on the list for manual assignment in Sage before it can go in a file.
  • PerNationalId stores numbers per country. KoppelHet only takes the British National Insurance number; if it is missing for a starter, the starter is still included and KoppelHet reports it to payroll, who completes it in Sage later.
  • The RTI Payroll ID can no longer be changed in Sage once the employee has been loaded. KoppelHet therefore sends the personIdExternal from SuccessFactors as Employee Reference and leaves the RTI field empty, so Sage creates it.
  • Employee Central often holds every country of a group. The technical user may only read employments of the UK legal entity in SuccessFactors, and signs in with OAuth 2.0 and a SAML assertion because SAP marks basic authentication as deprecated.

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

What if we use the cloud version of Sage Payroll?

This page is about Sage 50 Payroll. For the cloud version we check per project which import route exists.

Is a termination included automatically?

Yes, as the last working day in the employee file. The P45 and the RTI submission stay with payroll in Sage.

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 (filter on company), EmpPayCompRecurring, EmpPayCompNonRecurring and EmpEmploymentTermination, with lastModifiedDateTime and fromDate/toDate. OAuth 2.0 SAML bearer assertion.
  • Sage 50 Payroll through File > Data Import with the CSV templates Employee Details and Employee Payments (Hours and Rates), or Advanced Data Import with a custom mapping. Automatic loading only with the SDK from the paid Sage Developers Programme.

Which fields are transferred

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

Field in SAP SuccessFactorsField in Sage PayrollNotes
PerPerson.personIdExternalEmployee ReferenceFixed key; RTI Payroll ID stays empty
PerPersonal.firstName, lastNameForename, Surname
PerNationalId (country GBR)NI Number
EmpEmployment.startDateStart Date
EmpPayCompRecurring.paycompvalue en frequencyRegular payConverted to the Sage period
EmpPayCompNonRecurring (payDate, value)Employee Payments (Hours and Rates)In the period of the pay date
EmpEmploymentTermination.endDateLeaving Date

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.