AFAS en HubSpot Koppelen: Wat Het Echt Kost en Duurt | DenkBot
Koppelingen · AFAS + HubSpot

AFAS en HubSpot koppelen

Je verkoop zit in HubSpot, je administratie en vaak ook je HR in AFAS, en daartussen zit iemand die gegevens overtypt. De koppeling is technisch goed te doen. Wat het project bepaalt is iets anders: hoe snel je AFAS-kant ingericht is, en welke objecten je bewust níét koppelt.

Vertrouwd door

AVISDe Flexibele AmbtenaarVolt4UMEC muziek
Direct antwoord

Kun je AFAS en HubSpot koppelen?

Ja. En er is zelfs een markt van partijen die het als product verkopen — al vertelt de manier waarop ze het verkopen je iets.

Toen we het in september 2026 nakeken, vonden we meerdere Nederlandse partijen die een AFAS-HubSpot-koppeling aanbieden — onder meer KoppelHet, Simplex Connect, improvit en Datalead. Ze regelen doorgaans ook het inrichten van de connectoren aan de AFAS-kant, wat een reëel deel van het werk uit handen neemt.

Twee dingen vallen daarbij op. Geen van die koppelingen wordt gebouwd of onderhouden door AFAS of HubSpot zelf, en geen van die partijen publiceert een prijs. Dat tweede is geen verkooptruc maar een eerlijk signaal. Bij Exact Online staan de prijzen wél gewoon op de site, omdat de inrichting van Exact tussen bedrijven weinig verschilt. Bij AFAS verschilt vrijwel alles: welke onderdelen je afneemt, hoe je organisaties en personen hebt ingericht, welke velden je zelf hebt toegevoegd. Een vaste prijs zou daar niet kloppen.

Praktisch betekent dat het volgende. De vraag is hier niet, zoals bij veel andere combinaties, of je moet kopen of bouwen — in beide gevallen krijg je een traject met een intake. De vraag is welke stromen je in dat traject stopt. Hoe kleiner die lijst, hoe sneller je live bent en hoe minder er kapot kan. Daarom begint deze pagina niet bij wat er kan, maar bij wat je moet weglaten.

Wat AFAS verder aan automatisering aankan lees je op onze AFAS-pagina, en wat je in HubSpot zelf kunt automatiseren staat op de HubSpot-pagina. Andere combinaties staan in het koppelingenoverzicht.

Objecten

Wat je koppelt — en wat je met opzet weglaat

AFAS kan veel meer dan je nodig hebt. De helft van een goed koppelingsontwerp bestaat uit nee zeggen.

Organisaties

Koppelen

De AFAS-organisatie en de HubSpot-company zijn hetzelfde bedrijf. Dit is de basis: zonder een betrouwbare match op bedrijfsniveau heeft geen enkele andere stroom zin.

Kies één harde sleutel en zet die aan beide kanten vast — meestal het AFAS-organisatie- of debiteurnummer als eigen property in HubSpot. Matchen op naam of domeinnaam werkt in de demo en niet in productie.

Personen

Koppelen

Contactpersonen horen bij de organisatie waar ze werken. In HubSpot is dat een contact met een e-mailadres als sleutel, in AFAS een persoon met daarnaast een rol bij een organisatie.

Dat modelverschil kost je de meeste tijd. Eén persoon kan in AFAS bij drie organisaties een rol hebben; in HubSpot is dat één contact aan drie companies. Bepaal vooraf welke rol leidend is voor de sync.

Verkoopkansen

Koppelen, op één fase

De hoofdstroom: een deal die gewonnen wordt, landt in AFAS als verkooporder, inclusief de regels. Dat scheelt overtypen en het scheelt fouten in de facturatie.

Laat één dealfase de koppeling triggeren, niet elke fasewijziging. En kies een fase die pas ingaat als het écht zeker is: een deal terugslepen haalt geen order uit je administratie.

Facturen

Alleen de status terug

