Zoho People logoLoket logo

Payroll integration

Zoho People to Loket integration: employee form and salary history from Zoho in Loket

With an integration between Zoho People and Loket, new employees from the Zoho People employee form arrive as concept employees in Loket, and salary rows and terminations reach the employment with their date. KoppelHet translates the custom fields and date format of your Zoho setup into what Loket asks for.

What the integration does

Organisations that use Zoho People for HR and run Dutch payroll in Loket keep data twice. Zoho People is set up differently per organisation, with custom fields for BSN, IBAN and salary, and without a standard link to a Dutch payroll.

  1. At the start we read one employee from Zoho People and record which field and which table section belong to which Loket item.
  2. Every hour KoppelHet fetches the changed records and turns new Dutch employees into a concept employee in Loket.
  3. The payroll bureau completes collective agreement, payroll tax credit and pension and converts the concept.
  4. New rows in the salary section go to the pay in Loket in order of date.
  5. An inactive employee with an exit date is terminated in Loket as of that day.
Zoho People → KoppelHet → LoketSOURCEZoho PeopleTARGETLoketKoppelHetmapping · logging · monitoringZoho People → KoppelHet → LoketSOURCEZoho PeopleTARGETLoketKoppelHetmapping · logging · monitoring
Out: Concept employee with personal details · Pay from the salary history · BSN and IBAN from custom fields · End of employment

What to watch for with Zoho People and Loket

  • Zoho People returns records with the form's field names and dates in the format the organisation has configured, such as 19-Nov-2016. Loket works with dates as year-month-day. KoppelHet converts every date according to the configured format, so 03-04 does not accidentally become 4 March instead of 3 April.
  • In Zoho People an employee is active or inactive, with a separate field for the exit date. Loket ends an employment on a last day and therefore needs that date. KoppelHet only terminates when both are filled; an inactive employee without an exit date becomes a question to HR.
  • Zoho People has no fixed fields for BSN and IBAN; organisations add them to the employee form themselves. In Loket the BSN is separately authorised and an IBAN must be without spaces. KoppelHet reads the custom fields recorded at the start, removes spaces and checks the BSN with the Dutch eleven test.
  • A salary history in Zoho People is usually a table section in the form, with a row per change. Loket accepts wage records with a start date per record. KoppelHet sends new rows in order of date and skips rows already in Loket, so a form saved again does not create a duplicate wage record.
  • Zoho People blocks the API for five minutes if an organisation makes more requests per minute than the threshold. With a general pay rise many salaries change at once. KoppelHet then reads in blocks of two hundred records and sets the new wages in Loket in one batch per employer, instead of per employee.
  • If the payroll bureau asks to resend one employee, KoppelHet looks that person up in Zoho People by employee ID or work email, without reading the whole list. That way a repair costs no room within Zoho's limit and the correction is in Loket straight away.

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 · Complex

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

Which Zoho People plan is needed?

According to Zoho the API is available in Essential HR, Professional, Premium and Enterprise.

Does leave from Zoho People go to Loket?

Not in the first version. Leave can be added later as an extension.

What if we change the form in Zoho?

Let us know beforehand. KoppelHet updates the mapping for a renamed or removed field; until then the integration stops with an alert instead of sending empty values to Loket.

Technical details for IT

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

  • Zoho People through the REST API with OAuth (scope ZOHOPEOPLE.forms.READ). GET forms/employee/getRecords with sIndex, limit (at most 200), modifiedtime in milliseconds, SearchColumn EMPLOYEEID or EMPLOYEEMAILALIAS and SearchValue; tabularSections per record. Threshold 400 requests per minute with a five-minute lock; error 7021 above 200 records.
  • Loket through the REST API with OAuth - POST conceptemployees, PUT citizenservicenumber, wages per employment or PostCollectiveWageByEmployerId for several employments at once, paymentinformationsepa and PATCH terminate.

Which fields are transferred

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

Field in Zoho PeopleField in LoketNotes
EmployeeIDVrij veld in LoketFixed key
FirstName, LastNameVoornaam, voorvoegsel en achternaam
Date of birthGeboortedatumConverted from the organisation's date format
Date of joiningBegindatum dienstverband
Eigen veld BSNBurgerservicenummer
Eigen veld IBANBetaalgegevens (SEPA)
Tabelsectie salaris (datum, bedrag)Bruto loon met begindatum
Employeestatus Inactive en DateofexitEinde dienstverband

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.