
Payroll integration
Remote to AFAS integration: only your own entity's employees from Remote to AFAS Profit
With an integration between Remote and AFAS Profit, a new employee of your own Dutch entity in Remote automatically starts the hiring workflow in AFAS, and job, department and end date then reach the AFAS contract by themselves. Anyone working through Remote as employer of record or as a contractor does not enter AFAS, because Remote or the contractor handles that payment.
What the integration does
Organisations that started with Remote as employer in the Netherlands, now have their own entity and run its payroll in AFAS Profit keep everyone in Remote and re-enter the entity's employees in AFAS. Mistakes easily happen with people moving from Remote to the own entity, and with people still listed as contractors in Remote.
- Remote reports a new employment at your own Dutch entity.
- KoppelHet checks the employment type and the entity, and fetches the full details.
- In AFAS the hiring workflow starts at the right employer, with personal data, job and department.
- Payroll adds salary, schedule and tax data in the workflow and completes it.
- An end of employment in Remote sets the end date on the AFAS contract.
What to watch for with Remote and AFAS Profit
- Remote distinguishes staff through Remote as employer, contractors, own employees and employees whose own-entity payroll Remote runs. AFAS only receives the own employees of the Dutch entity; the other groups are already paid elsewhere.
- A new employee starts the hiring workflow in AFAS, so payroll adds collective agreement, payroll tax credit and pension before someone enters the payroll run.
- Besides the start date Remote has a separate seniority date. When someone moves from Remote as employer to the own entity, the AFAS contract starts on the new start date and the earlier service goes along as a separate date, if you count it.
- Remote signs every notification. KoppelHet verifies the signature before anything happens in AFAS, so a forged notification cannot create an employee.
- For own employees Remote only lets an integration read. The AFAS employee number therefore does not go back to Remote; the integration records that link itself.
- In AFAS the integration gets its own app connector with only the connectors it needs, using OAuth, because the AFAS classic token expires on 31 August 2027.
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
What happens to our contractors in Remote?
They do not enter payroll. If you want them as a relation in AFAS for purchase invoices, that is a separate flow that can follow later as an extension.
How do we know no employee is missed?
At fixed moments KoppelHet compares the own Dutch employees in Remote with the active contracts in AFAS. Differences show up in the KoppelHet platform.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Remote through the Remote API (GET /v1/employments with employment_type=direct_employee for the initial load, GET /v1/employments/{employment_id} per changed employment) and signed webhooks through POST /v1/webhook-callbacks (employment.updated, employment.details.updated, employment.status.updated). For direct_employee only List and Show employment are available.
- To AFAS through the HrOnboarding UpdateConnector for new employees and KnEmployee for changes and the end date.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Remote | Field in AFAS Profit | Notes |
|---|---|---|
id (employment) | Vrij veld bij de medewerker | To find the employment again later |
type = direct_employee | Filter | Other types do not go to AFAS |
engaged_by_legal_entity_id | Werkgever in AFAS | |
full_name | Voornaam, voorvoegsel en achternaam | Split, checked in the workflow |
provisional_start_date | Begindatum contract | |
seniority_date | Datum in dienst voor anciënniteit | Only if it differs from the start date |
job_title | Functie | Through a lookup table |
department | Organisatorische eenheid | Through a lookup table |
termination_date | Einddatum contract |
Related
Greenhouse → Remote
Greenhouse to Remote integration: foreign hires as EOR employment with the country's form
Recruitee → Remote
Recruitee to Remote integration: hires abroad straight into an employment at Remote
Remote → 4PS Construct
Remote to 4PS Construct integration: own employees of the construction entity from Remote in 4PS
Remote → Active Directory
Remote to Active Directory integration: accounts for colleagues in other countries