Een factuur is geen gegeven dat je synchroniseert maar een boekhoudkundig feit met een doorlopende nummerreeks. Die ontstaat in AFAS en nergens anders.

Wat wel zinvol is: factuurnummer, vervaldatum, betaald ja/nee en het openstaand saldo terug naar HubSpot. Puur lezen, goedkoop te bouwen, en het meest gebruikte stuk van de hele koppeling.

HR, verlof en salaris

Niet koppelen

AFAS is bij veel bedrijven ook het HR-systeem, en connectoren voor medewerkers en verzuim bestaan. Dat is precies waarom deze regel expliciet moet zijn.

Salaris- en verzuimgegevens zijn persoonsgegevens waarvoor je in een verkoopsysteem geen grondslag hebt; verzuim is zelfs een bijzonder persoonsgegeven. Ze horen niet in een CRM waar het hele verkoopteam bij kan.

Voorraad en projecturen

Meestal niet

De vraag "kan verkoop de voorraad zien" komt vaak, en het antwoord is bijna nooit een synchronisatie. Voorraad verandert per minuut; een gekopieerd getal in HubSpot is per definitie verouderd.

Los dit op met een leesactie op het moment dat iemand kijkt, of met een rapportage naast beide systemen. Niet met een sync die elk kwartier duizenden records overzet om drie keer per week gelezen te worden.

De regel achter deze zes: koppel gegevens waarvan één systeem de eigenaar is en het andere de lezer. Zodra beide systemen iets mogen wijzigen, of zodra je iets kopieert dat per uur verandert, ben je geen koppeling meer aan het bouwen maar een tweede administratie.

De AFAS-kant

Een connector is geen endpoint, maar een inrichting

Dit is het stuk dat je doorlooptijd bepaalt, en het staat in geen enkele offerte.

Abstracte weergave van een dicht raster waarin een paar precies uitgesneden openingen licht doorlaten naar een open veld

AFAS Profit benader je van buitenaf via twee soorten connectoren, en het loont om te begrijpen wat die precies zijn — want daar zit het verschil met bijna elke andere koppeling die je ooit hebt laten bouwen.

Een GetConnector leest gegevens, maar hij is geen kant-en-klaar endpoint dat op je staat te wachten. Het is een overzicht dat iemand in jouw AFAS-omgeving samenstelt: welke velden erin zitten, welke filters erop staan, welke gebruiker hem mag opvragen. Staat een veld niet in dat overzicht, dan bestaat het voor de koppeling niet — ook al zie je het gewoon in je scherm.

Een UpdateConnector schrijft gegevens weg en werkt met vaste berichttypen per soort mutatie: één voor een organisatie, één voor een contactpersoon, één voor een verkooporder. Je stuurt een bericht dat aan dat type voldoet en AFAS voert de mutatie uit. Ook hier geldt: wat niet in het berichttype past, gaat er niet in.

Het gevolg voor je planning is groter dan het klinkt. De bouw duurt dagen, het wachten op de AFAS-inrichting duurt weken. Wie in jouw omgeving connectoren mag aanmaken en autoriseren, is vaak een AFAS-beheerder met een volle agenda of een externe consultant met een uurtarief. Zet die persoon dus vóór de bouwer in de planning en vraag meteen om de volledige lijst benodigde connectoren, niet om ze één voor één.

Aan licenties komt er weinig bij: de connectoren zitten in Profit zelf en er is geen aparte koppellicentie. Wat wel meespeelt is welke Profit-onderdelen je afneemt, want dat bepaalt welke gegevens er überhaupt zijn — een verkooporder wegschrijven lukt alleen als je die functionaliteit hebt.

Zet dit in je agenda

AFAS stapt over op OAuth 2.1 voor eigen app connectoren. Koppelingen die nog op een classic token draaien, moeten vóór 31 augustus 2027 zijn omgezet. Het verschil is wezenlijk: een classic token was jarenlang geldig, een OAuth access token één uur. Bouw je nu iets nieuws, doe het dan meteen op OAuth — en vraag bij een bestaande of gekochte koppeling na waarop die authenticeert.

