Your Tech Club

AFAS koppelen aan je eigen software

AFAS geeft gegevens vrij via connectoren die je eerst laat inrichten. Zo bepaal je de bron, schrijf je veilig terug en houd je grip op fouten.

Joey van VlietMede-oprichter van Your Tech Club6 min lezen

Een overzicht van de velden die tussen AFAS en een eigen applicatie worden uitgewisseld
In dit artikel

In AFAS staan je medewerkers, je projecten, je uren of je financiele administratie. Daarnaast draait je eigen portaal, je planning of je webshop. Zolang iemand die gegevens overtypt, loopt de ene kant altijd achter op de andere. Een koppeling lost dat op, maar het werk begint niet in de code: het begint in AFAS zelf.

Wat wil je koppelen aan AFAS?

Begin bij de stroom, niet bij de techniek. Dit zijn de richtingen die je in de praktijk het vaakst ziet.

  • Medewerkers: gegevens uit het HR-deel naar je eigen planning, portaal of toegangsbeheer.
  • Uren en verlof: geschreven uren uit je eigen systeem terug naar AFAS voor verloning of facturatie.
  • Projecten en verkoop: projecten en orders uit AFAS naar een eigen applicatie die ermee werkt.
  • Financieel: facturen, boekingen en relaties tussen AFAS en de rest van je systemen.
  • Documenten: dossierstukken die in AFAS horen te landen in plaats van in een gedeelde map.

Kies er een om mee te beginnen. Wat er per stroom bij komt kijken staat bij AFAS koppelen, en de veelgevraagde combinaties staan bij AFAS en Microsoft 365 en AFAS en HubSpot.

Hoe praat je technisch met AFAS?

AFAS werkt met connectoren. Een GetConnector is een door jou ingerichte set gegevens die je mag ophalen. Een UpdateConnector is een door jou ingericht punt waar je gegevens naar terug mag schrijven. Toegang loopt via een app-connector met een token.

Dat betekent iets belangrijks voor je planning. Een programmeur kan pas iets ophalen als de connector bestaat en de juiste velden bevat. Dat inrichten gebeurt in AFAS, door je beheerder of je AFAS-consultant. Raadpleeg voor de exacte werking en de actuele voorwaarden de documentatie van AFAS zelf, want die wordt bijgewerkt.

Stap 1: laat de connectoren inrichten voordat je bouwt

Maak een lijst met precies de velden die je nodig hebt, per stroom, en leg die neer bij de beheerder. Niet het hele bestand, alleen wat de ontvangende kant gebruikt. Hoe smaller de connector, hoe minder er stukgaat als er in AFAS iets verandert.

Spreek meteen af wie de connector beheert. Verandert een veldnaam of komt er een nieuwe administratie bij, dan moet iemand nakijken of de koppeling nog klopt. Zonder die afspraak ontdek je een wijziging pas als de stroom stilvalt.

Stap 2: bepaal per gegeven welk systeem de bron is

Voor elk gegeven wijs je een systeem aan dat de waarheid heeft. Medewerkergegevens meestal in AFAS, projectplanning misschien in je eigen software, klantgegevens in je CRM. De andere systemen volgen.

Doe je dat niet, dan kun je een adres of een contract op twee plekken wijzigen en weet niemand welke versie wint. Dat is de meest voorkomende reden dat een koppeling na een half jaar niet meer wordt vertrouwd.

Stap 3: schrijf terug met een sleutel, niet op goed geluk

Terugschrijven is het spannende deel. Een verkeerde boeking of een dubbele urenregel merkt iemand pas bij de verloning of bij de facturatie, en dan is het herstel handwerk.

Geef elk bericht daarom een eigen sleutel en controleer die voordat je schrijft. Zo leidt opnieuw sturen nooit tot een tweede regel. Test het terugschrijven eerst in een aparte omgeving, met echte gevallen uit je administratie.

Bouw het terugschrijven ook stap voor stap op. Begin met een kleine groep, bijvoorbeeld een afdeling of een project, en vergelijk een week lang handmatig wat er in AFAS terechtkomt. Pas daarna zet je de rest erop.

Stap 4: bouw opnieuw proberen en een overzicht

Koppelingen falen. Een systeem is in onderhoud, een verplicht veld ontbreekt, een waarde past niet in de vertaaltabel. Dat is normaal. Wat niet normaal is, is dat een bericht daardoor verdwijnt.

