Naar de inhoud
SyncMyShop

Kennisbank

Exact Online koppelen met Claude: wat kan er met MCP?

Exact Online koppelen met Claude gaat via een MCP-server: software die een vraag van Claude omzet in een aanroep van de REST API van Exact Online en het antwoord teruggeeft. Exact levert zo'n server zelf niet (stand 3 oktober 2026), dus hij wordt gebouwd op een eigen app-registratie met OAuth en de endpoints die bij je vragen horen.

Bijgewerkt op

Hoe werkt een koppeling tussen Exact Online en Claude?

Tussen de vraag en het antwoord zitten drie onderdelen.

Onderdeel Wat het doet Wie het beheert
Claude Leest de vraag, kiest een tool en schrijft het antwoord Anthropic
MCP-server Biedt tools aan, beheert de tokens, roept Exact aan en logt Wie de koppeling bouwt en host
App-registratie in Exact Online Bepaalt scopes en geeft per gebruiker een token De bouwer, met toestemming van de gebruiker

MCP staat voor Model Context Protocol: een open protocol waarmee een AI-assistent functies buiten zichzelf aanroept. De MCP-server biedt die functies aan als tools, elk met een naam, een beschrijving en een schema voor de invoer. Claude kiest de tool op basis van die beschrijving en vult de parameters in.

In Claude voeg je de server toe als eigen connector, via Customize, Connectors en "Add custom connector". Volgens Anthropic werkt dat op Free, Pro, Max, Team en Enterprise; Free mag één eigen connector hebben. Claude maakt de verbinding vanuit de infrastructuur van Anthropic, niet vanaf je eigen computer. De MCP-server draait dus op een openbaar adres en laat alleen ingelogde gebruikers toe. Wie verder wil afschermen, beperkt inkomend verkeer tot de reeks 160.79.104.0/21 die Anthropic voor uitgaande aanroepen publiceert.

Een vraag van Claude aan Exact Online via een MCP-server Claude roept de tool openstaande_posten aan. De MCP-server vernieuwt eerst het access token van Exact Online, vraagt dan ReceivablesList op met een filter op debiteur 10432 en geeft 7 openstaande posten terug. Alleen de GET telt mee voor de daglimiet van 5.000. Claude assistent MCP-server tools en tokens Exact Online REST API openstaande_posten(10432) token ouder dan 570 s refresh token nieuw access en refresh token GET ReceivablesList $filter AccountId 200 OK, 7 posten Voor de daglimiet van 5.000 telt alleen de GET mee: de tokenaanvraag heeft geen administratiecode in de URL. 7 posten, samen 4.312,50 euro
Eén vraag, één GET. De tokenaanvraag heeft geen administratiecode in de URL en telt niet mee voor de daglimiet.

Wat levert Exact zelf, en wat niet?

Exact levert de REST API en een eigen set AI-agents binnen het pakket. Een MCP-server levert Exact niet. In de kennisbank van Exact Online gaf een zoekopdracht op "MCP", "Claude" en "ChatGPT" op 3 oktober 2026 nul resultaten.

De eigen agents van Exact werken binnen Exact, op de gegevens van de administratie waarin je werkt:

Agent van Exact Wat hij doet Stand op 3 oktober 2026
Financial Agent Beantwoordt vragen over winst en verlies en meer dan 40 kpi's Early Access, knop op het scherm Balans/Winst & verlies
Excel Agent Zet klanten, prospects, offertes en verkoopkansen in Excel Beta, add-in via het tabblad Early Access
Purchase, Bank en Debtor Agent Verwerken inkoopfacturen, banktransacties en herinneringen In het pakket

Het verschil zit in het bereik. De Financial Agent werkt op de winst-en-verliesgegevens van één administratie, de Excel Agent op CRM-gegevens. Een MCP-server bepaal je zelf: hij kan voorraad, openstaande posten en orders uit Exact combineren met gegevens uit je webshop of WMS in één antwoord. Volgens Exact blijven gegevens die je met de eigen agents deelt binnen de omgeving van Exact. Wat een MCP-server aan Claude teruggeeft, wordt door Anthropic verwerkt.

Hoe krijgt de MCP-server toegang tot Exact?

Via OAuth 2.0 met een eigen app-registratie. Exact ondersteunt alleen de grant types authorization code en implicit. Client credentials, waarmee een server zonder gebruiker inlogt, kent Exact niet. Elke verbinding hoort dus bij een Exact-gebruiker die één keer inlogt en toestemming geeft.

