Peliqan

AFAS + Claude: cross-source HR + finance AI

afas-claude

Table of Contents

Summarize and analyze this article with:

The board question every Benelux CHRO and CFO will be asked in 2026 sounds simple: “Which of our project teams are most profitable, and how does that correlate with sick leave, attrition, and unfilled vacancies?” In a typical Dutch enterprise, the answer takes three departments and a week. HR opens AFAS. Finance opens AFAS. Sales opens AFAS. They each export, they each filter, they each merge in Excel, and by the time the answer reaches the boardroom it is already out of date.

AFAS is the only ERP in the Benelux that contains all of those answers natively – HR, payroll, finance, projects, CRM, workflow, all in one product – and yet it is the single most under-leveraged AI surface in the Dutch enterprise. This is exactly where afas claude, afas mcp, afas ai agent, and ai voor afas stop being slides and start being operating model. The shortest path from a multi-module AFAS environment to a Claude-grade answer is a warehouse – and the design choice now sits on the CHRO and CFO desks together.

More than 14,000 Benelux organisations run AFAS, and 3.8 million employees receive their monthly payslip through it. That is the largest single concentration of HR + finance data in the Dutch enterprise market. Three pressures converged in 2026 that turn AFAS from a system of record into a strategic AI surface. The EU AI Act enforcement window is open with fines of up to €35M or 7% of global turnover.

The Dutch Autoriteit Persoonsgegevens has been escalating BSN-related enforcement – the citizen service number is treated as exceptionally sensitive data even where standard GDPR allows broader processing. And the cross-source questions a CHRO and CFO need to answer in the same conversation have moved from quarterly to weekly. The blog you are reading is the playbook for getting AFAS into Claude without breaking BSN rules, without rebuilding the Get Connector layer for every new question, and without paying for a connector that only covers the HRIS slice of the platform.

What AFAS is, and why it sits at the center of every Benelux HR + finance stack

AFAS Profit at a glance

What it is: Dutch all-in-one ERP covering HR, payroll, financial accounting, CRM, projects, workflow, and logistics in a single platform. Built and owned by AFAS Software (Leusden, Netherlands).
Scale: 14,000+ Benelux organisations and 3.8 million employees paid every month through AFAS, per AFAS Software’s own reporting.
Partner ecosystem: Around 80 Premium Partners in the Netherlands plus implementation, service, and certified-integration partners through the official AFAS partner portal.
Module coverage: Unlike Workday (HR only) or Exact Online (finance-led), AFAS is genuinely all-in-one – HR, payroll, finance, GL, AR, AP, CRM, projects, workflow, logistics – which is exactly why cross-source AI inside AFAS is the highest-leverage move you can make.
API model: REST API with OAuth 2.0, accessed through GetConnectors (read) and UpdateConnectors (write) – each one defined inside the AFAS environment before it can be called externally.
Compliance footprint: AFAS data includes BSN (Burgerservicenummer), salary, leave reasons, and contracted hours. The Dutch Autoriteit Persoonsgegevens treats BSN as exceptionally sensitive.

The single most under-stated thing about AFAS is the breadth of the platform. A Dutch mid-market company running AFAS for 1,200 employees has its payroll, its sales invoices, its project ledger, its CRM, and its case-management workflow all in the same tenant. That is the data integration story that every other enterprise had to build with five different vendors. The implication for AI is enormous: the cross-source questions a CHRO would ask of a Workday + NetSuite + Salesforce stack are already in one place in AFAS. The blocker is the API model and the BSN rules, not the data itself.

Why connecting AFAS to Claude is harder than it looks

Five constraints every AFAS AI project hits

The Get Connector tax: AFAS forces you to define a Get Connector inside the Profit environment for every read you want to do externally. New question? New connector. New filter? New connector. An AI agent that needs to answer dozens of ad-hoc CHRO and CFO questions cannot be built on a per-query Get Connector model.
Wide entity surface: Employees, Payroll, Absence, Contracts, SalesInvoices, GLAccounts, GLTransactions, Debtors, Creditors, Accounts (CRM), Projects, Workflow tasks – dozens of distinct schemas with different IDs, different filters, and different writeback rules.
BSN and salary data are radioactive: Any AI agent that touches AFAS data without column-level masking of BSN, NAW data, and salary fields is one prompt away from a Dutch DPA fine. This is the single most-overlooked constraint in the market.
Multi-environment sprawl: Dutch holdings frequently run a separate AFAS environment per legal entity. A group CHRO needs answers consolidated across all of them – and AFAS does not expose a cross-environment query natively.
Heavy AI workloads hammer the live API: Every prompt that hits the AFAS API directly costs API calls against your production AFAS environment, slows down workflows, and creates audit noise. The fix is a cached warehouse layer that the AI reads from.