Nog een eigenaardigheid die je ontwerp stuurt: AFAS heeft sinds Profit 8 webhooks, maar alleen op dossieritems en workflows — niet op organisaties, personen of verkooporders. Voor precies de objecten die je in een HubSpot-koppeling nodig hebt, moet je dus periodiek opvragen wat er gewijzigd is. Dat kan netjes: in vrijwel elke GetConnector kun je de velden "gewijzigd op" en "aangemaakt op" opnemen en daarop filteren, zodat je alleen mutaties ophaalt. Doe dat ook, want een connector die telkens alles ophaalt loopt vast op het formaat: AFAS adviseert het aantal kolommen maal het aantal regels onder de 150.000 te houden, en er staat een harde limiet van vijftien minuten op een verzoek.

Er is nog een derde vraag die we tegenwoordig bijna altijd krijgen als het over AFAS gaat: moeten die gegevens ook bereikbaar zijn voor een AI-assistent die vragen beantwoordt of werk voorbereidt? Dan is een koppeling per systeem per model niet vol te houden. Daar zit een MCP-server tussen: één laag die je systemen één keer ontsluit, met de rechten en de logging op één plek, waarna elke assistent hem kan gebruiken. Dat is iets anders dan deze koppeling en het vervangt hem niet — een vaste stroom van gewonnen deal naar verkooporder bouw je gewoon als koppeling.

De belangrijkste keuze

Waarom tweerichting drie keer zo duur uitpakt

De factor zit niet in het schrijven. Die zit in het onderscheiden van een echte wijziging en je eigen wijziging.

Eenrichting met AFAS leidend is het uitgangspunt: AFAS is bij de meeste bedrijven het systeem waar de administratie, de facturatie en vaak ook de HR in staat, en dus het systeem waar de harde feiten vandaan komen. HubSpot is de plek waar het verkoopproces gebeurt. Financiële velden, debiteurnummers en btw-nummers lopen dus van AFAS naar HubSpot; contactgegevens en gewonnen deals lopen de andere kant op.

Merk op dat dat al twee richtingen zijn. Dat is prima, en dat is niet wat mensen bedoelen met tweerichting. Dit is per veld eenrichting: elk veld heeft precies één eigenaar, en daarmee kan een conflict simpelweg niet bestaan. Dit is het model dat je wilt, en voor negen van de tien bedrijven is het genoeg.

Echte tweerichting betekent dat hetzelfde veld aan beide kanten bewerkbaar is. Reken dan op ongeveer drie keer zoveel werk, en het is de moeite waard om te weten waar dat in gaat zitten — want het is niet de tweede schrijfrichting.

Er moet een conflictregel per veld komen. Wie wint als een adres in beide systemen op dezelfde dag is gewijzigd? "De laatste wijziging" klinkt redelijk tot het moment waarop een import van vorige week bovenop een handmatige correctie van gisteren belandt.

Je moet je eigen echo onderdrukken. Dit is de dure post. Omdat AFAS geen webhooks op deze objecten heeft, kijk je periodiek welke records gewijzigd zijn. Maar je eigen koppeling wijzigt records, dus die komen bij de volgende ronde terug als "gewijzigd" — en worden weer teruggeschreven naar HubSpot, dat ze weer als wijziging aanbiedt. Je moet dus per record onthouden wat je zelf geschreven hebt en wanneer, en dat vergelijken voordat je iets doorzet.

En je hebt twee herstelpaden nodig. Ligt de koppeling een dag stil, dan moet je aan beide kanten kunnen bepalen wat je gemist hebt en in welke volgorde je dat inhaalt. Bij eenrichting is dat één vraag, bij tweerichting twee die elkaar beïnvloeden.

Vraag jezelf dus eerst af of er echt twee teams zijn die structureel in verschillende systemen hetzelfde onderhouden. Meestal is het antwoord nee, en is het echte probleem dat niemand ooit heeft opgeschreven wie eigenaar is van welk veld.

