Rippling logoPayFit logo

Payroll integration

Rippling to PayFit integration: employees of your own French entity from Rippling as a collaborator in PayFit

An integration between Rippling and PayFit creates an employee of your own French entity in Rippling as a collaborator with a contract in PayFit, with name, personal email, address, job title and start date. Workers Rippling employs as EOR or PEO do not go to PayFit, and pay goes to payroll as a task because the PayFit contract does not ask for salary through the API.

What the integration does

Organisations that use Rippling as their HR platform and pay their own French SAS in PayFit create a French starter first in Rippling and then again in PayFit. A withdrawn offer in Rippling then sometimes stays in PayFit as a collaborator.

  1. Every hour KoppelHet reads the changed workers in Rippling, with legal entity, employment type and compensation.
  2. Only an EMPLOYEE of your own French entity with status ACCEPTED or ACTIVE goes through.
  3. KoppelHet creates the collaborator in PayFit and then the contract with job title and start date.
  4. The pay from Rippling goes as a task to the payroll administrator, who completes the contract.
  5. KoppelHet reports a withdrawn or declined offer to payroll so the collaborator can be cleaned up.
Rippling → KoppelHet → PayFitSOURCERipplingTARGETPayFitKoppelHetmapping · logging · monitoringRippling → KoppelHet → PayFitSOURCERipplingTARGETPayFitKoppelHetmapping · logging · monitoring
Out: Collaborator with name, personal email and address · Contract with job title and start date · Pay as a task for payroll

What to watch for with Rippling and PayFit

  • For every worker Rippling gives the legal entity with a management_type, such as PEO or EOR. For those workers Rippling or a partner is the employer and pay runs there. KoppelHet only sends employees of your own French entity without such a type to PayFit.
  • Rippling calculates derived amounts with a forty-hour working week, both from hourly to annual and back. In France a full-time week is thirty-five hours. KoppelHet therefore gives payroll the amount HR actually entered, annual pay for SALARIED and hourly pay for HOURLY, and never the converted one.
  • Rippling's API only has country fields for the SSN in the United States, the SIN in Canada and the IRD number in New Zealand. A French NIR therefore does not come from the standard fields. KoppelHet leaves the optional socialSecurityNumber in PayFit empty, unless the organisation keeps the NIR in a custom field in Rippling.
  • A worker in Rippling goes through INIT, HIRED, ACCEPTED and ACTIVE, and a termination can have the type OFFER_DECLINED, RESCIND or RENEGE. KoppelHet only creates a collaborator at ACCEPTED. If one of those three types follows, payroll gets a notice, because the PayFit API does not delete a collaborator.
  • PayFit only creates a contract through the API for France and responds with 201 without data; the contract appears after two to five minutes. KoppelHet looks it up afterwards and only reports the Rippling worker as done once the contract is visible in PayFit.
  • Fields the Rippling token has no rights to are listed in the response's redacted_fields instead of having a value. KoppelHet reads that list. A redacted address or email thus becomes a rights issue for the administrator, not an empty required value that PayFit rejects.

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

Why not use Rippling for French payroll?

If Rippling runs payroll in France for you, this integration falls away. This page is for organisations that keep PayFit.

Do pay changes and leavers go across as well?

Not in the first version. Those can follow 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: GET /workers with expand on user, legal_entity, employment_type and compensation, filter on updated_at and status, __meta.redacted_fields; scope workers.read and a bearer token.
  • PayFit through partner-api.payfit.com with an API key: POST /companies/{companyId}/collaborators (firstName, lastName, personalEmail, personalAddress) and POST /companies/{companyId}/collaborators/{collaboratorId}/contracts (jobTitle, startDate; France only).

Which fields are transferred

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

Field in RipplingField in PayFitNotes
legal_entity (management_type, country)Filter en companyIdNo EOR or PEO; only France
employment_type.typeFilter: alleen EMPLOYEE
user (naam, privé-e-mail)firstName, lastName, personalEmail
Thuisadres van de workerpersonalAddress (streetNumber, addressFirstLine, city, postCode, country)
title, start_datejobTitle, startDate (contract)
compensation (annual_compensation of hourly_wage, salary_effective_date)Taak voor payrollSource amount, not a derived amount

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.