Visma Peple logoOmada logo

Identity and access management

Visma Peple to Omada integration: employees, contracts and substitutes from Peple as the HR source in Omada

With an integration between Visma Peple and Omada Identity, Omada reads every employee from Peple as an identity, with organisational units as contexts, the manager and a status that follows from contracts and replacements. KoppelHet turns Peple's exports into a fixed list that Omada's REST collector reads at every import, so Omada assigns roles and revokes access.

What the integration does

Organisations that use Visma Peple for HR and Omada for identity governance find no connector for Peple in Omada's Connectivity Directory. Omada then gets a manual export, in which substitutes and employees with contracts at several units are not represented well.

  1. In Visma Connect KoppelHet gets a client with only the export scopes for employees, contracts, organisational units and replacements.
  2. In Omada the administrator creates a REST collector that reads KoppelHet's address, with OAuth2 Client Credentials.
  3. KoppelHet starts the exports in Peple, fetches the files once they are ready and updates the list.
  4. Omada reads identities, contexts and context assignments and adjusts roles.
  5. After the last contract or the last replacement the identity is terminated and Omada revokes access.
Visma Peple → KoppelHet → OmadaSOURCEVisma PepleTARGETOmadaKoppelHetmapping · logging · monitoringVisma Peple → KoppelHet → OmadaSOURCEVisma PepleTARGETOmadaKoppelHetmapping · logging · monitoring
Out: Identity with employee number and status · Organisational units as contexts · Context assignment per contract · Manager · Substitute access for the duration of the replacement

What to watch for with Visma Peple and Omada

  • Omada has no connector for Peple or other Visma HR products in the documentation we found. The REST collector is meant for such sources. Peple, however, delivers data as an export that must be started first and is ready later, and a collector cannot wait for that. KoppelHet does that work and keeps a list ready that Omada reads directly.
  • An employee can have contracts at several organisational units in Peple. With nested data the REST collector only uses the first element of a list. KoppelHet therefore delivers a context per unit and a context assignment per contract as flat rows, so Omada sees all units and not just the first.
  • Peple has a separate export for replacements, with start and end date. KoppelHet gives a substitute without a current contract of their own the status active while the replacement runs and terminated afterwards, so Omada revokes substitute access on the end date of the replacement.
  • In Peple the manager is a user ID on the contract. Omada needs the business key of the manager's identity for approvals and reviews. KoppelHet looks up the employee number for that user ID, which is also the business key.
  • Peple temporarily refuses exports during maintenance on Saturday evening and allows two full exports per day per resource. The thresholds for deleted objects in the REST collector are off by default. KoppelHet keeps showing the last full state when an export fails, and we advise setting a threshold for deletions in Omada.
  • Omada warns that a status from the HR source can overwrite status changes in Omada itself. With substitutes the status changes more often than with permanent staff. Together with you we agree that a block security sets in Omada keeps priority over the next import from Peple.
  • Peple returns the business email address without an extra scope; private contact details and BSN require their own scope. KoppelHet does not request those scopes, so Omada only reads work data and a private address never ends up in an identity.

This integration is also part of joiner, mover, leaver.

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 Omada then create accounts in Entra ID or Active Directory itself?

Yes, with Omada's connectors. KoppelHet only supplies the HR source.

Do BSN or private address reach Omada?

No. The integration does not request the scopes for contact and tax data.

Technical details for IT

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

  • Peple through the Visma.net HRM & Payroll Reporting API (Visma Connect client credentials) with scopes for the exports of employees, contracts, organizationunits and employeereplacement (POST command, GET query on jobId); incremental with changeTimestampAfter; two full refreshes per endpoint per tenant per 24 hours; 503 with Retry-After during maintenance. No exportcontactinformation or exporttaxinformation.
  • Omada reads through the REST collector (Content: Identity data) with OAuth2 Client Credentials: identities with Business key, Unique ID, Name and Status, contexts with business key, Name and Type, and context assignments per identity. Paging through the Link header (rel=next); Thresholds for new, changed and deleted objects in percent (default 0, off); Error message JSON path for error messages.

Which fields are transferred

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

Field in Visma PepleField in OmadaNotes
PersoneelsnummerBusiness key en Unique IDFixed, never changes
Voornaam en achternaam volgens nameusageName, First name en Last name
businessemailaddressEmail
functionname (hoofdcontract)Job title
orgunit met naamContext met business key, Name en Type
Contracten per orgunitContext assignments
manageruseridManagerConverted to the employee number
Contract- en vervangingsdatumsStatus (active, inactive, terminated)

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.