HubSpot Koppelen aan AFAS en je Administratie | DenkBot
Integraties · HubSpot

AFAS aan HubSpot koppelen: wat er echt bij komt kijken

Je verkoop zit in HubSpot, je administratie in AFAS, en daartussen zit iemand die gegevens overtypt. Dat is te koppelen — maar niet met één druk op de knop. Hieronder welke velden je synchroniseert, waar het misgaat en wat het kost.

Vertrouwd door

AVISDe Flexibele AmbtenaarVolt4UMEC muziek
Direct antwoord

Kun je AFAS en HubSpot koppelen?

Ja — maar er bestaat geen kant-en-klare knop, en dat is belangrijker dan het klinkt.

Beide systemen hebben een volwaardige API. AFAS Profit werkt met REST-services waarin GetConnectors gegevens lezen en UpdateConnectors gegevens wegschrijven, afgeschermd via een app-connector met token. HubSpot werkt met private apps waarin je per object bepaalt wat de koppeling mag. Technisch kan alles wat je zou willen.

Wat er níét is: een native AFAS-koppeling in de HubSpot App Marketplace. Je kiest dus altijd zelf een route — een connector van een Nederlandse integratiepartij, een flow in n8n of Make, of maatwerk op beide API's. Welke route past, hangt minder af van je budget dan van hoe afwijkend je AFAS-inrichting is.

En dat is meteen de kern van dit soort projecten. De koppeling zelf is het makkelijke deel. Het werk zit in de afspraken: welk systeem is leidend per veld, wat gebeurt er als iemand aan beide kanten iets wijzigt, en wat doe je met de gevallen die niet eenduidig te matchen zijn. Wie die vragen overslaat, heeft over drie maanden twee systemen die allebei ongelijk hebben.

Velden

Wat je synchroniseert — en waar het misgaat

Vijf groepen velden die in vrijwel elk AFAS-HubSpot project terugkomen, met per groep het probleem dat zich altijd voordoet.

Organisaties en bedrijven

Bedrijfsnaam, adres, KvK-nummer, debiteurnummer, domeinnaam

De AFAS-organisatie en de HubSpot-company zijn hetzelfde bedrijf, maar ze worden op een andere sleutel herkend: HubSpot kijkt naar de domeinnaam, AFAS naar het debiteur- of organisatienummer.

Hier gaat het mis

Een holding en twee werkmaatschappijen delen één domeinnaam. HubSpot ziet één bedrijf, AFAS drie debiteuren. Zonder een expliciete koppelsleutel — meestal het debiteurnummer als eigen veld in HubSpot — belandt de omzet van drie bv's op één record.

Contactpersonen

Naam, e-mailadres, telefoon, functie, gekoppelde organisatie

HubSpot gebruikt het e-mailadres als unieke sleutel voor een contact. AFAS kent een persoon los van de rol die iemand bij een organisatie vervult.

Hier gaat het mis

Twee vormen van dubbelen. Ten eerste info@- en administratie@-adressen: die staan bij tien organisaties in AFAS en worden in HubSpot één contact. Ten tweede iemand die van werkgever wisselt — in HubSpot verhuist het contact, in AFAS blijft de oude rol bestaan.

Deals en orders

Dealnaam, bedrag, dealfase, verwachte sluitdatum, regels

De klassieke flow: een deal die op gewonnen komt te staan, wordt in AFAS een debiteur met een verkooporder. Vaak inclusief de regels, zodat de facturatie niet opnieuw wordt ingetypt.

Hier gaat het mis

Dealfases in HubSpot richt je zelf in en verkopers verslepen kaarten. Zet je de koppeling op "gewonnen", dan ontstaat er een order in AFAS zodra iemand te vroeg klikt. En terugdraaien kan niet: een deal van gewonnen naar verloren slepen haalt geen order uit je administratie.

Financiële velden

Btw-nummer, betaaltermijn, kredietlimiet, openstaand saldo

Deze velden hoor je één kant op te sturen: van AFAS naar HubSpot. Je verkoop mag ze zien — een openstaand saldo op de company-kaart voorkomt dat er verkocht wordt aan een wanbetaler — maar niet wijzigen.

Hier gaat het mis

