Deel logoMicrosoft Dynamics 365 logo

HR to ERP

Deel to Dynamics 365 integration: employees, EOR and contractors from Deel in the right place in the ERP

With an integration between Deel and Microsoft Dynamics 365, everyone working through Deel appears automatically in Dynamics 365, but according to their type of engagement. Own employees become an employee in the company of their entity; EOR workers and contractors only get a resource to book hours on projects.

What the integration does

Organisations with own employees, EOR employees and freelancers in Deel who all log hours on client projects in Business Central have finance create a resource by hand for every new person. Contractors who left weeks ago are still open for hours.

  1. A contract is created, changed or terminated in Deel.
  2. Deel reports this to KoppelHet, which fetches the person with contract, entity, department and manager.
  3. An own employee becomes an employee in the company of their entity, with a linked resource. EOR workers and contractors only get a resource.
  4. The manager from Deel becomes time sheet approver.
  5. On the last working day from Deel KoppelHet closes the employee and switches the resource off for new time sheets.
Deel → KoppelHet → Microsoft Dynamics 365SOURCEDeelTARGETMicrosoft Dynamics 365KoppelHetmapping · logging · monitoringDeel → KoppelHet → Microsoft Dynamics 365SOURCEDeelTARGETMicrosoft Dynamics 365KoppelHetmapping · logging · monitoring
Out: Employee for own employees · Resource for EOR workers and contractors · Entity as company · Department as dimension · Manager as time sheet approver

What to watch for with Deel and Microsoft Dynamics 365

  • Deel records per person whether they are a contractor, EOR worker or own employee. Business Central lets time sheets work for resources that are not employees too. Only own employees therefore become an employee; EOR workers and contractors only get a resource, because their employer or client is someone else.
  • In Dynamics 365 Finance a worker is either an employee or a contractor. Contractors from Deel go there as contractor; EOR workers are agreed per customer, because the legal employer is the EOR party.
  • Each contract in Deel belongs to one of the customer's entities. KoppelHet uses that entity to choose the Business Central company; contracts with an entity without its own company go to the company finance designates for it.
  • When someone moves from EOR to the own entity, the resource in Business Central stays the same and an employee is added. That way the hours on running projects stay with one resource.
  • Departments in Deel have a parent department, while dimension values in Business Central are a flat list the standard API does not let you create. KoppelHet translates the Deel department into an existing code; an unknown department becomes a notice for finance.
  • A contractor in Deel often has no end date until the assignment stops. Business Central does not allow the approver to change while time sheets are open. KoppelHet therefore only switches a resource off after the last time sheet is approved, and reports time sheets that stay open.

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

Why don't EOR workers become an employee?

Because another party is their employer. In Business Central they only need a resource for hours; that way no costs or expenses run through the wrong employer.

Do contractor invoices also go through this integration?

No. This integration is about people and organisation. Invoices from Deel into accounting 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.

  • Deel through webhooks and the REST API (GET /rest/people with hiring_type contractor, eor, peo or direct_employee, client_legal_entity, department with parent, direct_manager with worker_id and work_email, employments with job_title and termination_last_day). Deel recommends webhooks as the main route and polling as a supplement.
  • Business Central through API v2.0 per company - employees and defaultDimensions with parentType Employee; dimensionValues GET only. Resources with Use Time Sheet and Time Sheet Approver User ID. Dynamics 365 Finance through Worker (employee or contractor) and Employment per company.

Which fields are transferred

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

Field in DeelField in Microsoft Dynamics 365Notes
worker_idnumber (employee en resource)
first_name, last_namegivenName, surname / naam resource
employments.job_titlejobTitle
hiring_typeEmployee met resource, of alleen resourceOnly direct_employee becomes an employee
client_legal_entityCompanyThrough a table per entity
department.namedefaultDimensions (afdeling)
direct_manager.work_emailTime Sheet Approver User ID
start_dateemploymentDate
employments.termination_last_dayterminationDate en status Terminated

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.