Zet elk bericht in een wachtrij met een eigen status en laat het opnieuw proberen met oplopende tussenpozen. Lukt het dan nog niet, dan komt het op een lijst die iemand bekijkt, met de reden erbij in gewone taal. Meld ook wanneer een stroom stilvalt: een koppeling die niets doet is net zo schadelijk als een die fout doet.

Waar loopt een AFAS-koppeling meestal op stuk?

Vier oorzaken zie je steeds terug. De eerste: de connector is te breed ingericht, waardoor elke wijziging in AFAS de koppeling raakt. De tweede: er is geen eigenaar die beslist over de vertaaltabellen tussen AFAS en het andere systeem.

De derde: bestaande gegevens zijn niet opgeschoond voor de eerste synchronisatie, waardoor dubbele relaties zich verdubbelen. De vierde: er wordt te vaak alles opgehaald in plaats van alleen de wijzigingen sinds de vorige keer.

Alle vier zijn ze te voorkomen met dezelfde twee afspraken: houd de connector smal en wijs een eigenaar aan. Wat er verder bij een koppeling komt kijken, en welke andere pakketten er te verbinden zijn, staat bij de koppelingen.

Wat betekent dit voor persoonsgegevens?

In AFAS staan vaak gegevens van medewerkers. Zodra je die naar een ander systeem stuurt, verplaats je persoonsgegevens en hoort daar een grondslag en een afspraak bij. Neem alleen de velden mee die het ontvangende systeem echt nodig heeft.

Leg ook vast hoe lang het ontvangende systeem die gegevens bewaart en wat er gebeurt als iemand uit dienst gaat. Wat je daarvoor moet regelen staat in AI Act en AVG: wat moet je regelen.

Wanneer heb je geen koppeling nodig?

Bij klein volume. Een handjevol mutaties per week overtypen kost minder dan bouwen en onderhouden. Ook als AFAS of het andere systeem binnen een jaar wordt vervangen, kun je beter wachten.

Bestaat er een standaardverbinding die doet wat je nodig hebt, gebruik die dan. Zelf bouwen is logisch zodra je eigen logica nodig hebt in de vertaling, of meerdere systemen moet combineren. Wat dat kost staat in wat een koppeling kost en bij koppeling laten maken.

Veelgestelde vragen

Heeft AFAS een API?

AFAS geeft gegevens vrij via connectoren. Een GetConnector levert een ingerichte set gegevens, een UpdateConnector neemt gegevens aan. Toegang loopt via een app-connector met een token. Raadpleeg de documentatie van AFAS voor de exacte werking en de actuele voorwaarden.

Wie richt de connectoren in?

Dat gebeurt in AFAS zelf, door je beheerder of je AFAS-consultant. Plan dat vooraan in het traject: een ontwikkelaar kan pas iets ophalen als de connector bestaat en de juiste velden bevat. Houd hem zo smal mogelijk, dan breekt er minder bij een wijziging.

Kun je gegevens ook terugschrijven naar AFAS?

Ja, via een UpdateConnector die voor dat doel is ingericht. Geef elk bericht een unieke sleutel en controleer die voor je schrijft, zodat opnieuw sturen nooit een tweede regel oplevert. Test terugschrijven eerst in een aparte omgeving met echte gevallen.

Wat gebeurt er als de koppeling uitvalt?

Bij een goed ontwerp komt elk bericht in een wachtrij en wordt het opnieuw geprobeerd met oplopende tussenpozen. Lukt het daarna niet, dan komt het op een lijst die iemand bekijkt. Stel ook een melding in op een stroom die stilvalt.

Mogen medewerkergegevens zomaar naar een ander systeem?

Niet zomaar. Er hoort een grondslag bij en een afspraak met de partij die het systeem levert. Neem alleen de velden mee die echt nodig zijn en leg vast hoe lang ze bewaard worden en wat er bij uitdiensttreding gebeurt.

Joey van VlietYassine Seghrouchni
Joey en Yassine, oprichters

Wat betekent dit voor jouw organisatie?

Een artikel geeft richting, maar jouw situatie is specifiek. In een kort gesprek kijken we mee waar de kans zit en wat een logische eerste stap is.

Verder lezen

Alle artikelen
Datamodel met de velden die tussen twee systemen worden gesynchroniseerd

Koppelingen6 min lezen

Exact Online koppelen aan je eigen software

Een koppeling met Exact Online scheelt overtypwerk, maar loopt vaak stuk op dubbele data. Zo bepaal je de bron, de richting en het herstel.

Lees het artikel