Btw-nummers. In HubSpot is dat een vrij tekstveld waar een verkoper iets intypt; in AFAS stuurt het je facturatie en je aangifte. Laat je HubSpot leidend zijn op dat veld, dan importeer je typefouten rechtstreeks in je administratie.

Lifecycle stage en klantstatus

Lifecycle stage, lead status, klant ja/nee

Lifecycle stage is een HubSpot-begrip zonder tegenhanger in AFAS. Je leidt hem af: bestaat er een debiteur met minimaal één betaalde factuur, dan is het een klant.

Hier gaat het mis

De afleidingsregel wordt zelden opgeschreven. Een half jaar later weet niemand meer waarom een bedrijf op "klant" staat terwijl er nooit gefactureerd is — en dan gaat het vertrouwen in de koppeling stuk, niet de koppeling zelf.

Merk op dat geen van deze problemen technisch is. Het zijn allemaal afspraken die je vooraf maakt. Daarom begint een koppelproject bij ons met een veldenlijst en niet met code — dezelfde volgorde als bij workflow optimalisatie.

De belangrijkste keuze

Eenrichting of tweerichting?

De vraag die het prijsverschil maakt — en waarop bijna iedereen het verkeerde antwoord geeft.

Abstracte weergave van twee systemen die via een klein aantal precieze verbindingen gegevens uitwisselen

Bij eenrichtingsverkeer is er per veld één bron van waarheid. Het andere systeem volgt. Een conflict kán niet ontstaan, want er is maar één plek waar het veld bewerkt wordt. Dat maakt de koppeling niet alleen goedkoper om te bouwen, maar vooral goedkoper om te bezitten: bij een storing weet je precies welke kant je opnieuw moet draaien.

Tweerichting klinkt als twee keer zoveel werk. In de praktijk is het eerder drie tot vier keer, omdat je vier dingen extra moet bouwen die niemand vooraf begroot. Je moet per veld beslissen wie wint als beide kanten binnen dezelfde minuut zijn gewijzigd. Je moet lussen voorkomen, want een schrijfactie naar HubSpot triggert de webhook die terugschrijft naar AFAS, die weer een melding geeft. Je moet verwijderingen afhandelen: een AVG-verwijderverzoek in HubSpot mag een debiteur met openstaande facturen in AFAS niet raken. En je hebt een reconciliatie nodig — een controle die periodiek beide kanten vergelijkt, want vroeg of laat mist er een melding en dan lopen de systemen stil uit elkaar.

Ons advies is bijna altijd hetzelfde, en het klinkt saaier dan het is: maak het per veld eenrichting, maar niet allemaal dezelfde kant op. Contactgegevens van HubSpot naar AFAS, want daar worden ze bijgehouden. Btw-nummer, betaaltermijn en openstaand saldo van AFAS naar HubSpot, want daar zijn ze gevalideerd. Het voelt als tweerichting — beide systemen worden bijgewerkt — maar elk veld heeft één eigenaar. Negen van de tien koppelingen die als "tweerichting" worden aangevraagd, zijn dit.

Echte tweerichting op hetzelfde veld heb je alleen nodig als twee teams structureel in verschillende systemen dezelfde gegevens onderhouden. Is dat zo, dan is de koppeling meestal niet het echte probleem.

Hoe de koppeling werkt

Drie routes naar een HubSpot-koppeling

Er is geen native AFAS-app in de marketplace, dus je kiest bewust. Dit is wat elke route je kost aan geld, snelheid en vrijheid.

Route 01

Kant-en-klare connector

In de HubSpot App Marketplace zit geen native AFAS-koppeling. Wel bieden Nederlandse integratiepartijen een kant-en-klare connector aan, meestal tegen een vast bedrag per maand. Je bent snel live en hoeft niets te bouwen.

Grens: je koopt hun veldenmodel. Wijkt jouw AFAS-inrichting af — en dat doet vrijwel elke AFAS-inrichting — dan betaal je alsnog voor maatwerk bovenop het abonnement.

Route 02

n8n of Make

HubSpot heeft in beide platforms een ingebouwde node met trigger op nieuwe of gewijzigde records. AFAS praat je aan via de HTTP-node op de Profit REST-services. Voor een afgebakende stroom — gewonnen deal wordt debiteur — is dit de snelste en voordeligste route.