The hidden engineering cost of an AFAS AI project is not pulling a single employee record. It is the sum of all five constraints above. A custom script that defines 30 Get Connectors for one team is fragile and unmaintainable when the next team needs 30 more. Apideck’s AFAS MCP server normalises the HRIS slice across providers but does not cover the finance, project, CRM, or workflow modules that make AFAS uniquely valuable in the first place. The CFO question “show me which clients are unprofitable AND understaffed” has no answer inside an HRIS-only connector.

The real cost of AFAS data silos

What slow AFAS reporting actually costs a Dutch enterprise

EU AI Act exposure: Firms using AI tools against HR data without governance frameworks face fines of up to €35M or 7% of global turnover. The risk is not whether you use AI on AFAS – it is whether you can document how.
BSN enforcement: The Dutch DPA penalises BSN misuse heavily. Using BSN as a customer ID, exposing it to a vendor AI, or leaking it into analytics is one of the most commonly fined GDPR infringements in the Netherlands.
HR + finance silo cost: Industry benchmarks place the cost of cross-functional analytics gap at 5-10% of operating margin for services-led mid-market firms. AFAS already has the data joined under one roof; the gap is purely the AI surface on top.
Multi-entity reporting drag: Group CHROs at Dutch holdings routinely lose 3-5 days per close consolidating headcount, sick leave, and contract status across separate AFAS environments. Senior HR director cost in NL sits around €100/hour – that is €2,400-4,000 per close in pure plumbing.
Peppol + AFAS exposure: Dutch sellers invoicing into Belgium are inside the Belgian e-invoicing mandate. AFAS sales invoices need to clear Peppol on the Belgian side, and the reconciliation between AFAS GL and Peppol delivery is now an audit dimension.

The hidden cost is not the time to run one report. It is the conversations that never happen because the data lived in three departments. Cross-source AI on top of AFAS is the single highest-leverage change a Dutch CHRO and CFO can make together in 2026 – and the architecture decision is the same one both of them have to sign off on.

5 ways to connect AFAS to Claude

1. Manual exports from AFAS Profit

Run an existing Get Connector or built-in report inside AFAS, export to CSV or Excel, paste into a master sheet, send to the controller. It works for a single quarterly headcount review. It does not work for daily cross-source questions, it carries no BSN masking by default, and it never works for a Claude prompt.

Best for: One-off audits or single-module questions in small organisations.

2. Direct AFAS REST API with custom Python

Any data engineer can authenticate against the AFAS REST API and call GetConnectors and UpdateConnectors. The catch is the Get Connector tax: every new question needs a corresponding Get Connector defined inside AFAS first, with the right filter and field projection. A team that wants AI to answer 50 different cross-module questions is a team that needs 50 Get Connectors maintained by an AFAS admin – which is the exact role that is hardest to scale in Dutch mid-market.

Best for: A small fixed set of well-defined extracts.

3. Power BI or Tableau custom connectors

Dutch enterprises already running Power BI can hit AFAS via the same Get Connector mechanism and build dashboards. The model breaks the moment the question is anything outside the pre-built filters – cross-source joins fail, BSN masking is on the user to handle, and there is no Claude interface. Heavy refreshes still hammer the AFAS API and slow down workflows.

Best for: Static HR or finance dashboards for a single legal entity.

4. Apideck or CData MCP servers

Apideck ships an AFAS MCP server that normalises AFAS data into a unified HRIS schema. Same pattern from CData. Both are useful for pure HRIS use cases – employees, departments, time off – but neither covers the finance, GL, AR, project, CRM, or workflow modules that make AFAS uniquely valuable. They are also US-hosted by default, which is a non-starter for BSN-grade data residency.

Best for: Pure HRIS prototypes against the employee + payroll layer only.

5. Warehouse-first MCP platform (Peliqan)

