Exact HR logoSailPoint logo

Identity and access management

Exact HR to SailPoint integration: payroll in Exact Online as an authoritative source

With an integration between Exact HR and SailPoint, every employee from payroll in Exact Online becomes an identity in SailPoint, with administration, department, job, cost centre, manager and the employment dates. KoppelHet delivers that data as a file to a Delimited File source, so SailPoint grants access at the start and revokes it after the end date.

What the integration does

Organisations that process payroll in Exact Online and have SailPoint for access management often put employees into SailPoint with an export per administration. Someone has to run such an export again and again, and the same employee numbers in two administrations give duplicate usernames in SailPoint.

  1. Payroll approves KoppelHet's app in Exact Online, with read rights on payroll only.
  2. KoppelHet fetches the changed employees and their organisation per administration and updates its own full state.
  3. KoppelHet reports employees without a usable work email or with an unknown manager to payroll.
  4. KoppelHet loads the file into the Delimited File source, after which SailPoint updates the identities.
  5. After the end date the lifecycle state becomes inactive and SailPoint revokes access.
Exact HR → KoppelHet → SailPointSOURCEExact HRTARGETSailPointKoppelHetmapping · logging · monitoringExact HR → KoppelHet → SailPointSOURCEExact HRTARGETSailPointKoppelHetmapping · logging · monitoring
Out: Employee as an account on an authoritative source · Administration, department, job and cost centre · Manager for manager correlation · Lifecycle state from start and end date

What to watch for with Exact HR and SailPoint

  • Employee numbers in Exact are only unique within an administration, while SailPoint wants a User Name that is unique across all identities. KoppelHet puts the administration code in front of the number. SailPoint does not allow characters such as full stop, brackets and exclamation mark in the attribute for the username, so the code goes in without punctuation.
  • Exact returns changes based on a sequence number that KoppelHet stores per administration, and that number restarts when Exact moves an administration. SailPoint needs the full file at every aggregation. KoppelHet re-reads the administration after such a move, so the file stays complete.
  • Exact stores a cost centre with the organisation of the employment. KoppelHet puts that in its own column in the file, so SailPoint roles and certifications can work per cost centre, with the same code as the internal charging in Exact.
  • In Exact an employee points to the internal ID of their manager in the same administration. SailPoint links the manager through manager correlation on an account in the source. KoppelHet therefore puts the manager's User Name in the file; a manager in another administration is filled in according to an agreed rule.
  • SailPoint requires a work email but does not check whether it is valid. In payroll the business email field is often empty or holds a private address. KoppelHet fills it in according to the naming rule and reports addresses on a private domain, before SailPoint creates an identity with them.
  • Exact records per employee how the name is composed, for example with the partner's surname. SailPoint requires a surname for every identity; KoppelHet builds it according to the choice in Exact, so the name in SailPoint certifications matches how the employee calls themselves.
  • Through the API the payroll data in Exact can only be read. An address KoppelHet fills in according to the naming rule therefore cannot go back to Exact; KoppelHet puts it on a list for payroll.

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

Does this work with several administrations?

Yes. All administrations go into one file, with the administration code in the username.

Does payroll data end up in SailPoint?

No. The file only contains name, number, administration, department, job, cost centre, manager, work email and dates.

Technical details for IT

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

  • Exact Online through the REST API with OAuth 2.0 (an app in the Exact App Center, scope Hrm payroll), per {division} and GET only. /api/v1/{division}/sync/Payroll/Employees with a filter on Timestamp (EmployeeHID, FirstName, MiddleName, LastName, NameComposition, NickName, BusinessEmail, Manager, StartDate, EndDate, IsActive), /payroll/EmploymentOrganizations (DepartmentDescription, JobTitleDescription, CostCenter) and /system/Divisions (DivisionMoveDate).
  • SailPoint Identity Security Cloud with a Delimited File source as authoritative source. Required identity attributes uid (unique, without the characters * ( ) & ! .), email and lastname; Manager Name with manager correlation; Lifecycle State through a transform on StartDate and EndDate.

Which fields are transferred

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

Field in Exact HRField in SailPointNotes
Administratiecode + EmployeeHIDuid (User Name)Without punctuation
BusinessEmail of naamgevingsregelemail (Work Email)Checked by KoppelHet
MiddleName + LastName volgens NameCompositionlastname
FirstName of NickNamefirstname
Administratie (division)Identity attribute voor entiteit
DepartmentDescriptionIdentity attribute voor afdeling
JobTitleDescriptionIdentity attribute voor functie
CostCenterIdentity attribute voor kostenplaats
ManagerManager NameAs the manager's uid
StartDate en EndDateLifecycle State (via transform)

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.