Grens: je krijgt geen foutwachtrij en geen reconciliatie 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 op de AFAS-connectoren en een HubSpot private app. Met een eigen koppeltabel, een foutwachtrij die je kunt inzien, en een herstelactie die een periode opnieuw draait als de sync stil heeft gelegen.

Duurder in de bouw, maar de enige route waarin je afwijkende gevallen zelf oplost in plaats van eromheen werkt. Kies dit bij volume, meerdere systemen of eigen logica.

In de praktijk combineren we routes: n8n als ruggengraat, maatwerk op de plekken waar het model afwijkt. Hoe die platforms zich tot elkaar verhouden lees je op n8n vs Make vs Zapier, en wat er bij een koppeling op maat komt kijken staat op API-koppeling laten bouwen.

Voorbeeldflow

Van gewonnen deal naar debiteur in AFAS

De flow die het vaakst gevraagd wordt, stap voor stap.

01

Deal komt op gewonnen

Een verkoper zet de deal op de laatste fase. HubSpot stuurt een webhook. De flow controleert eerst of de deal compleet is: bedrag, regels, contactpersoon en een btw-nummer als het een zakelijke klant is.

02

Bedrijf opzoeken in AFAS

Via een GetConnector zoekt de flow het bedrijf op — op debiteurnummer als dat al bekend is, anders op KvK-nummer. Geen match op beide, dan is het een nieuwe debiteur.

03

Debiteur en order aanmaken

Een UpdateConnector zet de organisatie, de contactpersoon en de verkooporder met regels in Profit. Het debiteurnummer dat AFAS teruggeeft schrijft de flow terug in HubSpot, zodat de koppeling voortaan hard is.

04

Twijfelgevallen apart

Ontbreekt het btw-nummer, of matcht het KvK-nummer met twee debiteuren, dan gaat de deal niet door maar naar een lijst. Iemand van sales of administratie beslist — dat is beter dan een dubbele debiteur.

Let op stap vier. De verleiding is groot om de koppeling zelf te laten kiezen bij twijfel, omdat dat sneller lijkt. Doe dat niet: een dubbele debiteur kost meer tijd om op te ruimen dan honderd keer handmatig beslissen. Datzelfde principe zit ook achter leadopvolging automatiseren en e-mail naar je CRM automatiseren.

Grenzen

Waar een koppeling tegenaan loopt

Drie dingen die zelden in een offerte staan, maar wel bepalen of het werkt.

Rate limits. Voor HubSpot private apps geldt 100 requests per 10 seconden op Free en Starter, en 190 op Professional en Enterprise. De daglimiet loopt van 250.000 tot 1.000.000, en die daglimiet is gedeeld over alle apps in je account. Een koppeling die bij elke synchronisatie netjes elk record los ophaalt, kan dus integraties platleggen die er al stonden. In de praktijk los je dat op met batch-endpoints en door alleen op te halen wat sinds de vorige ronde gewijzigd is.

De eerste vulling. Een koppeling bouwen voor nieuwe mutaties is overzichtelijk werk. Twintigduizend bestaande contacten en vijfduizend organisaties eenmalig aan elkaar knopen is dat niet — daar komt de vervuiling van tien jaar CRM boven water. Reken die eerste vulling apart en doe hem eerst, want de uitkomst bepaalt hoeveel uitzonderingen je koppeling moet kunnen hebben.

Wat je níét moet koppelen. Niet elk veld hoort in beide systemen. Wil je in HubSpot rapporteren over omzet, dan lijkt het logisch om facturen mee te synchroniseren. Vaak is een dashboard dat rechtstreeks uit AFAS leest goedkoper en actueler dan hetzelfde gegeven in twee systemen bijhouden. Meer daarover op rapportages en dashboards automatiseren.

Kosten

Wat kost een AFAS-HubSpot koppeling?

Eén vast bedrag, inclusief bouw, beheer en doorontwikkeling.

Een koppeling met AI kost bij DenkBot tussen €500 en €2.500, inclusief beheer en doorontwikkeling. Eén stroom in één richting — een gewonnen deal wordt een debiteur met verkooporder — zit in het midden van die bandbreedte. Komen er meerdere objecten bij, of moet er in beide richtingen iets gebeuren, dan zit je aan de bovenkant. Een echte tweerichtingssynchronisatie op meerdere objecten valt erbuiten en prijzen we apart; dan is de conflictafhandeling het project en de koppeling het bijwerk.

