
Payroll integration
Sage People to AFAS integration: Dutch employees and salaries from Sage People in AFAS Profit
With an integration between Sage People and AFAS Profit, team members with a Dutch payroll company arrive in AFAS as employees with contract and salary, and salary records and end dates from Sage People follow with their start date. Payroll only completes collective agreement grading and payroll tax details; payslips from AFAS can go back to Sage People.
What the integration does
International employers that use Sage People for HR in every country and run Dutch payroll in AFAS Profit copy new colleagues by hand. Salary changes entered retroactively in Sage People get missed, and employees look for their payslip in Sage People in vain.
- KoppelHet reads the team members with a Dutch payroll company in Sage People, with their employment record.
- A new team member arrives in AFAS as an employee with contract, schedule and salary. Payroll completes collective agreement scale and payroll tax details.
- A new salary record goes to AFAS with its start date, also when that lies in the past.
- An end date on the employment record closes the contract in AFAS.
- After the run the payslips from AFAS can go back to Sage People as PDFs, where employees can see them.
Back: Payslips as PDF with the Sage People employee number, if you want it
What to watch for with Sage People and AFAS Profit
- Sage People links an employee to a payroll provider through the payroll company. KoppelHet uses that field to send only Dutch employees to AFAS, and to pick the right employer in AFAS per payroll company.
- A salary record in Sage People has an amount, a multiplier to annual and a period such as year, month or hour. AFAS wants to know whether it is a fixed salary, hourly wage or scale salary; KoppelHet derives that from the period and converts the amount.
- In Sage People the start date of a salary can lie before the award date when a retroactive rise has been agreed. KoppelHet uses the start date, so AFAS settles the difference over the past months.
- What the integration sees in Sage People is determined by the permission set of a separate API user, with read-only rights per field. An empty field in AFAS is therefore usually a missing right in Sage People, and KoppelHet reports it as such.
- Sage People can receive payslips from an external payroll provider as a separate PDF per employee with a list containing the Sage People employee number. KoppelHet can deliver the AFAS payslips that way, so employees see them in Sage People.
- Sage People has no Dutch collective agreement scale and step. For a scale salary KoppelHet supplies the amount from Sage People, and payroll picks scale and step in AFAS.
- A salary record in Sage People can be in a currency other than the euro. We then agree up front which amount applies in the Netherlands, as an exchange rate does not belong in payroll.
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 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.
Frequently asked questions
Can our Dutch employees see their payslip in Sage People?
Yes, if you have the return route set up. The payslips from AFAS then arrive as PDFs with the right employee in Sage People after the run.
What if head office adjusts a salary retroactively?
The new salary record goes to AFAS with its start date. AFAS settles the difference in the next run.
What do we need to arrange in Sage People?
A separate API user with read access to the fields we agree, and an app the integration signs in with. Your Salesforce or Sage People administrator does this once.
We already have an integration platform. Does this fit alongside it?
Yes. This integration runs on the KoppelHet platform and asks nothing of your existing integration platform. Every action is in the audit logging, so operations and audit know what happened.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sage People is read through the Salesforce API with SOQL on fHCM2__Team_Member__c, fHCM2__Employment__c and the Salary object (Amount, Annual Multiplier, Period, Currency, Start Date, Award Date, Active), among others. Access through an External Client App with OAuth 2.0 client credentials and an API user with a Salesforce Integration licence, the Minimum Access – API Only Integrations profile and a read-only permission set.
- Payslips back through inbound Payflow - one PDF per payslip plus a CSV file with the Sage People Employee Number, on the Sage People SFTP platform; no zip files.
- AFAS is written through the KnEmployee UpdateConnector, with AfasContract, AfasTimeTable and AfasSalary.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sage People | Field in AFAS Profit | Notes |
|---|---|---|
Employee Number (team member) | Medewerker (EmId) of vrij veld | Fixed key; also needed for the payslips back |
First Name en Last Name | Voornaam (FiNm), voorvoegsel (Is) en achternaam (LaNm) | Split the name prefix |
Payroll Company | Werkgever in AFAS | Also decides who does and does not go to AFAS |
Start Date (employment) | Begindatum contract (DaBe) | |
End Date (employment) | Einddatum contract (DaEn) | |
Salary: Amount, Annual Multiplier, Period | Salaris (EmSa) en soort salaris | Converted to a monthly amount |
Salary: Start Date | Ingangsdatum salaris | |
Uren per week (employment record) | Aantal uren per week (HrWk) | |
Department | Organisatorische eenheid | Through a lookup table |
Related
Sage People → Active Directory
Sage People to Active Directory integration: domain accounts for the Dutch office
Sage People → ADP iHCM
Sage People to ADP iHCM integration: salary records, bonuses and leavers of the Dutch payroll company to ADP
Sage People → Arbodienst (SIVI)
Sage People to the occupational health service via SIVI: absence records as absence reports
Sage People → DATEV
Sage People to DATEV integration: German payroll changes from Sage People to DATEV