
Payroll to finance
Dynamics 365 and HR2day integration: dimensions to HR2day, payroll journal to Business Central
With an integration between Microsoft Dynamics 365 and HR2day, cost centres and projects from Dynamics reach HR2day automatically, and the payroll journal is ready in Dynamics 365 Business Central or Finance after every payroll run. HR in HR2day only picks dimension values finance can post to, and the cost allocation from HR2day reaches the journal with the right dimensions.
What the integration does
Organisations that book in Business Central and run payroll in HR2day create new projects in Business Central, for example for a subsidy. Payroll only hears about them when the journal does not balance, and processes the journal file per employer by hand.
- Finance creates or blocks a cost centre or project in Dynamics.
- KoppelHet fetches the dimension values per company and makes the postable values available in HR2day, at the employer that belongs to that company.
- HR picks a cost centre and, where needed, a project from that list for the appointment and for a cost allocation.
- After the payroll run KoppelHet reads the journal from HR2day, checks the cost centre and project combinations and totals the lines per GL account and dimension.
- The journal is ready in the right company in Dynamics; finance reviews and posts.
What to watch for with Microsoft Dynamics 365 and HR2day
- Besides the cost centre, HR2day has a second dimension, usually for projects. Business Central has two global dimensions that work as a filter everywhere. KoppelHet maps the HR2day cost centre and project to those two, so finance can filter wage costs per project without an extra step.
- In Business Central dimension values can form a hierarchy, with headings and totals that cannot be posted to. KoppelHet only makes the standard values available in HR2day, so HR cannot pick a total line as a cost centre.
- Business Central can block or limit combinations of dimensions, for example a grant project that is only allowed with one department. HR2day does not know those rules. KoppelHet checks every combination from the cost allocation before the journal goes to Dynamics, and reports a forbidden combination to payroll.
- A cost allocation in HR2day can be set up in advance with an end date. If finance blocks a project in Dynamics while an allocation still points to it, KoppelHet reports this straight away, not only when the next run cannot be posted.
- If each employer in HR2day is also its own company in Business Central, KoppelHet records those pairs, so the dimensions of one company do not appear at the wrong employer and the journal of each employer lands in the right company.
- The integration can read dimension values in Business Central but not create them. A new cost centre therefore always starts with finance in Dynamics, and HR2day follows.
- Business Central limits the number of requests per user in a five-minute window, and HR2day shares a daily maximum with other integrations. KoppelHet therefore posts the journal totalled per GL account and dimension, not per employee.
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 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.
Frequently asked questions
Does this work with Business Central and with Dynamics 365 Finance?
Yes. The process is the same; only the connection on the Dynamics side differs.
Do you post per employee in Dynamics?
Usually not. Finance gets the journal per GL account, cost centre and project. The detail per employee stays in HR2day.
What happens with a correction run?
It arrives in Dynamics as a separate journal, with a reference to the original run. Finance can see what was corrected.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Business Central through API v2.0 with a Microsoft Entra app (client credentials). dimensionValue is read-only in the API (GET), with code, displayName and consolidationCode. Journal lines through journalLine with dimensionSetLines. Limits according to Microsoft include 6,000 OData requests per user per five minutes (HTTP 429 when exceeded) and at most 300 companies per environment.
- For Dynamics 365 Finance we use the OData entities for financial dimension values and journal lines; the approach is otherwise the same.
- HR2day runs on Salesforce. KoppelHet reads and writes through the Salesforce REST API with a connected app and an integration user with rights on cost centre and journal data only.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Microsoft Dynamics 365 | Field in HR2day | Notes |
|---|---|---|
dimensionValue.code (kostenplaatsdimensie) | Kostenplaats | Per company in Dynamics, at the employer in HR2day |
dimensionValue.displayName | Omschrijving kostenplaats | |
dimensionValue.code (projectdimensie) | Kostenplaats dim2 (project) | |
company | Werkgever | |
Journaalregel looncomponent | journalLine.accountNumber | Through a fixed table of pay component to GL account |
Bedrag | journalLine.amount | |
Kostenplaats en dim2 op de journaalregel | dimensionSetLines | After checking allowed combinations |
Salarisperiode en rundatum | journalLine.postingDate en description |
Related
ADP Workforce Now → Microsoft Dynamics 365
ADP Workforce Now to Dynamics 365 integration: workers from ADP as employees in Business Central, with dimensions and status
BambooHR → Microsoft Dynamics 365
BambooHR to Dynamics 365 integration: BambooHR job info as employee and dimensions in Business Central
BuddeeHR → Microsoft Dynamics 365
BuddeeHR to Dynamics 365 integration: employees and dimensions from Buddee in Business Central
Dayforce → Microsoft Dynamics 365
Dayforce to Dynamics 365 integration: employees from Dayforce in Business Central, with department and approver