Aan licenties komt er weinig bij. De AFAS-app-connector kost je niets extra en de HubSpot API zit in je bestaande abonnement — al bepaalt dat abonnement wel je rate limits. Kies je voor een connector van een integratiepartij, reken dan op een vast bedrag per maand dat doorloopt zolang de koppeling draait. Bij n8n betaal je alleen hosting, ongeacht hoeveel mutaties er langskomen.

Wat er bij ons in de prijs zit, is het bijhouden. API's veranderen, HubSpot schuift dealfases op en je AFAS-inrichting groeit mee — dat lossen wij op zonder meerwerkfacturen. Hoe die prijsopbouw werkt lees je op wat kost een AI-medewerker. Wil je eerst weten of het uit kan? Plan 30 minuten met een bouwer — je krijgt een eerlijk antwoord en een prijsindicatie.

FAQ

Veelgestelde vragen over de HubSpot-koppeling

De antwoorden op de vragen die we het vaakst krijgen. Staat jouw vraag er niet tussen? Stel hem in het gesprek.

Kun je AFAS en HubSpot koppelen?

Ja. Beide systemen hebben een volwaardige API: AFAS Profit werkt met REST-services waarin GetConnectors gegevens lezen en UpdateConnectors gegevens wegschrijven, afgeschermd via een app-connector met token. HubSpot werkt met private apps met scopes per object. Er is geen native AFAS-koppeling in de HubSpot App Marketplace, dus je kiest tussen een connector van een integratiepartij, een flow in n8n of Make, of maatwerk op beide API's.

Wat kost een AFAS-HubSpot koppeling?

Een koppeling met AI kost bij DenkBot tussen €500 en €2.500, inclusief beheer en doorontwikkeling. Eén stroom in één richting — een gewonnen deal wordt een debiteur met verkooporder — zit in het midden van die bandbreedte. Een echte tweerichtingssynchronisatie op meerdere objecten valt erbuiten en prijzen we apart, omdat de conflictafhandeling en het herstelpad het grootste deel van het werk zijn.

Is tweerichtingssynchronisatie nodig?

Meestal niet. Wat mensen tweerichting noemen, is in de praktijk bijna altijd per veld eenrichting: contactgegevens van HubSpot naar AFAS, financiële velden van AFAS naar HubSpot. Dat is aanzienlijk goedkoper en betrouwbaarder, omdat er per veld één bron van waarheid is en een conflict dus niet kan bestaan. Echte tweerichting — hetzelfde veld aan beide kanten bewerkbaar — heb je alleen nodig als twee teams structureel in verschillende systemen hetzelfde onderhouden.

Hoeveel verkeer kan de HubSpot API aan?

Voor private apps geldt op Free en Starter 100 requests per 10 seconden en 250.000 per dag, op Professional 190 per 10 seconden en 625.000 per dag, en op Enterprise 190 per 10 seconden en 1.000.000 per dag. Belangrijk detail: de burst-limiet geldt per app, maar de daglimiet is gedeeld over alle apps in je account. Een koppeling die naïef elk record los ophaalt, kan dus de limiet opsouperen van integraties die er al waren.

Wat moet mijn AFAS-beheerder regelen?

Weinig. Je beheerder maakt een app-connector aan, bepaalt precies welke Get- en UpdateConnectors die mag gebruiken en genereert een token. De koppeling krijgt daarmee nooit meer rechten dan nodig, en je kunt de toegang op elk moment intrekken. Wij leveren de lijst met benodigde connectoren aan.

Wat gebeurt er met dubbele contacten?

Dubbelen ontstaan doordat de systemen op een andere sleutel dedupliceren: HubSpot op e-mailadres en domeinnaam, AFAS op debiteur- en organisatienummer. De oplossing is een eigen koppelveld — het AFAS-nummer als property in HubSpot — zodat de koppeling niet hoeft te raden. Dat veld vullen we bij de eerste synchronisatie, en records die niet eenduidig te matchen zijn belanden op een lijst in plaats van dat de koppeling er zelf een besluit over neemt.

Koppel je HubSpot liever aan een ander pakket? Kijk dan bij alle integraties of lees hoe we CRM-integraties in het algemeen aanpakken.

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