Peliqan syncs every AFAS module – HR, payroll, absence, contracts, finance, GL, AR, AP, projects, CRM, workflow – into a managed EU-hosted Postgres + Trino warehouse, with column-level masking on BSN and salary fields. Get Connectors are abstracted: you sync once, query forever. The Peliqan MCP server exposes the cleaned tables to Claude, Cursor, ChatGPT, or any MCP client, and reverse ETL handles auditable writeback back to AFAS UpdateConnectors. Cross-source SQL joins AFAS with Exact Online, Teamleader, Billit, HubSpot, and 240+ other connectors in one query.

Best for: Benelux enterprises and holdings running AFAS as the all-in-one platform. See the AFAS MCP server.

Comparison: 5 ways to connect AFAS to AI

Method Module coverage Get Connector overhead BSN masking Cross-source joins EU-hosted MCP
Manual CSV exports Any module manually Per export On the user No N/A
Direct API + Python All modules One Get Connector per question Custom-built Hand-rolled Depends on host
Power BI / Tableau Whatever you define High On the user Limited Microsoft tenant
Apideck / CData MCP HRIS only Provider-managed Limited No US-default
Peliqan MCP HR + finance + CRM + projects + workflow Abstracted, sync once Column-level masking SQL across 250+ apps EU, SOC 2 Type II

The AFAS entities that matter most for cross-source AI

The entire AFAS surface is too wide for any single AI workload. For a CHRO + CFO playbook on a holding running Profit, eight entity families carry roughly 80% of the value.

AFAS entity What it powers Cross-source AI use case
Employees + Contracts Headcount, FTE, role, contract type Capacity by team, attrition, span of control
Payroll + Compensation Salary, allowances, payroll lines Compensation drift, payroll cost by project
Absence + Sick leave Leave records, sick days, reasons Burnout signals, team-level absence trends
SalesInvoices + GLTransactions Revenue, journals, ledger Revenue per FTE, Peppol cross-check
Debtors + Receivables Open AR, customer master DSO, collections priority, churn risk
Accounts (CRM) Customer relationship, ownership Account health, partner workload
Projects + Activities Project ledger, billable activity Project margin, realization rate, WIP
Workflow + Tasks Case management, approvals Bottleneck detection, SLA breach risk

Decision framework: which AFAS architecture fits your organisation

Match the architecture to the AFAS shape

Single-entity SMB under 150 FTE: A handful of Get Connectors plus Power BI is often enough. Re-evaluate the moment you onboard a second AFAS environment or start asking cross-module questions weekly.
HR-only AI pilot: Apideck’s HRIS-scoped MCP server can validate the prompt experience for employees and time off. Plan a warehouse-first architecture before extending into finance or projects.
Mid-market enterprise (150-2,000 FTE): Warehouse-first MCP is the only architecture that scales with module count and BSN compliance. The same warehouse handles your Exact Online CFO playbook if finance runs on Exact alongside AFAS HR.
Multi-entity Dutch holding: One Peliqan workspace covers all AFAS environments with per-entity isolation and a single cross-entity MCP context. The group CHRO and CFO get one consolidated view without manual file-switching.
PE-backed or audited enterprise: EU-hosted, SOC 2 Type II, GDPR-native, with column-level BSN masking is non-negotiable. The auditable writeback log is what makes the AI defensible under EU AI Act review.
AFAS + Belgian invoicing: Dutch sellers invoicing customers in Belgium need to reconcile AFAS GL against Peppol delivery on the Belgian leg. The Billit Peppol AI playbook covers the Belgian side that joins natively to AFAS.

The cross-source playbook: 5 AFAS + Claude workflows that change the operating model

The temptation is to bolt a chatbot onto AFAS and call it a programme. The value comes from the workflows that span modules and span entities – the questions the CHRO and CFO ask together but never get to answer together because the data is in three reports.

1. Sick leave × project profitability × pipeline in one prompt

“Show me which project teams have sick leave above 6% AND project margin below 15% AND have open Teamleader opportunities at the same client.” This is the killer cross-source query. In a raw AFAS flow it is three exports and a manual merge. In a warehouse-backed Claude flow, it is one SQL statement. AFAS Absence joins to Projects joins to Employees joins to Teamleader Deals via the customer master. The CHRO sees burnout risk in the same prompt the CFO sees margin risk. Cross-source joins in Peliqan are the architectural unlock; no HRIS-only MCP can answer this.

2. Realization rate by team and by partner