Routes

Kopen, knopen of bouwen

Alle drie zijn verdedigbaar. Wat ze gemeen hebben is dat je AFAS-beheerder er hoe dan ook aan te pas komt.

Route 01

Een kant-en-klare connector

Er is een Nederlandse markt voor: partijen als KoppelHet, Simplex Connect, improvit en Datalead bieden een AFAS-HubSpot-koppeling als product aan. Ze regelen doorgaans ook het aanmaken van de Get- en UpdateConnectors in jouw omgeving.

Je koopt hun veldenmodel. Vraag vóór het tekenen om de veldenlijst, en om wat er gebeurt als jouw AFAS-inrichting afwijkt — want dat doet ze.

Route 02

Zelf bouwen in n8n of Make

HubSpot heeft in beide platforms een volwaardige node met triggers op nieuwe en gewijzigde records. AFAS heeft geen officiële node, maar de HTTP-node praat prima met de Profit REST-services. Voor één afgebakende stroom is dit de snelste en goedkoopste route.

Je krijgt geen foutwachtrij en geen herstelactie cadeau. Bij honderden mutaties per dag, of als een gemiste melding pas na een week opvalt, loop je hier tegenaan.

Route 03

Maatwerk op beide API's

Een eigen koppeling met een eigen koppeltabel, een foutwachtrij die je kunt inzien en een herstelactie die een periode opnieuw draait. Nodig bij meerdere administraties, eigen logica rond artikelen en grootboek, of als de koppeling deel is van een groter geheel.

Het duurste antwoord, en het enige waarin je afwijkende gevallen oplost in plaats van eromheen werkt.

Omdat geen van de kant-en-klare partijen een prijs publiceert, is vergelijken lastiger dan bij andere combinaties. Vier vragen halen het meeste boven tafel, en ze zijn allemaal in één gesprek te stellen.

Welke velden precies? Niet "relatiegegevens", maar de lijst. Gaat het debiteurnummer mee? Het btw-nummer? Het eigen veld dat jullie tien jaar geleden hebben toegevoegd en waar de halve administratie op draait?

Wie richt de connectoren in? Sommige partijen doen dit volledig; andere sturen je een lijst en verwijzen naar je eigen AFAS-partner. Dat scheelt in doorlooptijd en het scheelt in de rekening die je niet van hen krijgt.

Wat gebeurt er bij een fout? Stopt de koppeling, of slaat hij de regel over en gaat hij door? Krijgt iemand een melding, of staat het in een log dat niemand leest? Kun je een mislukte mutatie opnieuw aanbieden?

Waarop authenticeert hij? Classic token of OAuth. Gezien de datum in 2027 is dit geen technisch detail meer maar een vraag over de levensduur van wat je koopt.

Wil je zelf knopen: hoe ver n8n komt en waar het ophoudt staat op die pagina. Gaat het uiteindelijk om maatwerk, dan lees je op maatwerkkoppelingen hoe wij dat aanpakken.

In de praktijk

Waar het misgaat

Vier dingen die in vrijwel elk AFAS-HubSpot-project terugkomen. Geen ervan is technisch.

01

Dubbele contacten

Niet alleen door info@-adressen, al zijn die de eerste bron. Het echte probleem is het modelverschil: HubSpot dedupliceert op e-mailadres, AFAS kent een persoon los van de rollen die hij vervult. Iemand die van werkgever wisselt, verhuist in HubSpot en blijft in AFAS gewoon bij de oude organisatie staan.

02

Btw-nummers

In HubSpot is dit een vrij tekstveld waar een verkoper iets in typt. In AFAS stuurt het je facturatie, je aangifte en bij buitenlandse klanten de verleggingsregeling. Laat dit veld dus één kant op lopen — van AFAS naar HubSpot — en valideer het bij het invoeren in plaats van bij het wegschrijven.

03

