
Leave, absence and time
Everhour to AFAS integration: approved weekly timesheets as project costing in AFAS, leave back in planning
With an integration between Everhour and AFAS Profit, the hours from an approved Everhour weekly timesheet go to AFAS automatically as project costing on the right project and hour type, so project administration and payroll can work with them straight away. Approved leave from AFAS appears as time off in Everhour, so capacity planning works with who is actually there.
What the integration does
Organisations that log project hours in Everhour and run projects, invoicing and payroll in AFAS Profit export the hours every week, look up the AFAS project per line and import them. Hourly paid staff are paid on those lines, and because leave is only in AFAS, capacity planning in Everhour assumes everyone is there.
- Employees log hours on tasks in Everhour and submit their week for approval.
- An admin approves the week, possibly per day.
- KoppelHet retrieves the approved days and looks up the AFAS project and hour type for each Everhour project.
- The hours appear as project costing lines in AFAS, with the Everhour record as reference. Hour types linked to a pay component go on from there to the payroll run.
- Approved leave from AFAS appears as time off in Everhour, so planning no longer counts those days.
Back: Approved leave as time off · Leave balance as allocation, if you want it
What to watch for with Everhour and AFAS Profit
- Everhour approves hours per week, and an admin can approve or reject single days within that week. KoppelHet only takes over the approved days. A rejected Tuesday only reaches AFAS once it has been resubmitted and approved.
- Everhour sends a notification when hours change, but not when a week is approved. The integration therefore checks the status of the weekly timesheets per week and still picks up a late approval before the period closes in AFAS.
- A project costing line in AFAS can no longer be changed after it is marked ready and cannot move to another period. If someone changes hours in Everhour afterwards, KoppelHet books the difference as a new line in the current period, with a reference to the original Everhour record.
- AFAS only takes hours from project costing into the payroll run per day for employees with a daily schedule. For employees with a schedule in hours per week the Everhour hours stay project hours for costing and invoicing, and do not go to payroll as worked hours.
- AFAS records leave in minutes. Everhour only knows time off as a whole, half, quarter or three-quarter day. KoppelHet rounds to the nearest part of the day and reports leave that does not fit, so planning does not quietly count an hour too many or too few.
- Users cannot be created in Everhour through the API; they are invited in Everhour itself. The integration looks up every Everhour user by email address in AFAS. A user without a match gets no hours in AFAS and appears as an alert.
- Everhour stores time in seconds per task, AFAS expects a number of hours that it does not calculate from start and end time itself. KoppelHet converts and totals per day and project, so the project costing in AFAS matches the total in Everhour.
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
Do the hours also go to invoicing in AFAS?
Yes, if the project in AFAS is set up as chargeable. The costing line is the same for project costs, invoicing and, through the hour type, the payroll run.
Which Everhour account does the integration use?
The API key belongs to one user and works with that user's permissions. We use an admin account that may see the whole team's hours and approve leave.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Everhour is read through the Everhour API (api.everhour.com, labelled beta by Everhour) with an API key in the X-Api-Key header, preferably with a fixed X-Accept-Version. Weekly timesheets through GET /timesheets?weekId= (Timesheet ID = user ID plus week ID), time records through GET /team/time. Rate limit 100 requests per 10 seconds; above that 429 with Retry-After.
- Everhour webhooks cover api:time:updated and api:timer:stopped among others, but not approval of a weekly timesheet. Time off goes to Everhour through POST /resource-planner/assignments with type time-off, timeOffType, timeOffPeriod and status approved; balances through /allocations.
- In AFAS we write through the UpdateConnector PtRealization (or PtRealizationWeek for weekly costing) with XpRe as external Id. Whether hours go to payroll is decided by AFAS's integration of project costing and payroll, through hour types linked to a pay component. Leave is read with a dedicated GetConnector on leave entries.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Everhour | Field in AFAS Profit | Notes |
|---|---|---|
user (Everhour-id) | Medewerker in AFAS | Matched on the work email address |
TimeRecord.id | XpRe (extern nacalculatie-Id) | Prevents double booking |
Project (Everhour) | Project in AFAS | Through project code or translation table |
Taak of projecttype | Werksoort / urensoort | Decides whether the hours go to payroll |
time (seconden) | Aantal (uren) | AFAS does not calculate Aantal from start and end time |
date | Datum van de nacalculatieregel | |
Verlofboeking in AFAS (terug) | time-off met timeOffType en timeOffPeriod |
Related
Everhour → Nmbrs
Everhour to Nmbrs integration: approved hours of hourly paid staff as variable hours, leave back in planning
Everhour → Visma Raet YouForce
Everhour to YouForce integration: approved clocked hours of hourly paid staff to payroll
HiBob → Everhour
HiBob to Everhour integration: approved time off and balances from Bob in Everhour's resource planner
Personio → Everhour
Personio to Everhour integration: approved absences from Personio as time off in Everhour