Talentech logoDATEV logo

Payroll integration

Talentech to DATEV integration: contracts, salaries and resignations from PeopleCore to DATEV

An integration between Talentech and DATEV prepares new contracts, salaries and resignations of the German entity from Talentech's PeopleCore API for DATEV LODAS or Lohn und Gehalt every pay month. Talentech has no DATEV integration of its own and no webhooks in PeopleCore, so KoppelHet compares the state before every cut-off and only delivers what changed.

What the integration does

Organisations that manage HR in Talentech and have a German entity with payroll at a tax adviser in DATEV pass starters, salaries and leavers to the firm every month. Without an integration that happens with a spreadsheet, and a contract that only starts next month sometimes gets in too early.

  1. HR records a contract, salary or resignation in Talentech for the German entity.
  2. KoppelHet reads contracts, salaries and resignations and compares them with the previous delivery.
  3. What takes effect in the pay month, KoppelHet converts to master and movement data for DATEV.
  4. After the first delivery KoppelHet writes the personnel number back as an external identifier in Talentech.
  5. The tax adviser takes over the data and runs payroll; deviations appear on a list for HR.
Talentech → KoppelHet → DATEVSOURCETalentechTARGETDATEVKoppelHetmapping · logging · monitoringTalentech → KoppelHet → DATEVSOURCETalentechTARGETDATEVKoppelHetmapping · logging · monitoring
Out: Employees of the German entity · Contracts with weekly hours and end date · Salaries with effective date · Resignations with end of employment

What to watch for with Talentech and DATEV

  • A salary in PeopleCore has an amount, a currency and an effective date, but no period. Whether an amount is a monthly or annual salary is therefore not stated; KoppelHet fixes that per customer at the start, because DATEV needs a fixed monthly amount.
  • PeopleCore describes no webhooks in its public API, and the salary list can only be filtered by employee, not by change date. KoppelHet therefore reads the whole German population per run and compares it with what already went to DATEV.
  • A contract in Talentech can exist before it starts, with the isForFuture flag. KoppelHet only delivers such a contract in the pay month of its start date, so the tax adviser does not pay an employee who has not started yet.
  • A resignation in Talentech has three dates - the resignation date, the last day of work and the end of employment. DATEV needs the end of employment as the exit date; the other two do not go along.
  • Employees and contracts in Talentech can be given external identifiers through the API. KoppelHet writes the personnel number from DATEV back to the employee, so HR sees in Talentech under which number someone is known at the firm.
  • Every salary in PeopleCore carries its own currency, with NOK as the example in the documentation. KoppelHet only sends salaries in euros to DATEV and flags a German contract with a salary in another currency.
  • Access to PeopleCore runs per area with its own scopes, such as peoplecore-salaries:read and peoplecore-resignations:read. KoppelHet only requests read rights, plus write access on employees for the external identifier.

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 immediately on every change?

According to the public documentation PeopleCore sends no webhooks. A daily comparison in the week before the cut-off is enough for one German payroll run a month.

Does leave go along too?

Not in the first version. PeopleCore has an absence API; absence to DATEV 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.

  • Talentech PeopleCore API (api.talentech.io/peoplecore) with client credentials at the token service and scopes per area. GET /v1/Contracts per employeeId (contractType, startDate, endDate, indefinite, weeklyHours, isForFuture), GET /v1/Salaries (paged; amount, currency, effectiveDate), GET /v1/EmployeeResignApplications (resignationDate, lastDayOfWork, employmentEndDate), GET /v1/LegalEntities and PUT /v1/Employees/{employeeId}/externalSystemIdentifiers.
  • To DATEV through the Lohnimportdatenservice (master and movement data via the DATEV data centre, takeover at the click of a button, status for source and firm, only for selected software) or an ASCII file the firm loads into LODAS or Lohn und Gehalt itself.

Which fields are transferred

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

Field in TalentechField in DATEVNotes
Employee idPersonalnummerRecorded through externalSystemIdentifiers in Talentech
Contract startDateEintrittsdatum
Contract weeklyHoursWochenarbeitszeit
Contract contractType, indefinite, endDateBefristung en Vertragsende
Salary amount, currency, effectiveDateFestbezug met LohnartPeriod agreed per customer
EmployeeResignApplication employmentEndDateAustrittsdatum

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.