Rippling logoUnit4 ERP logo

HR to ERP

Rippling to Unit4 integration: Rippling workers as employees in the Unit4 company of their legal entity

With an integration between Rippling and Unit4 ERP, every worker from Rippling becomes an employee in the Unit4 company of their legal entity, with department, job title, manager and a personnel type for employee or contractor. A termination in Rippling terminates the employee in Unit4, and an offer that never led to a start leaves no terminated employee behind.

What the integration does

Organisations that use Rippling for HR in several countries and Unit4 ERP for projects, time entry and finance often create workers in Unit4 by hand. Anyone in Rippling through a PEO or EOR then lands in the wrong company, and a withdrawn offer stays in Unit4 as an employee.

  1. Every hour KoppelHet fetches the workers changed in Rippling, with legal entity, department and manager.
  2. Per worker KoppelHet picks the Unit4 company and the personnel type.
  3. Unit4 validates the data beforehand; then new employees go to Unit4 in one batch per company.
  4. If Unit4 has an approval workflow, KoppelHet follows the request until it is approved.
  5. On a termination the employment gets an end date and the employee is terminated.
Rippling → KoppelHet → Unit4 ERPSOURCERipplingTARGETUnit4 ERPKoppelHetmapping · logging · monitoringRippling → KoppelHet → Unit4 ERPSOURCERipplingTARGETUnit4 ERPKoppelHetmapping · logging · monitoring
Out: Employee per worker · Unit4 company from the legal entity · Personnel type for employee or contractor · Department and manager as relation value · Employment with start and end date

What to watch for with Rippling and Unit4 ERP

  • Rippling has statuses from INIT through HIRED and ACCEPTED to ACTIVE, and a termination can be of the type offer declined, rescinded or reneged. Unit4 only knows terminating, which permanently gives an employee the terminated status. KoppelHet therefore only creates an employee for an accepted offer and, for those three types, clears up the still unused employee with the administrator, instead of sending a termination.
  • A legal entity in Rippling has a level (parent, subsidiary or branch) and sometimes a management type PEO, EOR or COR. Unit4 only accepts new employees for one company per batch. KoppelHet determines the Unit4 company per legal entity, groups the workers by it, and puts workers at an EOR entity in the company that bears the costs.
  • Rippling gives per worker the kind (employee or contractor) and the scope (full-time, part-time or temporary). In Unit4 the personnel type determines what someone may book. KoppelHet combines kind and scope with a table into finance's personnel type, so a temporary contractor does not appear as permanent employee in the project report.
  • Besides the current start date, Rippling keeps the earliest start date, so a rehire has two dates. Unit4 does not allow an employment's start date to be set later. KoppelHet gives a rehire a new employment row in Unit4 with the new start date, and leaves the old row with its end date in place.
  • If Unit4 has an approval workflow on employees, Unit4 responds with 202 and the new employee waits for approval. KoppelHet tracks such an employee as pending and only sends changes from Rippling once the request is approved, so no second request for the same person arises.
  • Rippling's worker list filters on change date and returns at most one hundred workers per page. Unit4 accepts at most two hundred employees per batch. KoppelHet fetches the changes of the past hour and sends them per company in parts of at most two hundred, so a large reorganisation in Rippling does not get stuck on a limit.

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 contractors also go to Unit4?

Yes, if they book hours or costs, with their own personnel type. At the start we agree which kinds of worker go along.

Do payroll costs from Rippling go to Unit4?

Not in this integration. It keeps employees current; payroll costs 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.

  • Rippling through the REST API - List workers with filter on updated_at, expand on user, manager, legal_entity, employment_type and department, limit up to 100 with cursor. Fields number, status (INIT, HIRED, ACCEPTED, ACTIVE, TERMINATED), start_date, original_start_date, end_date, title, work_email, employment_type (CONTRACTOR or EMPLOYEE; PART-TIME, FULL-TIME, TEMPORARY), legal_entity (PARENT, SUBSIDIARY, BRANCH; PEO, EOR, COR) and termination_details.type (including OFFER_DECLINED, RESCIND, RENEGE). Scope workers.read.
  • Unit4 ERPx through the Employees API with client ID and secret - POST /v1/employees/validate, POST /v1/employees/batch (at most 200, one companyId; 403 on a different company), 202 with an active workflow, 409 on an existing personId, PATCH with AddOrReplaceById and RemoveById on employments and relatedValues, startDate cannot be set later, DELETE /v1/employees/{personId} sets the status to Terminate.

Which fields are transferred

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

Field in RipplingField in Unit4 ERPNotes
numberpersonIdUnique per Unit4 company
user (naam), work_emailNaam en e-mailadres
legal_entity (expand)companyIdLookup table
employment_type.type en amount_workedpersonnelType
department (expand)relatedValues afdelingLookup table
manager (expand)relatedValues leidinggevende
titleemployments.positionId
start_date, end_dateemployments.startDate, endDate

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.