Oracle HCM Cloud logoVisma.net ERP logo

HR to ERP

Oracle HCM to Visma.net ERP integration: employees per legal employer in the right Visma.net branch

With an integration between Oracle HCM Cloud and Visma.net ERP, every employee from Oracle appears automatically as an employee in Visma.net, at the branch of their legal employer, with department, employee class and calendar. A termination in Oracle sets the employee in Visma.net to inactive, so no more hours or expenses are booked on them.

What the integration does

Organisations that run HR in Oracle HCM Cloud and process hours, projects or expenses in Visma.net ERP create employees in Visma.net by hand. A transfer to another employer within the group reaches Visma.net late, and employees who have left can still book.

  1. HR records a hire in Oracle, also when it takes effect later.
  2. KoppelHet reads the entry from the feed and waits until the work email is there.
  3. KoppelHet creates the employee in Visma.net, at the employer's branch, first on hold until the start date.
  4. KoppelHet updates changes in department or work email with Visma.net's current version marker.
  5. After the termination KoppelHet sets the employee to inactive.
Oracle HCM Cloud → KoppelHet → Visma.net ERPSOURCEOracle HCM CloudTARGETVisma.net ERPKoppelHetmapping · logging · monitoringOracle HCM Cloud → KoppelHet → Visma.net ERPSOURCEOracle HCM CloudTARGETVisma.net ERPKoppelHetmapping · logging · monitoring
Out: Employee with person number, name and work email · Branch per legal employer · Department, employee class and calendar · Status: on hold, active or inactive

What to watch for with Oracle HCM Cloud and Visma.net ERP

  • Oracle already reports a hire in the feed when it only takes effect in the future. Visma.net has no effective date on an employee, but it does have the status on hold. KoppelHet creates the employee straight away with that status, so the branch already sees who is coming, and sets them to active on the start date.
  • In Oracle an employee has a work relationship per legal employer. Branches in the Visma.net API are read-only. KoppelHet links each Oracle employer to an existing branch and leaves employers without a branch out of the integration, instead of placing an employee at the wrong branch.
  • Oracle also reports when a global transfer is reverted to correct the date or the employer. KoppelHet then moves the employee in Visma.net back to the branch of the employer that applies after the correction, so hours do not stay on the wrong branch.
  • Visma.net rejects an employee without an email address. In Oracle the work email often arrives after the hire, with its own entry in the person update feed. KoppelHet waits for that entry and only then creates the employee; if the work email is still missing shortly before the start, HR gets an alert.
  • Oracle's feeds cover employees, contingent workers and pending workers. Visma.net divides employees into classes with their own defaults. KoppelHet gives contingent workers their own employee class, so finance can keep them separate in reports and cost prices.
  • Visma.net only updates an employee with the current version marker, and Oracle also sends assignment entries about salary. For each entry KoppelHet fetches the version, compares department and calendar with what is there, and only sends a change when those fields really differ.
  • Visma.net has a separate action to change an employee's number. If Visma.net already holds employees under a different number at the start, KoppelHet converts them once to the Oracle person number, so existing hours and expenses stay with the same employee.

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 salary details go to Visma.net?

No. Visma.net only receives what is needed for hours, projects and expenses.

What if a department does not exist in Visma.net yet?

Then KoppelHet reports which department is missing. Creating departments automatically, with the accounts finance chooses, 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.

  • Oracle HCM Cloud through the employee Atom feeds under /hcmRestApi/atomservlet/employee/ (newhire, also for a future-dated hire; empassignment; empupdate, among others for a changed work email; workrelshipupdate; cancelworkrelship, also for a reverted global transfer; termination). Details through the workers REST resource with names, emails, workRelationships and assignments.
  • Visma.net ERP through the Service API with Visma Connect (OAuth 2.0 client credentials). POST /v1/employee (required employeeCd, department, employeeClass, branch, calendar and contact with lastName and email), PUT /v1/employee/{employeeCd} with If-Match (status Active, Hold, HoldPayments, Inactive or OneTime), POST /v1/employee/action/changeEmployeeCd/{internalId}, GET /v1/branch (read-only). Header erp-api-background for the initial load.

Which fields are transferred

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

Field in Oracle HCM CloudField in Visma.net ERPNotes
PersonNumberemployeeCdFixed key
names (FirstName, LastName)contact.firstName en lastName
WorkEmailcontact.emailRequired in Visma.net
workRelationships.LegalEmployerNamebranchThrough a table; branches are read-only
assignments.DepartmentNamedepartment
WorkerType en assignment categoryemployeeClassThrough a table
assignments.LocationNamecalendarThrough a table
StartDate en TerminationDatestatus (Hold, Active, Inactive)

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.