Oracle HCM Cloud logoProtime logo

Leave, absence and time

Oracle HCM to Protime integration: workers, contract and employer from Oracle in Protime, approved absence back to Oracle

With an integration between Oracle HCM Cloud and Protime, every worker from Oracle appears automatically in Protime, with contract hours, full-time norm, employer and location on the effective date of their assignment. Absence approved in Protime goes back to Oracle as an absence with the right employer, so balances and absence records in Oracle are complete.

What the integration does

Organisations that run HR centrally in Oracle HCM Cloud and clock in Protime at their Dutch and Belgian sites maintain contracts in both systems. Leave and sickness approved in Protime are not in Oracle, so balances and absence figures there lag behind.

  1. HR records a hire or an assignment change in Oracle.
  2. KoppelHet reads the feeds and fetches the worker with their work relationship and assignments.
  3. Protime receives the person with the Oracle person number as reference, a contract in minutes, and employer, department and location with the effective date.
  4. The employee requests leave in Protime and the manager approves it there.
  5. KoppelHet enters the absence in Oracle, on the matching absence type and employer. A withdrawn absence is withdrawn in Oracle too.
Oracle HCM Cloud → KoppelHet → ProtimeSOURCEOracle HCM CloudTARGETProtimeKoppelHetmapping · logging · monitoringOracle HCM Cloud → KoppelHet → ProtimeSOURCEOracle HCM CloudTARGETProtimeKoppelHetmapping · logging · monitoring
Out: Person with person number, name and start and end date · Contract in minutes with the length of the contract period · Employer, department and location as history
Back: Approved absence as an absence record, with duration on the first and last day

What to watch for with Oracle HCM Cloud and Protime

  • For a contract Protime needs the number of days in the contract period, always a multiple of seven. Oracle can record normal working hours per month. A monthly norm therefore does not fit Protime directly. KoppelHet converts monthly hours to a weekly period using a rule agreed at the start, and reports assignments where that does not add up.
  • Besides the employee's normal hours, Oracle keeps the standard working hours of a full working week. Protime asks for exactly those two numbers on a contract, in minutes. KoppelHet takes them over directly, so the part-time factor in Protime equals Oracle's without anyone converting an FTE percentage.
  • Creating an absence in Oracle requires the employer, not just the person. KoppelHet therefore also puts the employer from the Oracle work relationship into Protime as history. The integration then knows for each approved absence which employer it belongs under in Oracle, also after a move to another legal entity.
  • In Protime absence can only be read, while Oracle accepts absence through the API. Leave is therefore requested and approved at the clock in Protime, and Oracle receives the result. A new absence in Oracle starts as submitted by default; whether it can land as approved straight away depends on the approval rules in Oracle, which we test at the start.
  • For an absence Protime indicates whether it is a full day or a first or second part of the day. Oracle has a separate duration for the first and the last day of an absence. KoppelHet puts a half day from Protime into those duration fields, so Oracle does not deduct the whole schedule for that day.
  • When HR corrects the effective date of an assignment in Oracle, that is a correction, not a new change. In Protime KoppelHet then moves the existing history entry to the new date, instead of adding a second entry that leaves the old one in place.
  • Protime refuses a second person with the same external reference, but skips that check when the reference is missing. KoppelHet therefore always sends the Oracle person number. A rehire in Oracle then gets no second profile in Protime but a new start date.

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

Can employees keep requesting leave in Oracle?

Then it does not reach Protime, because Protime does not accept absence through the API. We choose one place; when clocking happens in Protime, that is usually Protime.

Do clocked hours go to Oracle?

Not in this integration. Hours to payroll can be added later as an extension.

What if an absence code has no type in Oracle?

Then the absence is not created and an alert appears in the platform. HR links a type or confirms the code does not need to be in Oracle.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Oracle HCM Cloud through the Atom feeds newhire, empassignment, termination and cancelworkrelship, and the REST resource workers with workRelationships and assignments (NormalHours, Frequency, StandardWorkingHours, DepartmentName, LocationCode, EffectiveStartDate). Future and corrected rows with the Effective-Of header. Absence back with POST /hcmRestApi/resources/11.13.18.05/absences (personNumber, absenceTypeId, legalEntityId, startDate, endDate, startDateDuration, endDateDuration, absenceStatusCd SUBMITTED by default).
  • Protime through the Protime API (v1) with OAuth 2.0 client credentials. POST people with externalReferenceIdentifier @employee-number (409 on an existing reference), POST contracts (contractHoursInMinutes and fullTimeEquivalentInMinutes between 1 and 5999, numberOfDaysInContractPeriod between 7 and 364 and a multiple of 7), PUT on employer, department and work-location history with originalFrom and updatedFrom. Absence is read through webhooks on absences; absences have no write scope.

Which fields are transferred

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

Field in Oracle HCM CloudField in ProtimeNotes
PersonNumberemployeeNumber en externalReferenceIdentifier (@employee-number)Fixed key in both directions
names (FirstName, LastName)firstName, lastName
Startdatum werkrelatie en einddatuminServiceDate en outOfServiceDate
NormalHours en FrequencycontractHoursInMinutes en numberOfDaysInContractPeriod
StandardWorkingHoursfullTimeEquivalentInMinutes
Legal employer van de werkrelatieemployer-history
DepartmentName en LocationCodedepartment-history en work-location-history
Afwezigheidscode en dayPart (Protime, terug)absenceTypeId, startDateDuration en endDateDurationThrough a table per absence code
Werkgever uit Protime-historie (terug)legalEntityId

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.