UKG Pro logoAFAS Profit logo

Payroll integration

UKG Pro to AFAS integration: Dutch employees of a US head office in AFAS Profit

With an integration between UKG Pro and AFAS Profit, employees of the Dutch company in UKG Pro arrive in AFAS as employees with contract, schedule, salary and bank account, and salary and hours changes follow with their effective date. UKG Pro reports changes at most every three hours, which is well in time for a monthly payroll run.

What the integration does

Organisations with a Dutch entity that run HR in UKG Pro and Dutch payroll in AFAS Profit transfer new employees from UKG Pro by hand. Pay rises from the annual round arrive as a list, often in dollars and per year.

  1. HR records a new employee at the Dutch company in UKG Pro.
  2. Every three hours KoppelHet asks which employees have changed, and fetches their current data.
  3. KoppelHet compares with the previous state and sends only what actually changed to AFAS.
  4. A new employee is in AFAS with contract, schedule, salary and bank account. Payroll completes payroll tax credit and collective agreement grading.
  5. A termination in UKG Pro closes the contract in AFAS on the end date.
UKG Pro → KoppelHet → AFAS ProfitSOURCEUKG ProTARGETAFAS ProfitKoppelHetmapping · logging · monitoringUKG Pro → KoppelHet → AFAS ProfitSOURCEUKG ProTARGETAFAS ProfitKoppelHetmapping · logging · monitoring
Out: Employee with name, address and BSN · Contract with start and end date · Schedule with hours per week · Salary with effective date · Bank account (IBAN)

What to watch for with UKG Pro and AFAS Profit

  • UKG Pro returns changed employees at most every three hours and up to eight times a day. For Dutch payroll that is ample; before the cut-off KoppelHet also runs a full check.
  • UKG Pro tells which employees changed, but not which field. KoppelHet keeps the previous state and only sends real differences to AFAS, so a new phone number in the United States does not produce an update in AFAS.
  • An employee can belong to several companies in UKG Pro, with a country code per company. KoppelHet only sends employees of the company with country code Netherlands to AFAS, and that company determines the employer in AFAS.
  • A salary in UKG Pro is an annual salary or an hourly rate, with a currency code and an effective date. AFAS receives a fixed monthly salary or an hourly wage; for a salary in dollars we agree up front which euro amount applies in the Netherlands.
  • UKG Pro stores an identification number with the country that issued it. KoppelHet only takes the Dutch number as BSN, so a US social security number never ends up in AFAS.
  • For a rehire UKG Pro keeps the original hire date and a last hire date. KoppelHet uses the last date for the new contract in AFAS and leaves the old contract untouched.
  • Bank details of employees outside the United States are held separately in UKG Pro, with IBAN and SWIFT code. KoppelHet fetches them there, because the regular bank details in UKG Pro are set up for US accounts.

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

Is every three hours fast enough?

For payroll, yes. A change entered in UKG Pro today is in AFAS the same day, and a full check runs before the cut-off.

Where do payroll tax credit and collective agreement come from?

Usually from AFAS itself, as UKG Pro does not hold them. If HR records them in a custom field in UKG Pro, KoppelHet can pass them on.

What do we need to arrange in UKG Pro?

A service account with read rights on the APIs we agree, and the API key of your environment. Your UKG administrator arranges this once.

What about the GDPR?

You are the controller and KoppelHet is the processor, under a data processing agreement. Only data of the Dutch company goes to AFAS, and every action is in the audit logging.

Technical details for IT

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

  • UKG Pro is read through the Personnel API with a service account (web service rights per API, including View for EmployeeExport), the US-Customer-Api-Key and basic authentication. Changed employees through employee-changes (at least three hours between calls, at most 200 per page); details through employment-details, compensation-details (annualSalary, hourlyPayRate, salaryOrHourly, currencyCode, salaryEffectiveDate), national-documents, international-employees and employee-global-banks (iban). With too many calls UKG Pro answers with 429.
  • AFAS is written through the KnEmployee UpdateConnector, with AfasContract, AfasTimeTable, AfasSalary, AfasAgencyFiscus and AfasBankInfo.

Which fields are transferred

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

Field in UKG ProField in AFAS ProfitNotes
employeeIdMedewerker (EmId) of vrij veldFixed key
firstName en lastNameVoornaam (FiNm), voorvoegsel (Is) en achternaam (LaNm)Split the name prefix
nationalId met nationalIdCountry NLDBSN (SoSe)
Adres en countryCodeAdres en woonland (AfasAgencyFiscus)
originalHireDate of lastHireDateBegindatum contract (DaBe)For a rehire the latest date
terminationDateEinddatum contract (DaEn)
scheduledWorkHoursAantal uren per week (HrWk)
salaryOrHourly, annualSalary of hourlyPayRateSalaris (EmSa) en soort salarisAnnual amount converted to monthly
salaryEffectiveDateIngangsdatum salaris
iban (global banks)Bankgegevens (AfasBankInfo)

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.