---
title: "AFAS-koppeling laten maken | Coding Agency"
description: "Software koppelen aan AFAS Profit: medewerkers, financiële mutaties, facturen en projecten automatiseren via GetConnectors en UpdateConnectors, met token-authenticatie en doorkoppeling naar je eigen systemen."
url: https://coding.agency/kennisbank/afas-koppeling
source: Coding Agency (https://coding.agency)
language: nl
---

Koppelingen  7 min leestijd  

#  AFAS-koppeling laten maken. 

Software koppelen aan AFAS Profit: medewerkers, financiële mutaties, facturen en projecten automatiseren via GetConnectors en UpdateConnectors, met token-authenticatie en doorkoppeling naar je eigen systemen.

 [ Jasper Koers ](https://coding.agency/over/jasper-koers) · 25 jun. 2026 

 ##  In het kort 

- AFAS Profit ontsluit financiën, HRM, payroll, CRM en projecten via GetConnectors en UpdateConnectors
- Authenticatie gaat met een token (AfasToken in de header), niet met OAuth2
- Een AppConnector bepaalt precies welke connectors een token mag gebruiken — bouw least privilege in
- AFAS kent geen klassieke webhooks; je synchroniseert gepland en pagineert met skip/take
- UpdateConnectors verwerk je idempotent om dubbele boekingen of mutaties te voorkomen

## Waarom koppelen aan AFAS?

Kort antwoord

AFAS Profit is een Nederlands ERP-pakket dat financiën, HRM, payroll, CRM en projecten in één systeem bundelt. Een koppeling met AFAS automatiseert de uitwisseling met je eigen software: je haalt medewerkers, facturen of projecten op via GetConnectors en schrijft mutaties terug via UpdateConnectors — zonder handmatig overtypen, met minder fouten en altijd actuele gegevens.

AFAS Profit is een van de bekendste bedrijfssoftwarepakketten van Nederlandse bodem. Veel MKB-bedrijven en grotere organisaties draaien er hun complete administratie op: boekhouding, salarisverwerking, personeelsdossiers, CRM en projectadministratie. Het is vaak het systeem waar de "waarheid" over je bedrijf in staat.

Zodra je daarnaast eigen software draait — een klantportaal, een planningstool, een webshop of een maatwerkapplicatie — wil je die werelden niet handmatig synchroon houden. Een nieuwe medewerker hoort automatisch in je app te verschijnen. Een factuur uit je eigen ordersysteem hoort als boeking in AFAS te belanden. Een koppeling met AFAS maakt precies dat mogelijk.

## Wat kun je koppelen met de AFAS Profit API?

AFAS ontsluit data via twee soorten endpoints: **GetConnectors** om gegevens op te halen en **UpdateConnectors** om gegevens weg te schrijven. Welke onderdelen je koppelt, hangt af van je situatie. De meest voorkomende:

- **Medewerkers &amp; HRM** — Personeelsgegevens, dienstverbanden, verlof en declaraties synchroniseren met je eigen planning-, urenregistratie- of onboarding-software.
- **Financiële mutaties** — Boekingen, facturen en betalingen wegschrijven naar de financiële administratie, zodat je niets dubbel invoert.
- **Debiteuren &amp; crediteuren** — Relaties en openstaande posten ophalen om bijvoorbeeld een eigen klantportaal of een incassoproces te voeden.
- **Projecten &amp; uren** — Projecten, taken en geboekte uren koppelen voor een sluitende project- en factuuradministratie.
- **Artikelen &amp; orders** — Artikelgegevens en verkooporders uitwisselen tussen je webshop of ordersysteem en Profit.

Een GetConnector is in feite een vooraf gedefinieerde dataset: de AFAS-beheerder of -consultant bepaalt in Profit welke velden en filters erin zitten. Je koppeling kan daarom precies lezen wat in die GetConnector is opgenomen — niet meer en niet minder. Goede afstemming vooraf over welke velden je nodig hebt, voorkomt later veel correctiewerk.

## Authenticatie: een token in plaats van OAuth2

Veel koppelingen met een CRM of boekhoudpakket werken met OAuth2. AFAS doet dat anders. De Profit REST API gebruikt **token-authenticatie**: je maakt in Profit een **AppConnector** aan, genereert daarbij een token, en stuurt dat token mee in de `Authorization`-header van elke aanvraag — als base64-waarde, voorafgegaan door `AfasToken` ([AFAS Help Center — REST API voor ontwikkelaars](https://help.afas.nl/help/NL/SE/App_Cnr_Rest_Api.htm)).

Het belangrijke detail zit in de AppConnector zelf: daar leg je vast *welke* GetConnectors en UpdateConnectors een token mag gebruiken. Daarmee kun je het principe van least privilege netjes toepassen — een koppeling die alleen medewerkers hoeft te lezen, krijgt geen toegang tot financiële mutaties. Het token hoort veilig in een environment-variabele of secrets manager te staan, nooit in je broncode.

> Een token dat alles mag, is een risico dat je vanaf dag één kunt vermijden. Geef een koppeling precies de connectors die ze nodig heeft, en niets meer.

## Geen webhooks: synchroniseren met GetConnectors

Een belangrijk verschil met veel andere koppelingen: AFAS biedt geen klassieke uitgaande webhooks. Waar een CRM als [Exact Online](https://coding.agency/kennisbank/exact-online-koppeling) of een betaalprovider je actief een seintje stuurt zodra er iets verandert, haal je bij AFAS gegevens op door de GetConnector te bevragen.

Dat betekent dat een AFAS-koppeling doorgaans werkt met **geplande synchronisaties**: met een vast interval (bijvoorbeeld elk kwartier of elke nacht) haal je de relevante datasets op. Twee dingen zijn daarbij essentieel:

- **Pagineren met skip/take** — Grote datasets haal je niet in één keer op. De API werkt met `skip` en `take` om in blokken door de data te lopen, zodat je geen records mist en de boel niet vastloopt op limieten.
- **Alleen wijzigingen ophalen** — In plaats van elke keer alles op te halen, filter je waar mogelijk op een wijzigingsdatum. Dat scheelt belasting en houdt de synchronisatie snel, ook als de dataset groeit.

## Terugschrijven met UpdateConnectors

Gegevens wegschrijven naar AFAS gaat via UpdateConnectors. Je stuurt een bericht met de gegevens en de actie — toevoegen, wijzigen of verwijderen — en AFAS verwerkt dat in de administratie. Denk aan een factuur die in je eigen ordersysteem ontstaat en als boeking in Profit moet belanden.

Net als bij elke schrijfende koppeling is **idempotentie** hier cruciaal. Als een aanvraag mislukt of een time-out geeft, wil je hem opnieuw kunnen sturen zonder dat dezelfde factuur twee keer wordt geboekt. Dat los je op door per bericht een unieke sleutel bij te houden en te controleren of een mutatie al verwerkt is. Hoe je dat netjes opzet, lees je in ons artikel over [idempotentie](https://coding.agency/kennisbank/idempotency).

## Veelgemaakte fouten bij AFAS-koppelingen

Op basis van de ERP- en administratiekoppelingen die we bouwen, zijn dit de valkuilen die we het vaakst tegenkomen:

- **GetConnectors die niet kloppen** — De koppeling kan alleen lezen wat in de GetConnector is gedefinieerd. Ontbreekt een veld of filter, dan loopt je integratie vast op data die er simpelweg niet is. Stem dit vooraf af met de AFAS-beheerder.
- **Een token met te veel rechten** — Geef een AppConnector niet standaard toegang tot alles. Beperk de connectors tot wat de koppeling echt nodig heeft.
- **Te vaak of te zwaar pollen** — Zonder skip/take en zonder filter op wijzigingen haal je telkens onnodig veel data op. Dat is traag en belast je AFAS-omgeving.
- **Niet idempotent terugschrijven** — Een opnieuw verstuurde UpdateConnector-aanvraag leidt dan tot dubbele boekingen of mutaties.
- **Test- en productieomgeving door elkaar** — Werk met een aparte testomgeving en eigen tokens, zodat je nooit per ongeluk in de echte administratie schrijft tijdens het ontwikkelen.

## Mijn kijk op AFAS in maatwerk

AFAS is een krachtig, breed pakket — en juist die breedte maakt een koppeling interessant én gevoelig. Omdat zoveel verschillende processen in één systeem samenkomen, heeft een fout in de koppeling al snel impact op meerdere afdelingen tegelijk. Een verkeerd geboekte factuur of een dubbel aangemaakte medewerker is geen klein detail.

Wat ik bedrijven meegeef: behandel de GetConnectors als een gezamenlijk ontwerp tussen jouw kant en de AFAS-beheerder. De koppeling is technisch zelden het ingewikkeldste; het afstemmen van welke data je precies uitwisselt, in welke richting en wie leidend is, dáár zit het echte werk. Een halve dag samen aan tafel bespaart later weken aan correcties.

En omdat AFAS geen webhooks heeft, vraagt het wat extra denkwerk om de synchronisatie soepel en actueel te houden. Maar mits doordacht opgezet — met nette paginering, slimme filters en idempotent terugschrijven — draait een AFAS-koppeling jarenlang stabiel op de achtergrond.

> — Jasper

## Zo helpt Coding Agency hierbij

Wij bouwen koppelingen met AFAS Profit die meer doen dan data heen en weer schuiven: met veilige token-authenticatie volgens least privilege, nette paginering, slimme synchronisatie en [idempotent](https://coding.agency/kennisbank/idempotency) terugschrijven. We denken mee over welke GetConnectors je nodig hebt en hoe je AFAS verbindt met je eigen software, zodat je administratie en je processen één geheel worden. Waarom dat verbinden zo veel oplevert, lees je in ons artikel over [waarom systemen koppelen](https://coding.agency/kennisbank/waarom-systemen-koppelen).

Benieuwd hoe een AFAS-koppeling er voor jouw situatie uitziet? Neem [contact](https://coding.agency/contact) op voor een vrijblijvend gesprek.

Bron: [AFAS Help Center — REST API voor ontwikkelaars (help.afas.nl)](https://help.afas.nl/help/NL/SE/App_Cnr_Rest_Api.htm).

##  Veelgestelde vragen 

 Nee. De AFAS Profit REST API gebruikt token-authenticatie. Je maakt in Profit een AppConnector aan, genereert daar een token bij en stuurt dat als AfasToken mee in de header van elke aanvraag. Het token bepaalt precies welke GetConnectors en UpdateConnectors de koppeling mag gebruiken. 

 Een GetConnector haalt gegevens op uit AFAS, bijvoorbeeld een lijst medewerkers of facturen. Een UpdateConnector schrijft gegevens weg: toevoegen, wijzigen of verwijderen. Een koppeling combineert vaak beide: ophalen wat je nodig hebt en terugschrijven wat in je eigen systeem ontstaat. 

 AFAS biedt geen klassieke uitgaande webhooks zoals veel SaaS-platforms. Gegevens haal je op door GetConnectors te bevragen. Een koppeling werkt daarom doorgaans met geplande synchronisaties, waarbij je met skip/take door grote datasets pagineert en alleen wijzigingen ophaalt. 

 Dat doet de AFAS-beheerder of -consultant in Profit. Een GetConnector is in feite een vooraf gedefinieerde dataset met de juiste velden en filters. De koppeling kan alleen lezen wat in die GetConnector is gedefinieerd, dus goede afstemming vooraf bespaart later veel correctiewerk. 

 Gerelateerde expertise — API &amp; Koppelingen **API-koppeling laten maken?** Wij bouwen betrouwbare integraties met monitoring, retry-logica en vaste prijs per koppeling. Vanaf € 1.000.

 [ Bekijk onze aanpak ](https://coding.agency/expertises/api-koppeling-laten-maken) [ Gratis prijsindicatie ](https://coding.agency/prijsindicatie) 

 Onderwerpen [AFAS](https://coding.agency/kennisbank?q=AFAS) [ERP](https://coding.agency/kennisbank?q=ERP) [HRM](https://coding.agency/kennisbank?q=HRM) [API](https://coding.agency/kennisbank?q=API) [Integratie](https://coding.agency/kennisbank?q=Integratie) [Payroll](https://coding.agency/kennisbank?q=Payroll) [MKB](https://coding.agency/kennisbank?q=MKB) 

  ##  Gerelateerde artikelen 

 [ 13 feb. 2026 

 Koppelingen 

###  Exact Online koppeling 

 Software koppelen aan Exact Online: facturen, relaties en boekingen automatiseren via de API.

 ](https://coding.agency/kennisbank/exact-online-koppeling) [ 13 feb. 2026 

 Koppelingen 

###  Waarom je systemen zou willen koppelen 

 Losse systemen kosten je tijd, geld en datakwaliteit. Hoe koppelingen je bedrijf efficienter maken.

 ](https://coding.agency/kennisbank/waarom-systemen-koppelen) [ 19 apr. 2026 

 Maatwerk 

###  Wat is een ERP-systeem? Uitleg, voordelen en succes 

 Meer dan een derde van ERP-implementaties mislukt door overmatige customisatie en onderschatting van complexiteit. Leer wat een ERP-systeem...

 ](https://coding.agency/kennisbank/wat-is-een-erp-systeem-uitleg-voordelen-succes) 

##  Hulp nodig? 

Vragen over dit onderwerp? Laten we het erover hebben.

 [ Neem contact op ](https://coding.agency/contact)

---
*Bron: [Coding Agency](https://coding.agency/kennisbank/afas-koppeling)*