
Payroll to finance
AFAS to Rydoo integration: claimants and cost centres from AFAS, approved expenses back into the payroll run
With an integration between AFAS Profit and Rydoo, every employee from AFAS is automatically in Rydoo, in the group of their cost centre, and checked expenses from Rydoo go to the next AFAS payroll run as an expense reimbursement. After the run the expense is set to reimbursed in Rydoo, so the employee sees the money is on its way.
What the integration does
Organisations that run payroll in AFAS Profit and have expenses claimed in Rydoo add new colleagues to Rydoo by hand and retype approved amounts as a mutation in AFAS every month. Someone who changes department keeps claiming on the old cost centre for weeks, and a leaver keeps access.
- A new employee in AFAS becomes a Rydoo user with employee number and work email, in the group of their cost centre.
- A different cost centre in AFAS closes the old group in Rydoo and opens the new one on the effective date. After the last working day the user is disabled.
- Rydoo reports an approved or controlled expense; KoppelHet fetches it and only takes amounts paid out of pocket.
- Per employee the total goes to AFAS as a pay component, in the current period; the expense is then marked as processed in Rydoo.
- After the payroll run KoppelHet sets the expenses in Rydoo to reimbursed, with the period as payment reference.
Back: Controlled expenses go to AFAS per employee as a pay component · After the payroll run Rydoo receives the reimbursed status
What to watch for with AFAS Profit and Rydoo
- Rydoo creates one user per call and limits the number of calls per minute. On the first load KoppelHet puts all AFAS employees into Rydoo switched off, so not everyone gets an activation email at once. The administrator then activates them in one go; new colleagues get the email straight away.
- In Rydoo a group acts as a cost centre, and an expense belongs to the group the employee was in on the expense date. On a change in AFAS KoppelHet gives the old group an end date and the new one a start date, so a dinner from last week still lands on the old cost centre.
- Rydoo does not allow users to be deleted through the API. A leaver is disabled, so expenses from the last month can still be handled and paid in the AFAS final settlement.
- Rydoo records per expense whether it is to be reimbursed. Spending on a company card has already been paid; KoppelHet only takes reimbursable expenses to AFAS, so nobody gets a card payment on the payslip a second time.
- Rydoo reports approved and controlled expenses through a webhook, which Rydoo switches on itself on request. After processing in AFAS KoppelHet marks the expense in Rydoo as reported, so a second notification does not become a second reimbursement.
- A receipt with several VAT rates is a parent expense in Rydoo with one part per rate, and Rydoo sends one notification for it. KoppelHet takes the amount of the parent expense, so the employee gets the whole amount and not just one part.
- Rydoo only supports Dutch as Belgian Dutch. Employees from AFAS get that language or English, depending on what the organisation chooses; the Dutch country code does go along as usual.
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 an expense that arrives after the cut-off date?
It goes along with the next payroll period. KoppelHet records per expense in which period it was processed.
Do the expenses also reach the ledger?
Through the AFAS payroll journal, as part of the payroll run. A separate posting per expense 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.
- AFAS is read with a GetConnector on employees and employments, filtered on change date. Expense reimbursements go to AFAS through the UpdateConnector HrCompMut, as a pay component in the current period.
- To Rydoo through the REST API with OAuth 2.0 client credentials (token through accounts.rydoo.com/connect/token, scopes api_xpd2 and openid, token reusable up to 5 minutes). Users through POST /v2/users and PUT /v2/users/{id} (email, firstName, lastName, refId up to 36 characters, enabled, country, languageCountryCode), search through GET /v2/users?externalId= or email; groups through PUT /v2/users/{id}/groups with startDate and endDate. Limits 500 requests per minute, 25 for the token, then 429.
- Expenses through the expense webhook (ExpenseApproved, ExpenseControlled), GET /v3/expenses/{id} (amount, currency, isReimbursable, category.accountingCode, user.refId), then PUT /v3/expenses/{id}/report and after the run PUT /v2/expenses/reimburse with expenseId and paymentReference; the response gives a status per expense.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in AFAS Profit | Field in Rydoo | Notes |
|---|---|---|
Medewerkernummer | refId | At most 36 characters |
E-mail werk | email | Unique within the Rydoo account |
Roepnaam en achternaam | firstName en lastName | |
Kostenplaats met ingangsdatum | groepstoewijzing met startDate en endDate | |
Datum uit dienst | enabled = false | |
user.refId en amount uit Rydoo | Looncomponent onkostenvergoeding (HrCompMut) | Summed per employee and period |
category.accountingCode | Keuze van de looncomponent | For example untaxed travel or another allowance |
Related
ADP Workforce Now → AFAS Profit
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
AFAS Profit → 4PS Construct
AFAS to 4PS Construct integration: payroll journal per employer in the right 4PS company
AFAS Profit → Adobe Creative Cloud
AFAS to Adobe Creative Cloud integration: users and product profiles from AFAS Profit
AFAS Profit → AG5
AFAS to AG5 integration: employees, employments and absence from AFAS Profit in the skills matrix