Remote logoProtime logo

Leave, absence and time

Remote to Protime integration: employees with employer and contract in Protime, absence back as time off in Remote

With an integration between Remote and Protime, every employee employed through Remote who clocks in the Netherlands or Belgium appears in Protime automatically, with the right employer and a contract with hours and working days. KoppelHet enters absence approved in Protime as approved time off in Remote, so Remote's payroll takes the time off into account.

What the integration does

Organisations that employ people through Remote in the Netherlands or Belgium and clock there with Protime enter every new employee into Protime by hand. Leave is requested at the clock, but also has to be in Remote for the payslip, which now takes a second request.

  1. An employment in Remote reaches the agreed status; KoppelHet puts the person in Protime with employer and contract.
  2. The employee requests leave in Protime and the manager approves it.
  3. KoppelHet enters the time off in Remote as approved, with the hours per day.
  4. If the absence changes in Protime, KoppelHet updates the time off in Remote; if it disappears, KoppelHet cancels it.
  5. After an offboarding in Remote KoppelHet sets the end date in Protime.
Remote → KoppelHet → ProtimeSOURCERemoteTARGETProtimeKoppelHetmapping · logging · monitoringRemote → KoppelHet → ProtimeSOURCERemoteTARGETProtimeKoppelHetmapping · logging · monitoring
Out: Person with start and end date · Employer as history · Contract with hours and working days from the contract details
Back: Approved absence as time off with hours per day · Changes and cancellations

What to watch for with Remote and Protime

  • Protime only allows absence to be read through the API. Remote, in turn, only accepts time off through the API that is already approved. That fits: the manager approves leave in Protime, and KoppelHet records the result in Remote without a second approval.
  • Remote wants one line per day for each time off request, also for weekends and days off, with the hours as a whole number between zero and eight. Protime reports the duration per day in minutes. KoppelHet fills days without absence with zero and flags a duration that is not a whole hour, so HR decides how it goes into Remote.
  • Time off whose date has passed gets the status taken in Remote and can then no longer be cancelled through the API. If a manager removes absence in Protime afterwards, KoppelHet can no longer undo it in Remote and HR gets an alert to handle it in Remote directly.
  • Remote creates public holidays itself as approved time off. In Protime holidays often appear as absence in the calendar. KoppelHet does not send those absence codes back, so a holiday does not count twice as a day off in Remote.
  • Anyone updating approved time off in Remote must give a reason according to Remote, and with new dates must also resend the days. For a changed absence from Protime, KoppelHet includes that reason, referring to the change in Protime, and sends the full series of days.
  • Remote records per employment which legal entity employs the person. Protime keeps an employer history. KoppelHet sets that entity as the employer in Protime, so clocked time and absence can be separated per employer when Remote and an own entity exist side by side.
  • Remote stores contract details in a form that differs per country. Protime wants hours in minutes and the number of working days per week on each contract. KoppelHet reads those values from the country's form and does not create a contract if they are missing, but reports the employee to HR.

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 Remote?

Because Protime does not accept absence through the API. Leave at the clock stays in Protime; Remote receives the approved result.

Do clocked hours go to Remote's payroll?

Not in this integration. Clocked hours as pay items 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.

  • Remote through the Remote API with a company token. Employments through GET /v1/employments/{employment_id} (full_name, department, provisional_start_date, engaged_by_legal_entity_id, contract_details) and webhooks employment.updated, employment.start_date.changed and offboarding.completed. Time off back through Create Time Off (employment_id, start_date, end_date, timeoff_type, timezone, status approved, timeoff_days with day and hours 0 to 8), Update Time Off with edit_reason and Cancel Time Off with cancel_reason (not for status taken).
  • Protime through the Protime API (v1) with OAuth 2.0 client credentials. POST people with externalReferenceIdentifier, POST contracts (contractHoursInMinutes, fullTimeEquivalentInMinutes, numberOfWorkingDaysPerWeek, numberOfDaysInContractPeriod) and the history for employer and department. Absence through webhooks on absences (changeType InsertOrUpdate or Delete, dayPart, durationInMinutes, approvalLevel Approved), signed with HMAC-SHA256.

Which fields are transferred

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

Field in RemoteField in ProtimeNotes
employment idexternalReferenceIdentifierFixed key
full_namefirstName, lastNameSplit
provisional_start_date en termination_dateinServiceDate en outOfServiceDate
engaged_by_legal_entity_idemployer-historyThrough a table
contract_details (land)contractHoursInMinutes en numberOfWorkingDaysPerWeek
departmentdepartment-history
Afwezigheidsdefinitie (Protime, terug)timeoff_typeThrough a table per absence code
durationInMinutes per dag (Protime, terug)timeoff_days met day en hours

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.