Connect AFAS to Claude
Claude is good at analysis and writing: an explanation of starters and leavers, an overview of outstanding invoices, a first draft of an HR message. With an integration, Claude does that with the real data from AFAS Profit, the Dutch ERP and HR suite. When we checked on 18 October 2026, we did not find a connector for Claude from AFAS itself. The route is your own MCP server on the AFAS REST API, added to Claude as a custom connector.
- Staff overviews goes to Claude
- Outstanding invoices goes to Claude
- Projects and hours goes to Claude
- Task or dossier item comes from Claude
Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman
AFAS holds the data that HR, finance and management ask about every month: who starts next month, how headcount per department is changing, which invoices are still open. Anyone who wants an analysis of that now makes an export and pastes it into a chat, with every column included. An integration gives Claude only what a question needs, straight from AFAS.
AFAS works with connectors: GetConnectors to read, UpdateConnectors to write. In an app connector you define which connectors an integration may use, and the token belongs to a single user. That is where the security sits: whatever isn't in the GetConnector, Claude can't fetch either.
For each item: which direction it goes, when, and why. This is the starting point; in the first conversation we fit it to your situation.
- 01Staff overviewsAFAS Profit → ClaudeAt the monthly HR meeting
Name, job title, department, manager and start or end date, through a GetConnector with only those fields. Claude turns it into an overview of starters and leavers per department. Salary, BSN (the Dutch citizen service number) and sickness absence aren't in the connector, so they don't end up in the conversation either.
- 02Outstanding invoicesAFAS Profit → ClaudeBefore a customer meeting or the credit control round
Open invoices per customer with amount and due date, in a separate app connector for finance. Claude lists them or drafts an email with the right invoice numbers. A colleague sends it.
- 03Projects and hoursAFAS Profit → ClaudeAt a project review
Hours booked and budget per project, if you run your projects in AFAS. Claude compares projects and writes down what stands out. Let the amounts come from AFAS rather than having Claude estimate them.
- 04Task or dossier itemClaude → AFAS ProfitOnly after the user approves
If Claude is allowed to record something, have it prepare a dossier item or workflow task for a colleague to review. Set that tool to 'Needs approval' in Claude, so there is always a question first.
Not always. If an existing integration for AFAS Profit and Claude does exactly what you need, we'll tell you.
Your own MCP server for AFAS sits on the REST API, with a token per app connector and user. In Claude you add that server as a custom connector. On Team and Enterprise an owner does this; after that, each employee connects individually. Claude connects from Anthropic's cloud, including in Claude Desktop, so the server has to be reachable over the internet. If it sits in a private network, you allowlist Anthropic's IP addresses.
There are also MCP servers for AFAS from other parties. They use the same API and the same token as any other integration. Check where such a server runs: a server at a third party sees everything that passes between AFAS and Claude, so you need a data processing agreement with that party too.
- Not everyone may see the same: a team leader only their own team, finance only financial data.
- You want to record per call who requested what, for your own accountability under the GDPR.
- Claude needs to combine AFAS with other sources, such as your CRM or service desk.
- You want to use the same middle layer for ChatGPT, with the same rules on what is visible.
AI reads, sorts and prepares a suggestion. Where it matters, a person decides.
A first draft of the commentary
Claude fetches this month's and last month's figures, finds the biggest differences and writes a first draft of the commentary. HR or the controller adds to it and signs it off.
Research without write tools
In Research mode, Claude can call tools from your connectors without asking for permission each time. Anthropic recommends turning off write tools in that case. So give an AFAS connector for research read tools only.
Decisions about people stay with HR
Claude doesn't process contract changes, payroll changes or leavers. Claude can misread a question or give a wrong answer, so on matters about people HR has the final say.
One token for everyone
An AFAS token belongs to one app connector and one user. If you put that token in the connector as a fixed key, everyone in your Claude organisation works with the same access; Anthropic points this out itself. If you want different permissions per employee, you need a middle layer that knows through OAuth who is asking and filters per person.
Take sensitive fields out
Don't rely on an instruction telling Claude not to mention salaries. Remove salary, BSN, date of birth and sickness absence from the GetConnector. What isn't fetched can't end up in a conversation.
Where the data goes
Whatever the MCP server returns goes into the conversation at Anthropic, and Anthropic stores data in the US. On Team, Enterprise and the API, Anthropic doesn't train on your data by default. If you need storage and processing in Europe, use Claude through Amazon Bedrock or Google Cloud Vertex AI.
Test outside production
Build and test the integration on an AFAS test or acceptance environment, which has its own REST address. That way you see what Claude fetches before real staff data passes through.
What goes where
Which data moves, in which direction, and which system wins when two values differ. That is written down before anything gets built. For this integration, that means: Staff overviews, Outstanding invoices, Projects and hours, Task or dossier item.
Fields and rules
For every field, how it translates between the systems: statuses, VAT codes, general ledger accounts, item numbers. And what happens with a duplicate or a missing value. For this integration, that means: One token for everyone, Take sensitive fields out, Where the data goes, Test outside production.
Testing with real cases
In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.
Live, with logging and monitoring
Every sync is logged, and when something fails, someone gets an alert. If a vendor changes its API, we update the integration.

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.
- Office on the Duivendrechtsekade in Amsterdam
- ISO 9001 and ISO 27001, certified by Kiwa
- 500 projects delivered
- 4.8 from 127 reviews
Does AFAS have an official integration with Claude?
When we checked on 18 October 2026, we did not find a connector from AFAS itself. You connect AFAS to Claude with an MCP server on the AFAS REST API, added as a custom connector. You build that server yourself or use one from another party.
Which Claude plan do I need?
Custom connectors work on Free (one at most), Pro, Max, Team and Enterprise. For HR and financial data, Team or Enterprise is the obvious choice: an owner adds the connector, decides per tool what is allowed, and Anthropic doesn't train on your data by default.
Can Claude change data in AFAS?
Only if you give the MCP server UpdateConnectors. For HR and payroll data we advise against it. At most, let Claude prepare a task or dossier item, and set that tool to approval in Claude. Block what you don't want, such as deleting.
Does the same MCP server work for ChatGPT too?
Yes. MCP is an open standard that Claude and ChatGPT both support. One well-shielded server for AFAS can serve both, with the same rules on what is visible. How that works in ChatGPT is on the page about connecting AFAS to ChatGPT.
Does the MCP server have to be on the public internet?
It has to be reachable from Anthropic's cloud, because that's where the connection comes from, even if you use Claude Desktop. Behind a firewall, you only let Anthropic's IP addresses through. The server itself talks to AFAS through the REST API with a token.
Related services
- Connect AFAS to HubSpotConnect AFAS to HubSpot: a won deal becomes a customer account and order in AFAS, and sales sees in HubSpot which invoices are still outstanding.
- Connect AFAS to SalesforceConnect AFAS to Salesforce: accounts, opportunities and invoices flow both ways, within the API limits and with AFAS as the financial source of truth.
- Connect AFAS to TOPdeskConnect AFAS to TOPdesk: employees, departments and branches flow from AFAS into the service desk, and a new starter or leaver triggers a request.
- Connect AFAS to Microsoft 365Connect AFAS to Microsoft 365: a new employee in AFAS gets an account and groups in Entra ID, and the account is blocked when they leave the organisation.
- Connect AFAS to ChatGPTConnect AFAS to ChatGPT: give an AI assistant safe access to AFAS through an MCP server with limited permissions, and keep salary and BSN data out of it.
- AFAS KVK integrationAFAS KVK integration: what Zoeken in KvK in Profit already does, when to connect the KVK API yourself, and how UpdateConnectors keep organisations current.
Sources
The technical facts on this page come from the vendors' official documentation, checked on 18 October 2026. Vendors change their APIs and limits; when we build an integration, we always check the current state.
- Claude Help Center: Get started with custom connectors using remote MCP
- Claude Help Center: Use connectors to extend Claude's capabilities
- Anthropic Privacy Center: Is my data used for model training?
- Anthropic Privacy Center: Where are your servers located?
- Claude: Regional compliance
- AFAS Help Center: REST API for developers (in Dutch)
- AFAS Help Center: Generating a token (in Dutch)
- AFAS Help Center: Adding a GetConnector (in Dutch)
- AFAS Help Center: REST service URLs (in Dutch)


