Payroll to finance
Exact HR to SAP S/4HANA integration: Dutch payroll costs from Exact Online payroll as a journal entry in S/4HANA
With an integration between Exact HR (Exact Online payroll) and SAP S/4HANA, the payroll costs of every finalised Dutch payroll run automatically go to S/4HANA as a journal entry, on that employer's company code and per GL account and cost centre. KoppelHet builds the entry from the paid Exact pay components and checks in SAP that it has really been posted.
What the integration does
Organisations that use SAP S/4HANA as group ERP and have Dutch payroll processed in Exact Online payroll receive the payroll costs as a report after every run and post them by hand in SAP. If a cost centre changes in Exact, the cost allocation in SAP is only right again after a correction at month-end close.
- Payroll finalises the payroll run in Exact.
- KoppelHet fetches the paid lines and leaves out pro forma calculations and subtotals.
- Amounts are totalled per pay component and cost centre and translated to SAP accounts and SAP cost centres through tables maintained by finance.
- KoppelHet submits the journal entry asynchronously on the employer's company code.
- KoppelHet waits for the confirmation from SAP and reports an error or missing confirmation to finance.
What to watch for with Exact HR and SAP S/4HANA
- You cannot get a payroll journal from the Exact Online API; the payroll service has no resource for it. What you can do is request the paid pay components per year and period. KoppelHet turns those into an SAP journal entry, with an account table maintained by finance.
- Besides allowances and deductions, Exact has pay components of type subtotal, which add up other lines. If the integration took them along, the payroll costs would be in SAP twice. KoppelHet only takes allowances and deductions.
- Exact returns payroll lines with a status from not entered to deleted, and has pro forma frequencies next to the real pay frequencies. Only finalised lines of a real frequency go to SAP, so a trial calculation never shows up as payroll costs in the group figures.
- For large postings SAP recommends the asynchronous variant of Journal Entry - Post, because the synchronous service can time out with many lines. KoppelHet uses the asynchronous service and first totals the Exact lines per account and cost centre, so even a large payroll run fits in one entry.
- With asynchronous posting the result comes back as a separate confirmation, and SAP describes a case where the inbound posting succeeds but the confirmation is not sent. KoppelHet only marks an Exact period as posted after a confirmation, and has finance check the SAP message monitor when a confirmation is missing before anyone posts again.
- If Exact pays every four weeks, the year has thirteen pay periods, while the fiscal year in S/4HANA usually has twelve periods. With finance we agree up front which posting date each four-week period gets, so SAP derives the right posting period.
- Exact cost centres are free codes per division; in SAP a cost centre belongs to a controlling area and must be valid on the posting date. KoppelHet translates through a table maintained by finance, and an Exact cost centre without an SAP counterpart stops the entry with a clear message.
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
Why not use the payroll journal from Exact?
Exact does not offer that journal through the API. It does offer the paid pay components; KoppelHet builds the journal entry from those.
Does this also work with S/4HANA on premises?
This page assumes S/4HANA Cloud. On premises we choose the matching posting service per release.
Do cost centres also go from SAP to Exact?
Not in the first version. That can be added later as an extension, if the Exact API allows creating cost centres.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Exact Online through the REST API with OAuth 2.0, read only: /api/v1/beta/{division}/payroll/PayrollTransactionsByPayrollYear (filter on PayrollYear, Period and Status 6; Frequency 11 to 15 is pro forma; PayrollRunCode, CostCenterCode, CalculatedAmount) and /api/v1/beta/{division}/payroll/PayrollComponents (Type 1 allowance, 2 deduction, 3 subtotal; GLClassification).
- SAP S/4HANA Cloud through Journal Entry - Post (Asynchronous), inbound JournalEntryBulkCreationRequest_In, with the outbound confirmation JournalEntryBulkCreationRequest_Out. Monitoring in AIF and the Message Dashboard; missing confirmations can be traced in SRT_MONI.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Exact HR | Field in SAP S/4HANA | Notes |
|---|---|---|
PayrollComponentCode | Grootboekrekening (GLAccount) | Table per component, with GLClassification as a guide |
CostCenterCode | Kostenplaats in SAP | Lookup table; SAP cost centres belong to a controlling area |
CalculatedAmount | Bedrag in EUR | Sign according to allowance or deduction |
Division | Bedrijfscode (CompanyCode) | Fixed mapping per division |
PayrollYear en Period | Boekingsdatum en documentdatum | |
PayrollRunCode | Referentie van de journaalpost |
- Exact Online REST API: PayrollTransactionsByPayrollYear
- Exact Online REST API: PayrollComponents
- SAP KBA 2830584 – Journal Entry Post (Synchronous) time-out
- SAP KBA 3781963 – JournalEntryBulkCreationRequest_Out confirmation not sent
- SAP KBA 3191334 – Journal Entry - Post (Asynchronous) in the message monitor
Related
Exact HR → 4PS Construct
Exact HR to 4PS Construct integration: payroll costs from Exact Online payroll as a journal in 4PS, with cost centre and project as dimensions
Exact HR → Active Directory
Exact HR to Active Directory integration: accounts from payroll in Exact Online
Exact HR → AllSolutions
Exact HR to AllSolutions integration: payroll costs from Exact Online payroll as a journal posting in AllSolutions
Exact HR → Arbodienst (SIVI)
Exact to occupational health service via SIVI: sick and recovery notifications from Exact Online payroll to the health service