“Across our practice, which teams are below 65% billable utilisation, and which client engagements have actual hours more than 20% above budget?” That joins AFAS Projects + AFAS Time + AFAS Employees with the original budget records. A Claude agent grouped by team and partner returns the prioritised review list, and the same agent can post a workflow task back to AFAS for the responsible partner.

3. Multi-entity HR consolidation across all AFAS environments

“Give me consolidated headcount, average tenure, and sick-leave rate across all 14 entities for April.” Each entity has its own AFAS environment. Each environment has its own Get Connectors. Peliqan’s multi-customer management fan-out covers all of them in one workspace and one MCP context, so the group CHRO can answer at the holding level in one prompt instead of 14.

4. BSN-safe AI for HR analytics

“Which departments have above-average sick leave this quarter, and who are the top 10 employees by sick days?” This is a legitimate HR analytics question – except that BSN, full names, and salary are exposed in the raw AFAS data, and the Dutch DPA has no patience for either careless exposure or vendor-side processing. Peliqan applies column-level masking on BSN and PII before the data is ever exposed to Claude. The AI agent sees a stable internal ID and the analytical fields it needs, never the BSN.

5. Peppol + AFAS reconciliation for cross-border Dutch sellers

Dutch enterprises selling into Belgium now have to clear Peppol for B2B invoices. AFAS GL knows what was issued; Billit (or another Peppol Access Point) knows what was delivered and acknowledged. A Claude agent with access to both can reconcile in real time and flag mismatches before they become VAT exposure. The Silverfin MCP playbook covers the audit-side join for accountancy firms doing the same work.

How Peliqan handles AFAS

What you get with the AFAS MCP server on Peliqan

Full module coverage: Employees, Contracts, Payroll, Absence, SalesInvoices, GLAccounts, GLTransactions, Debtors, Creditors, Accounts, Projects, Workflow – synced into a managed Postgres + Trino warehouse.
Get Connector abstraction: Sync once to the warehouse, query forever. No more per-question Get Connector definition inside AFAS Profit.
Column-level BSN and salary masking: Sensitive PII is masked at the warehouse layer before it ever reaches Claude. AI agents see analytics-safe identifiers, not BSN.
Cross-source SQL via Trino: Join AFAS with Exact Online, Teamleader, Billit, HubSpot, Salesforce, Yuki, Silverfin, and 240+ other connectors in one query.
MCP server with auditable writeback: Claude, ChatGPT, and Cursor can read AFAS data and trigger reverse ETL writes through UpdateConnectors – with a full audit log of prompt, user, payload, and response.
Multi-environment workspace: Built for Dutch holdings running dozens of AFAS environments. Per-entity isolation, fan-out sync, and a single cross-entity MCP context.
EU-hosted, SOC 2 Type II, GDPR-native: AFAS data never leaves EU jurisdiction. ISO 27001 in progress. HIPAA-compliant infrastructure for adjacent use cases.
2 weeks custom connector SLA: Missing entity or new AFAS module needed? Peliqan ships custom connector extensions within two weeks.
Transparent pricing: Peliqan Expand €150/month annual (€1,800/year). No per-row gotchas, no per-environment surprises.

The Peliqan AFAS MCP server is the shortest path from a multi-module AFAS environment to a CHRO + CFO operating model that uses AI in production rather than in pilot. The warehouse handles the slow, queued, audit-grade sync. BSN masking sits at the data layer, before any AI ever sees a row. The MCP server exposes the clean tables to Claude and any client. The reverse ETL closes the loop so writebacks flow into AFAS UpdateConnectors with a defensible audit log. And the cross-source layer means that when the CHRO and CFO want to ask a question together that spans AFAS, Exact Online, Teamleader, and the bank, that is one query. The Claude MCP overview covers the protocol details for engineers.

For Dutch enterprises already running Yuki for bookkeeping alongside AFAS, the same warehouse covers both. The Yuki Claude MCP write-up shows the bookkeeper-side pattern that joins natively to AFAS HR and payroll in the same MCP context. For groups whose Belgian subsidiaries use Silverfin for compliance workpapers, the cross-entity story extends seamlessly into the Silverfin layer.

The main MCP hub covers the cross-source pattern across EU SaaS, the ROI math for a typical Benelux mid-market enterprise, and the cost-of-doing-nothing framing that boards are asking for in 2026 budget conversations.

