

Payroll to finance
AFAS to Visma.net ERP integration: the payroll journal per employer ready in Visma.net
With an integration between AFAS Profit and Visma.net ERP, the payroll journal lands in Visma.net after every approved payroll period, on the right account, subaccount and branch per employer. The journal arrives on hold, so finance reviews and releases it in Visma.net, and the integration stops a closed period beforehand.
What the integration does
Employers that run payroll in AFAS Profit and keep their financial accounts in Visma.net ERP retype the totals of the journal overview into a general journal every month. In AFAS the cost centre is part of an extended account number, so finance cuts it off again by hand.
- Payroll approves the period in AFAS, as today.
- KoppelHet fetches that employer's payroll journal, with the original account numbers and analysis dimensions.
- The integration checks in Visma.net whether the post period is open and whether every account and subaccount exists.
- The journal lands on hold in Visma.net, on the employer's branch, with period and employer in the description.
- Finance reviews the journal in Visma.net and releases it. The KoppelHet platform shows the Visma.net batch number for each AFAS period.
What to watch for with AFAS Profit and Visma.net ERP
- In AFAS a replacement rule can extend the account number with a cost centre or cost unit code. Visma.net keeps account and subaccount apart, with a subaccount built from segments. KoppelHet therefore reads the original account numbers and puts the analysis dimensions into the right segments.
- AFAS Profit has up to five analysis axes, while the subaccount structure in Visma.net is set up per company. At the start we record per axis which segment it goes to, or whether it goes on the line as a project.
- A segment value that does not exist in Visma.net makes the journal fail. KoppelHet compares the cost centres in the AFAS journal with the segment values in Visma.net beforehand and lists the missing codes before anything is posted.
- In AFAS journalising is set up per employer. Visma.net works with branches within one company. Every AFAS employer gets a fixed branch, so each employer's payroll costs appear separately in Visma.net reporting.
- Visma.net can put a journal on hold. KoppelHet posts the payroll journal that way, and finance releases it after review. Finance's four-eyes check stays in place, without an import file.
- A post period in Visma.net must be active and not closed in the general ledger. If AFAS approves a correction period for a month finance has already closed, KoppelHet holds the journal and asks finance for a period.
- AFAS can show a correction period together with its main period. The integration only posts the lines of the approved processing line itself, so a main period never reaches Visma.net twice.
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
Can the journal be posted directly, without release?
Yes. The integration can release the journal itself after the checks. Most organisations let finance release it for the first months and switch over afterwards.
What if a cost centre does not exist in Visma.net yet?
Then the integration posts nothing and reports which code is missing. Finance creates the segment value, after which KoppelHet posts the whole journal.
Do cost centres also go from Visma.net to AFAS?
Not in the first version. It can be added later as an extension, so HR in AFAS only picks cost centres that exist in Visma.net.
Does salary data per employee end up in Visma.net?
No. KoppelHet sums the amounts per account, subaccount and branch. Per-employee detail stays in AFAS.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- AFAS is read with a dedicated GetConnector on the journal data per employee, filtered on employer and processing line and summed per account and analysis dimension.
- Visma.net ERP is written through the REST API on api.finance.visma.net with POST /v2/journaltransaction (hold, branch, postPeriod, transactionDate, description and lines with accountNumber, subaccount as segmentId and segmentValue, project, debitAmountInCurrency and creditAmountInCurrency). Release is possible through the release action on the journal.
- Before posting the integration checks GET /v1/financialPeriod (active, closedInGeneralLedger) and the segment values through the dimension endpoints.
- Access through Visma Connect with OAuth 2.0 client credentials and a tenant_id, approved by an administrator of the Visma.net environment. The API limit applies per combination of company and client and is shown in the X-RateLimit headers.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in AFAS Profit | Field in Visma.net ERP | Notes |
|---|---|---|
Grootboekrekening (oorspronkelijk nummer) | accountNumber | Through a lookup table between both charts of accounts |
Kostenplaats (verbijzonderingsas) | subaccount (segmentId, segmentValue) | Which segment differs per customer; the segment value must exist in Visma.net |
Kostendrager | project of extra segment | Chosen at the start, depending on the Visma.net setup |
Bedrag met D/C | debitAmountInCurrency of creditAmountInCurrency | |
Werkgever | branch | Fixed mapping per employer, on header and line level |
Periode en jaar | postPeriod en transactionDate | Transaction date is the last day of the payroll period |
Werkgever, jaar en periode | description | No employee names |
Vaste waarde | hold = true | Finance releases the journal |
Related
ADP Workforce Now → AFAS Profit
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
AFAS Profit → 4PS Construct
AFAS to 4PS Construct integration: payroll journal per employer in the right 4PS company
AFAS Profit → Adobe Creative Cloud
AFAS to Adobe Creative Cloud integration: users and product profiles from AFAS Profit
AFAS Profit → AG5
AFAS to AG5 integration: employees, employments and absence from AFAS Profit in the skills matrix