Onderdeel Waarde bij Exact Online
Access token 10 minuten geldig, een nieuw pas na 570 seconden
Refresh token 30 dagen geldig, elke vernieuwing geeft een nieuw refresh token
Scopes Per domein, met per domein alleen lezen of ook schrijven
Administraties De gebruiker kiest in het toestemmingsscherm welke de app ziet
Fouten Maximaal 10 per uur per app, gebruiker, administratie en endpoint

Het refresh token staat volgens Exact voor de rechten van de gebruiker die toestemming gaf. Het hoort versleuteld bij de MCP-server te staan, niet in Claude en niet in een gesprek. Wordt de app 30 dagen niet gebruikt, dan verloopt het refresh token en logt de gebruiker opnieuw in.

Exact vraagt een Data & Security review voordat andere klanten een app mogen koppelen of voordat hij in de App Store komt. Daarin legt de bouwer het doel, de scopes en de clouddiensten vast waar gegevens naartoe gaan. Bij een MCP-server die antwoorden aan Claude doorgeeft, hoort Anthropic in die lijst.

Wat kan Claude lezen uit Exact Online?

Alles waarvoor de REST API een endpoint heeft, binnen de scopes van de app en de rechten van de gebruiker. Een bruikbare set tools voor een groothandel:

Tool in Claude Endpoint in Exact Vraag die ermee kan
openstaande_posten read/financial/ReceivablesList Wat staat er open bij Bakker Installatie B.V.?
ouderdom_debiteuren read/financial/AgingReceivablesList Welke klanten hebben posten in de oudste ouderdomsgroep?
omzet_per_periode financial/ReportingBalance Wat was de omzet in september op grootboek 8000?
voorraad_per_artikel read/logistics/StockPosition Hoeveel is er vrij van artikel 10482?
open_orders salesorder/SalesOrders Welke orders van deze klant hebben status 12, open?

Twee details van Exact zelf bepalen hoe de tools werken. SalesOrders en de voorraadendpoints bestaan alleen bij Wholesale & Distribution en Manufacturing. En het debiteurnummer Code in crm/Accounts is een tekst van 18 tekens met voorloopspaties. Een filter op '10432' vindt niets; de MCP-server vult zelf aan tot 18 tekens:

GET /api/v1/1234567/crm/Accounts?$filter=Code eq '             10432'&$select=ID,Name HTTP/1.1
Host: start.exactonline.nl
Authorization: Bearer eyJhbGciOi...
Accept: application/json

Met de ID uit dat antwoord filtert de volgende aanroep ReceivablesList op AccountId. Claude hoeft het formaat van het debiteurnummer niet te kennen; dat zit in de code van de tool.

Kan Claude ook schrijven in Exact Online?

Ja. SalesOrders neemt een POST aan met de verplichte velden OrderedBy (de GUID van de klant) en SalesOrderLines, waarin elke regel een Item als GUID heeft. Een afgeronde verkooporder kan via de API niet meer worden gewijzigd. Een negatief aantal op een orderregel is bij Exact een inruilregel, geen retour.

Schrijven wordt op drie plekken begrensd, van zwak naar sterk:

  1. De annotatie op de tool. readOnlyHint en destructiveHint vertellen Claude wat een tool doet. De MCP-specificatie noemt dat een hint die een client niet hoeft te vertrouwen.
  2. De instelling in Claude. Per tool kies je "Always allow", "Needs approval" of "Blocked". Bij Team en Enterprise legt de Owner dat vast voor de organisatie.
  3. De scope in Exact. Een scope beperkt volgens Exact wat een app namens de gebruiker mag, per domein met alleen lezen of ook schrijven. De gebruiker ziet die scopes in het toestemmingsscherm van Exact.

De MCP-server logt elke aanroep met gebruiker, tool, parameters en het antwoord van Exact. Achteraf staat vast wie welke order heeft aangemaakt en met welke regels.

Hoeveel vragen passen er in de limieten?

Exact telt 60 calls per minuut en 5.000 per dag, per app en per administratie. De MCP-server is een eigen app, dus de koppeling met je webshop houdt haar eigen budget. Claude stelt daar twee grenzen naast: een toolresultaat van ongeveer 150.000 tekens en 240 seconden per aanroep. De volledige uitleg van de limieten van Exact staat in Exact Online API limieten.