The materialized tables guide shows how to stage AFAS data once and serve it to Claude in milliseconds – critical for the conversational latency a CHRO expects when running cross-module questions in a leadership meeting.

For the Belgian leg of cross-border operations, Dutch enterprises invoicing Belgian buyers must clear Peppol on the Belgian side. The AFAS GL + Billit Peppol reconciliation is the same architectural pattern as the AFAS + Exact Online cross-source join – one warehouse, one MCP context, one Claude prompt that crosses both ledgers and the Peppol Access Point.

For deeper module-by-module coverage, the AFAS connector page lists every entity Peliqan syncs, the writeback matrix per endpoint, and the BSN masking rules that ship by default.

The AFAS AI page shows the live agent patterns for cross-source HR analytics, project margin reviews, and multi-entity consolidation – the three workflows that most often justify the architecture in the first quarter of use.

For Dutch enterprises that want to roll their own MCP server on top of AFAS, the build MCP server guide covers the protocol details. For most teams, the Peliqan-managed AFAS MCP server is the faster path – the connector and the BSN masking layer already exist.

Building AI agents in Peliqan covers the implementation pattern for the cross-source CHRO + CFO workflows – how to wire AFAS, Exact Online, Teamleader, and the bank into a single Claude context.

Reverse ETL in Peliqan is the writeback engine that pushes corrections back to AFAS UpdateConnectors with the audit log attached. Each write records the originating prompt, the user who authorised it, the source data, and the AFAS response – the exact trail an EU AI Act assessor or a Big-4 audit team will ask for.

Data quality monitoring covers the alerting layer for HR-side anomalies – sudden spikes in sick leave, contract drift, payroll variances – that should trigger a Slack or email alert to the CHRO before they become a problem.

What CHROs and CFOs should do this quarter

Three steps turn an AFAS + Claude conversation from a slide into an operating model.

First, pick one cross-source question that has been stuck between HR and finance for a quarter – sick leave by project profitability, partner realization rate, or multi-entity headcount consolidation – and prove it can be answered from a single Claude prompt against a warehouse-backed AFAS.

Second, audit your current AI tooling for BSN exposure. Any tool that touches AFAS data without column-level masking is a future Autoriteit Persoonsgegevens fine.

Third, classify your AFAS use case against EU AI Act risk tiers and document the audit log requirement now – not after the assessor arrives.

The CHRO and CFO functions in Dutch and Belgian enterprises are moving from monthly to weekly cadence, and AFAS is the data layer that backs most of it. Putting a warehouse and an MCP server between the platform and the prompt surface is not optional – it is the difference between a CHRO and CFO who can answer cross-source questions in 60 seconds, and one who promises an update by next Friday. The afas claude stack is the next operating-model change, and it is one short architectural decision away.

FAQs

Apideck’s AFAS MCP server normalises only the HRIS layer (employees, departments, time off). Peliqan’s AFAS MCP covers every AFAS module – HR, payroll, finance, GL, CRM, projects, workflow – and is EU-hosted with built-in BSN masking. Cross-source SQL with Exact Online, Teamleader, and Billit is one query.

Peliqan applies column-level masking on BSN, NAW data, and salary fields at the warehouse layer before any AI ever sees a row. The AI agent receives a stable analytics-safe identifier, never the BSN. This is what makes the architecture defensible under Dutch DPA enforcement.

No. Peliqan abstracts the Get Connector layer – the AFAS data syncs to a Postgres + Trino warehouse once, and Claude queries the warehouse without going through AFAS Get Connectors at all. Heavy AI workloads don’t hammer your live AFAS API.

Yes – via Peliqan’s reverse ETL. Claude can trigger writebacks through AFAS UpdateConnectors with a full audit log of the originating prompt, the user who authorised it, and the AFAS response. That trail is what makes the writeback defensible under EU AI Act review.

Author Profile

Revanth Periyasamy

Revanth Periyasamy is a process-driven marketing leader with over 5+ years of full-funnel expertise. As Peliqan’s Senior Marketing Manager, he spearheads martech, demand generation, product marketing, SEO, and branding initiatives. With a data-driven mindset and hands-on approach, Revanth consistently drives exceptional results.

Table of Contents

Peliqan data platform

All-in-one Data Platform

Built-in data warehouse, superior data activation capabilities, and AI-powered development assistance.

Related Blog Posts

Ready to get instant access to all your company data ?