
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.
- HR records a hire or an assignment change in Oracle.
- KoppelHet reads the feeds and fetches the worker with their work relationship and assignments.
- Protime receives the person with the Oracle person number as reference, a contract in minutes, and employer, department and location with the effective date.
- The employee requests leave in Protime and the manager approves it there.
- KoppelHet enters the absence in Oracle, on the matching absence type and employer. A withdrawn absence is withdrawn in Oracle too.
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 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
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 Cloud | Field in Protime | Notes |
|---|---|---|
PersonNumber | employeeNumber en externalReferenceIdentifier (@employee-number) | Fixed key in both directions |
names (FirstName, LastName) | firstName, lastName | |
Startdatum werkrelatie en einddatum | inServiceDate en outOfServiceDate | |
NormalHours en Frequency | contractHoursInMinutes en numberOfDaysInContractPeriod | |
StandardWorkingHours | fullTimeEquivalentInMinutes | |
Legal employer van de werkrelatie | employer-history | |
DepartmentName en LocationCode | department-history en work-location-history | |
Afwezigheidscode en dayPart (Protime, terug) | absenceTypeId, startDateDuration en endDateDuration | Through a table per absence code |
Werkgever uit Protime-historie (terug) | legalEntityId |
Related
Ashby → Oracle HCM Cloud
Ashby to Oracle HCM integration: an accepted offer on an opening becomes a pending worker
Bullhorn → Oracle HCM Cloud
Bullhorn to Oracle HCM integration: an approved placement of an employee becomes a pending worker
Carerix → Oracle HCM Cloud
Carerix to Oracle HCM integration: successful placement as a pending worker in Oracle HCM Cloud
Greenhouse → Oracle HCM Cloud
Greenhouse to Oracle HCM integration: accepted offer as a pending worker in Oracle HCM Cloud