Dealstatus die uit de pas loopt

Een deal en een verkooporder hebben verschillende levens. De deal is gesloten zodra er getekend is; de order loopt daarna nog maanden door met deelleveringen en meerwerk. Wie de dealfase aan de orderstatus knoopt, krijgt een pijplijn die niet meer klopt.

04

De eerste vulling

Nieuwe mutaties verwerken is overzichtelijk werk. Achtduizend bestaande AFAS-organisaties eenmalig matchen aan vijfduizend HubSpot-companies is dat niet — daar komt de vervuiling van tien jaar administratie boven water. Doe die vulling als apart project, vóór je bepaalt hoeveel uitzonderingen de koppeling moet aankunnen.

De gemene deler: dit zijn allemaal afspraken, geen technische problemen. Ze moeten even goed gemaakt worden als je een kant-en-klare connector koopt — het verschil is alleen dat je het bij maatwerk merkt tijdens de bouw, en bij een connector pas als je live bent.

Kosten

Wat kost het?

In ordes van grootte, want een exact bedrag zou hier niet eerlijk zijn.

Zelf knopen in n8n. Voor één stroom in één richting — gewonnen deal wordt organisatie plus verkooporder — is dit het goedkoopst: enkele dagen bouwen plus hosting van een tientje tot een paar tientjes per maand, ongeacht het aantal mutaties. De echte kosten zitten daarna in het bijhouden, en in het feit dat er iemand moet zijn die het kan.

Een kant-en-klare connector. Een vast bedrag per maand, dat je pas na een gesprek hoort. Reken erop dat er een eenmalige inrichting bovenop komt, en vraag expliciet of het aanmaken van de Get- en UpdateConnectors in jouw omgeving daarin zit. Voor een standaardstroom is dit vaak het verstandigste antwoord.

Maatwerk. Bouwen wij een koppeling, dan zit dat in een traject van €500 tot €2.500 per maand, inclusief beheer en doorontwikkeling. Dat is een veelvoud van een connector en we doen niet alsof dat anders ligt. Je krijgt er een koppeling voor die jouw uitzonderingen kent, een foutwachtrij die je kunt inzien en iemand die hem bijhoudt als een van beide kanten verandert — en dat is de moeite waard als deze koppeling onderdeel is van een groter geheel, zelden als hij op zichzelf staat.

In alle drie de gevallen komt er een post bij die zelden in de offerte staat: de uren van je AFAS-beheerder of externe AFAS-consultant. Die richt de connectoren in, autoriseert ze en denkt mee over de veldenlijst. Vraag dat bedrag vooraf op, want het is geen bijzaak en het bepaalt vooral je startdatum.

Hoe onze prijsopbouw werkt lees je op wat kost een AI-medewerker. Weet je nog niet welke route past? Plan 30 minuten met een bouwer — als een bestaande connector volstaat, zeggen we dat gewoon.

FAQ

Veelgestelde vragen

De vragen die we het vaakst krijgen over AFAS en HubSpot.

Kun je AFAS en HubSpot koppelen?

Ja. Beide systemen hebben een volwaardige API, en er is bovendien een Nederlandse markt van partijen die de koppeling als product verkopen — onder meer KoppelHet, Simplex Connect, improvit en Datalead. Er is geen koppeling die door AFAS of HubSpot zelf gebouwd en onderhouden wordt: alles wat je koopt komt van een derde partij. Opvallend is dat geen van die partijen in september 2026 een prijs op de website zet. Dat is geen marketingtruc maar een eerlijk signaal: het is projectwerk, omdat elke AFAS-inrichting anders is.

Wat zijn GetConnectors en UpdateConnectors?

Het zijn de twee manieren waarop je AFAS Profit van buitenaf benadert. Een GetConnector leest gegevens: het is geen kant-en-klaar endpoint, maar een overzicht dat iemand in jouw AFAS-omgeving samenstelt — welke velden, welke filters. Staat een veld niet in dat overzicht, dan bestaat het voor de koppeling niet. Een UpdateConnector schrijft gegevens weg en werkt met vaste berichttypen per soort mutatie, bijvoorbeeld voor een organisatie, een contactpersoon of een verkooporder. Je kunt daar geen veld in kwijt dat niet in het berichttype zit.