Een rekenvoorbeeld voor een bedrijf met 8 gebruikers die elk 30 vragen per werkdag stellen, met gemiddeld 3 GET per vraag:

  • 8 × 30 × 3 = 720 calls per dag. Dat is 14,4 procent van 5.000.
  • De vraag "omzet per klant in september" op ruwe factuurregels: 3.000 regels uit SalesInvoiceLines bij 60 regels per pagina is 50 calls. Twee van die vragen in dezelfde minuut zijn 100 calls; de laatste 40 krijgen HTTP 429.
  • Dezelfde 3.000 regels van gemiddeld 200 tekens zijn 600.000 tekens: vier keer wat er in één toolresultaat past.
  • ReportingBalance met een filter op ReportingYear en ReportingPeriod geeft de periodetotalen per grootboekrekening. Bij 40 omzetrekeningen is dat één pagina van 60 en dus één call.

De tool rekent dus in de MCP-server en geeft Claude het resultaat, niet de regels. Telt hij wel per regel, dan passen er 5.000 / 50 = 100 van zulke vragen in een dag, voor alle gebruikers samen. Een tool die steeds een ongeldig filter stuurt, raakt na 10 fouten in een uur dat endpoint kwijt voor die gebruiker. De MCP-server vangt een 400 daarom zelf af en stuurt dezelfde fout niet opnieuw. Meer over dit soort grenzen staat in wat is een rate limit.

Wat betekent dit voor je koppeling?

Een koppeling tussen Exact Online en Claude gebruikt dezelfde REST API, dezelfde OAuth-tokens en dezelfde limieten als de koppeling tussen Exact en je webshop. Wij bouwen de MCP-server op de endpoints die bij jouw vragen horen, met de rekensommen in code, en hosten en bewaken hem daarna. Verandert Exact een endpoint of Anthropic het protocol, dan passen wij de server aan.

In het dashboard staat per aanroep welke gebruiker welke tool gebruikte en wat Exact teruggaf. Wat we verder met Exact koppelen staat op Exact Online koppelen aan je webshop; dezelfde opbouw voor AFAS staat in AFAS koppelen met Claude. Vertel welke vragen je aan Exact wilt stellen, dan hoor je welke endpoints en scopes daarvoor nodig zijn.

Veelgestelde vragen

Heeft Exact Online een eigen koppeling met Claude?

Nee. In de kennisbank van Exact Online staat op 3 oktober 2026 geen artikel over MCP, Claude of ChatGPT. Exact heeft wel eigen AI-agents binnen het pakket, zoals de Financial Agent en de Excel Agent. Een koppeling met Claude wordt gebouwd op de REST API, met een eigen app-registratie.

Kan Claude orders of boekingen aanmaken in Exact Online?

Technisch wel: SalesOrders neemt een POST aan met OrderedBy en minstens één regel in SalesOrderLines. Of het mag, leg je op drie plekken vast: de scope van de app in Exact (alleen lezen of ook schrijven), de instelling van de tool in Claude ("Needs approval" of "Blocked") en de tools die de MCP-server aanbiedt.

Telt Claude mee voor de API-limieten van mijn webshopkoppeling?

Nee, zolang de MCP-server een eigen app-registratie heeft. Exact telt 60 calls per minuut en 5.000 per dag per app en per administratie. Alle Claude-gebruikers van dezelfde administratie delen wel het budget van die ene app.

Moet ik elke maand opnieuw inloggen bij Exact?

Alleen als de app 30 dagen niet wordt gebruikt. Een refresh token van Exact is 30 dagen geldig en elke vernieuwing levert een nieuw refresh token op. Wordt de MCP-server dagelijks gebruikt, dan blijft de verbinding staan zonder nieuwe login.

Welk abonnement van Claude heb ik nodig?

Een eigen connector via MCP werkt volgens Anthropic op Free, Pro, Max, Team en Enterprise. Free is beperkt tot één eigen connector. Bij Team en Enterprise voegt een Owner de connector toe voor de hele organisatie en legt hij per tool vast wat is toegestaan.

Ziet Claude alle administraties in Exact?

Nee. In het toestemmingsscherm van Exact kiest de gebruiker welke administraties de app mag lezen. Een aanroep op een administratie buiten die keuze geeft de fout "User division is not within division scope". Daarnaast ziet de app nooit meer dan de gebruiker die toestemming gaf.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com