Personio logoOracle Fusion ERP logo

HR to ERP

Personio to Oracle Fusion ERP integration: Personio employments as workers with expense account and approver

With an integration between Personio and Oracle Fusion ERP, every employment from Personio becomes a worker in Oracle, under the right legal employer, with manager and a default expense account from the cost centre. A new colleague can therefore submit and approve expenses in Oracle from day one, and a termination in Personio ends the work relationship in Oracle.

What the integration does

Organisations that use Personio as their HR system and Oracle Fusion Cloud ERP for finance, purchasing and expenses do need workers in Oracle but have no Oracle HCM. Finance then enters those workers with spreadsheets, and anyone who arrives without an expense account cannot submit their first expense report.

  1. Personio reports a changed employment; KoppelHet fetches the employment with cost centres and manager.
  2. KoppelHet builds the expense account from legal entity and cost centre and checks it against finance's list.
  3. The changes go to Oracle as an HCM Data Loader file, with the Personio IDs as source key.
  4. KoppelHet requests the load status and puts rejected lines on the error list.
  5. On a termination the work relationship is ended on the last working day.
Personio → KoppelHet → Oracle Fusion ERPSOURCEPersonioTARGETOracle Fusion ERPKoppelHetmapping · logging · monitoringPersonio → KoppelHet → Oracle Fusion ERPSOURCEPersonioTARGETOracle Fusion ERPKoppelHetmapping · logging · monitoring
Out: Worker with name and work email · Work relationship with the legal employer · Assignment with business unit, department and expense account · Manager on the assignment · Termination with date and reason

What to watch for with Personio and Oracle Fusion ERP

  • Personio can split an employment over several cost centres, each with a weight. Oracle has one default expense account on the assignment. KoppelHet takes the cost centre with the highest weight, and lists an equal split for finance instead of choosing itself.
  • Personio distinguishes internal and external employments. Oracle records per work relationship whether someone is an employee or a contingent worker. KoppelHet loads an external employment as contingent worker, so contractors can submit expenses in Oracle but do not count with own employees in reports.
  • Personio records a move to another entity as a termination with the type company switch. Oracle does not allow a termination and a global transfer on the same work relationship at the same time. KoppelHet therefore ends the old work relationship and loads the new employment as a separate work relationship under the new legal employer, starting the next day.
  • Oracle recognises records by a source key, and its owner must exist beforehand as a value in the HRC_SOURCE_SYSTEM_OWNER lookup. KoppelHet uses the person and employment IDs from Personio as source key, so a second employment of the same person becomes a second work relationship and not a duplicate person.
  • Personio has a range of termination types, such as resignation, dismissal by the employer, retirement and an expiring contract. Oracle asks for an action code on a termination and can record a reason. KoppelHet converts the type from Personio with a table into the action and reason codes set up in Oracle, so turnover reports in Oracle stay usable.
  • If a termination in Personio is reversed after Oracle has already processed it, Oracle has a separate flag to undo the termination. KoppelHet compares the terminations in Personio with what has been loaded every run and sends that reversal in that case, so the worker becomes active again with the same assignment.

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

Do we need Oracle HCM?

No. Oracle Fusion ERP uses its own worker data for expenses and approvals. This integration fills that from Personio.

Does the payroll journal also go through this integration?

No. This integration keeps workers current. A journal from payroll to Oracle is a separate flow that 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.

  • Personio through webhooks (employment.created, employment.updated, employment.updated.cost-centers, employment.terminated; IDs only, acknowledge within 3 seconds, HMAC-SHA256 signature) and GET /v2/persons/{person_id}/employments (type INTERNAL or EXTERNAL, legal_entity, supervisor, org_units, cost_centers with weight, termination with termination_date, last_working_day and type, including SUB_COMPANY_SWITCH).
  • Oracle through HCM Data Loader (Worker.dat) - components Worker, PersonName, PersonEmail, WorkRelationship (LegalEmployerName, WorkerType, TerminateWorkRelationshipFlag, ActualTerminationDate, ActionCode, ReasonCode, ReverseTerminationFlag), WorkTerms, Assignment (BusinessUnitId, DepartmentName, DefaultExpenseAccount as concatenated segments) and AssignmentSupervisor, with SourceSystemOwner from HRC_SOURCE_SYSTEM_OWNER and SourceSystemId. Terminate and GlobalTransferFlag not together on one work relationship.

Which fields are transferred

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

Field in PersonioField in Oracle Fusion ERPNotes
employment.idSourceSystemId (WorkRelationship, WorkTerms, Assignment)
person: voornaam, achternaam, e-mailPersonName en PersonEmail
legal_entity.idLegalEmployerName en BusinessUnitIdLookup table
type (INTERNAL, EXTERNAL)WorkerType E of C
cost_centers (hoogste weight)DefaultExpenseAccountSegments with the chart of accounts separator
org_units (type department)DepartmentName
supervisor.idAssignmentSupervisor
termination.last_working_day en typeActualTerminationDate, ActionCode en ReasonCode

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.