Deel logoProtime logo

Leave, absence and time

Deel to Protime integration: employees from Deel in Protime, approved absence back as time off in Deel

With an integration between Deel and Protime, every employee of an entity that clocks in Protime appears in Protime automatically, with start date, department and a contract. Absence approved in Protime goes back to Deel as approved time off, so the balance and leave calendar in Deel are correct without a second approval.

What the integration does

Organisations that manage employees in Deel and clock with Protime in the Netherlands or Belgium enter every new colleague into Protime by hand. Leave goes through Protime's terminal or app, but does not reach Deel, so the leave balance in Deel is wrong and HR updates it by hand.

  1. HR creates an employee in Deel at an entity that works with Protime.
  2. KoppelHet puts the person in Protime, with a contract and the department and work location from the start date.
  3. The employee requests leave in Protime and the manager approves it.
  4. KoppelHet first validates the request with Deel and then enters it as approved time off in Deel.
  5. If the absence is changed or removed in Protime, KoppelHet updates or cancels the time off in Deel.
Deel → KoppelHet → ProtimeSOURCEDeelTARGETProtimeKoppelHetmapping · logging · monitoringDeel → KoppelHet → ProtimeSOURCEDeelTARGETProtimeKoppelHetmapping · logging · monitoring
Out: Person with name, employee number and start and end date · Contract with contract hours and full-time norm · Department and work location as history
Back: Approved absence as time off, with half days or hours per day

What to watch for with Deel and Protime

  • Protime offers no write access to absence, while Deel accepts time off through the API and sets it to approved by default. Leave is therefore requested and reviewed in Protime; Deel receives the result. KoppelHet leaves Deel's approval flow switched off, so the manager is not asked again.
  • Deel recommends validating a request first against balance, leave policy and required custom fields. KoppelHet runs that check before booking. If Deel rejects the request, HR gets an alert with the reason, instead of a retry that keeps returning the same error.
  • Deel can split one request into several time offs on creation, depending on the dates. KoppelHet keeps all IDs Deel returns with the absence from Protime, so a later change or deletion affects every part.
  • Within one request in Deel all days must have the same kind, such as full day, half day or hours. Protime reports a day part and a duration per day. If a half day sits in the middle of a series of full days, KoppelHet turns it into separate requests, so Deel does not reject a request with mixed days.
  • If the manager moves an approved day off in Protime, KoppelHet corrects the dates of the existing time off in Deel. If the absence disappears in Protime, KoppelHet cancels the time off; Deel then sets it to cancelled at once, even if it was already approved, and that cannot be undone.
  • Deel has a separate endpoint through which an external HR system syncs time off, but only for Global Payroll contracts. If payroll for the Dutch or Belgian employees runs outside Deel, KoppelHet uses the regular time off request per employee.
  • Protime wants the contract hours and the hours of a full-time week on a contract, while Deel delivers no hours in the people API. KoppelHet reads both from custom fields in Deel, or from a table per entity, and reports an employee without hours before Protime is left with a person without a contract.

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 · Basic

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

Why request leave in Protime and not in Deel?

Because Protime does not accept absence through the API. Whoever arranges leave at the clock does so in Protime; Deel receives the result and keeps the balance.

Do EOR employees go to Protime too?

Only if they clock at a location with Protime. We choose per hiring type and entity who is included.

Do clocked hours go to Deel?

Not in this integration. Clocked hours for payroll 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.

  • Deel through the REST API (version 2026-01-01) with an API token or OAuth2 app. Employees through GET /rest/people and webhooks for created and updated direct employees; custom fields through the custom fields API. Absence back with POST /rest/time_offs/validate and POST /rest/time_offs (recipient_profile_id, time_off_type_id or policy_id, start_date, end_date, dates with day_type HALF_DAY, FULL_DAY, PERCENTAGE or HOURLY, status APPROVED, use_deel_approval_flow false), PATCH /rest/time_offs/{time_off_id} for corrections and DELETE to cancel. Scopes time-off:write and worker:write.
  • Protime through the Protime API (v1) with OAuth 2.0 client credentials. POST people with externalReferenceIdentifier, POST contracts (contractHoursInMinutes and fullTimeEquivalentInMinutes between 1 and 5999) and the history for employer, department and work-location. Absence is read through webhooks on absences (dayPart First or Second, durationInMinutes, approvalLevel Approved), signed with HMAC-SHA256; absences have no write scope.

Which fields are transferred

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

Field in DeelField in ProtimeNotes
employments[].employee_numberemployeeNumber en externalReferenceIdentifierFixed key
first_name, last_namefirstName, lastName
employments[].start_date en termination_last_dayinServiceDate en outOfServiceDate
Eigen veld contracturencontractHoursInMinutesDeel has no standard field for hours
client_legal_entityemployer-history
departmentdepartment-history
work_locationwork-location-history
Afwezigheidsdefinitie, dayPart en duur (Protime, terug)time_off_type_id, dates[].day_type en hoursThrough a table per absence code

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.