Microsoft Dynamics 365 logoAFAS Profit logo

Payroll to finance

Dynamics 365 and AFAS integration: cost centres to HR, payroll journal to the ERP

With an integration between Microsoft Dynamics 365 and AFAS Profit, cost centres and projects from Dynamics reach AFAS automatically, and the payroll journal is ready in Dynamics 365 after every payroll period. HR in AFAS only picks cost centres that exist in the group ERP, and finance no longer retypes a journal file.

What the integration does

International organisations that book everything in Microsoft Dynamics 365 and run Dutch payroll in AFAS Profit, without AFAS Finance, add dimensions in Dynamics without payroll knowing. After every period a journal file goes to finance by email, and finance enters it into Dynamics by hand.

  1. The controller adds a cost centre or project in Dynamics 365 for the Dutch branch.
  2. It then appears at the employer in AFAS, so HR can assign it to employees.
  3. After every payroll period KoppelHet fetches the payroll journal from AFAS.
  4. The AFAS accounts are translated to the Dynamics ledger, with cost centre and project on every line.
  5. The journal is staged as a draft in Dynamics. Finance posts it after review, or KoppelHet posts it directly if agreed.
Microsoft Dynamics 365 → KoppelHet → AFAS ProfitSOURCEMicrosoft Dynamics 365TARGETAFAS ProfitKoppelHetmapping · logging · monitoringMicrosoft Dynamics 365 → KoppelHet → AFAS ProfitSOURCEMicrosoft Dynamics 365TARGETAFAS ProfitKoppelHetmapping · logging · monitoring
Out: Cost centres and projects from Dynamics · Employer cost centres and cost units in AFAS · GL accounts · Legal entity
Back: Payroll journal per payroll period · Split over cost centre and project

What to watch for with Microsoft Dynamics 365 and AFAS Profit

  • In AFAS the payroll cost centres belong to the employer. They are separate from the financial cost centres in AFAS Finance, which is not needed as long as the books are kept in Dynamics.
  • Through the integration Business Central does not show whether a cost centre is blocked. KoppelHet recognises closed cost centres through a separate list or an extra page you open up in Business Central.
  • Business Central expects one signed amount per journal line, AFAS keeps debit and credit apart. KoppelHet converts and checks that the journal balances to zero.
  • With Dynamics 365 Finance the payroll journal lands in the standard journal tables. For a journal at cost centre level that is enough; for very large volumes Microsoft advises a separate import route.
  • In Dynamics 365 Finance it must be set once how another system supplies account and cost centre together. We arrange this at the start with your Dynamics administrator.
  • AFAS no longer supports its old exports for external accounting packages. The integration replaces that export file with a direct posting in Dynamics.
  • Dynamics 365 is often the ERP of the whole group, AFAS only of the Dutch entity. KoppelHet only fetches the cost centres that apply to that entity, so AFAS does not receive cost centres from other countries.

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

Does this work with Business Central and with Dynamics 365 Finance?

Yes. The process is the same for both; only the connection on the Dynamics side differs.

Does the integration post the journal straight away?

Not by default. The journal is staged and finance posts it after review. If finance prefers, KoppelHet posts it.

What if HR in AFAS uses a cost centre that does not exist in Dynamics?

Then the integration holds the journal and reports which code is missing. Because cost centres come from Dynamics, this only happens with codes HR added in AFAS itself.

Can we reuse an existing Microsoft app for the integration?

Preferably not. We ask for dedicated access with only the rights the integration needs, so you can revoke it separately.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Business Central is read and written through the standard API (dimensionValue, read-only, without blocked status; journalLine with dimensionSetLines and one signed amount).
  • Dynamics 365 Finance through the OData entities LedgerJournalHeader and LedgerJournalLine. Microsoft recommends the General journal entity through Data management for high volumes. The ledger dimension format for integrating applications must be configured.
  • AFAS is written through the HrCostCentre and HrCostCarrier UpdateConnectors; the payroll journal is read with a dedicated GetConnector.
  • Access to Dynamics through a dedicated app registration in Microsoft Entra ID with only the required API permissions.

Which fields are transferred

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

Field in Microsoft Dynamics 365Field in AFAS ProfitNotes
dimensionValue.codeKostenplaats (HrCostCentre)Per employer in AFAS
dimensionValue.displayNameOmschrijving kostenplaats
Dimensie projectKostendrager (HrCostCarrier)Only when projects are needed in payroll
Rekening in de loonjournaalpostaccountNumberThrough a lookup table to the Dynamics ledger
Kostenplaats in de loonjournaalpostdimensionSetLines (kostenplaats)
Kostendrager in de loonjournaalpostdimensionSetLines (project)
Debet en creditamountBusiness Central has one signed amount; credit becomes negative
Periode en jaarpostingDateLast day of the payroll period, unless finance prefers otherwise
WerkgeverCompany of juridische entiteitFixed mapping per employer

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.