Hoe lang duurt zo'n koppeling?

De bouw duurt dagen; het wachten duurt weken. Dat komt doordat elke GetConnector en elke autorisatie in AFAS zelf ingericht moet worden, en dat doet vaak een AFAS-consultant met een eigen agenda en een eigen uurtarief. Zet die persoon dus vóór de bouwer in de planning en vraag meteen om de volledige lijst benodigde connectoren. Wij leveren die lijst aan het begin aan, juist omdat dit de kritieke stap is.

Heb ik een extra AFAS-licentie nodig?

Voor de API zelf niet: connectoren zitten in Profit en je koopt geen aparte koppellicentie. Wat wel meespeelt is welke Profit-onderdelen je afneemt, want dat bepaalt welke gegevens er überhaupt zijn — een verkooporder wegschrijven kan alleen als je de bijbehorende functionaliteit hebt. Aan de HubSpot-kant zit de API in je abonnement, maar bepaalt datzelfde abonnement je rate limits.

Moet de koppeling twee kanten op?

Zelden. Wat mensen tweerichting noemen is in de praktijk per veld eenrichting: contactgegevens van HubSpot naar AFAS, financiële velden van AFAS naar HubSpot. Elk veld heeft dan één eigenaar en een conflict kan niet ontstaan. Echte tweerichting op hetzelfde veld kost ongeveer drie keer zoveel, en die factor zit niet in het schrijven maar in het onderscheiden van een echte wijziging en je eigen wijziging die je terugziet.

Wat kost een AFAS-HubSpot koppeling?

Reken op drie ordes van grootte. Een eigen flow in n8n voor één stroom in één richting is het goedkoopst: enkele dagen bouwen plus hosting, en daarna vooral het bijhouden. Een kant-en-klare connector kost een vast bedrag per maand, maar de prijs krijg je pas na een gesprek en bijna altijd komt daar inrichting bovenop. Bouwen wij een koppeling, dan zit dat in een traject van €500 tot €2.500 per maand inclusief beheer en doorontwikkeling. In alle drie de gevallen komt de inzet van je AFAS-beheerder of -consultant er apart bij; dat is de post die het vaakst vergeten wordt.

Wat verandert er aan de beveiliging in 2027?

AFAS stapt over op OAuth 2.1 voor eigen app connectoren. Bestaande koppelingen op een classic token moeten vóór 31 augustus 2027 zijn omgezet. Het verschil is groot: een classic token was jarenlang geldig, een OAuth access token één uur. Bouw je nu iets nieuws, doe het dan meteen op OAuth. Heb je al koppelingen draaien, vraag dan per koppeling na waarop hij authenticeert — ook bij de leverancier van een kant-en-klare connector.

Draai je Exact Online in plaats van AFAS? Die combinatie ligt anders — daar bestaan wél koppelingen met een prijs op de site; lees hoe dat zit. Zoek je een andere combinatie, kijk dan in het koppelingenoverzicht.

Benieuwd wat een agent voor jouw team kan doen?

Leg je proces voor aan degene die het straks bouwt. In 30 minuten weet je of het kan, wat het kost en wat het oplevert — geen salespitch.

Plan 30 minuten met een bouwer
Binnen 24 uur reactie
Geen verplichtingen
Direct met een bouwer
Agent · actief

Wat een agent kan oppakken

Beantwoordt support-ticketsLive
Plant afspraken in agendaLive
Verwerkt inkomende facturenLive
Schrijft offertes uit briefingLive
Haalt data uit je CRMLive
+ onbeperkt taken op maat
Werkt 24/7 mee
Raphael Cornelis

Liever direct sparren?

Raphael Cornelis · meestal binnen het uur reactie