AFAS Integratie

Home Integraties AFAS Integratie

Overzicht

AFAS Profit is één van de meest breed gebruikte ERP en HRM platforms in Nederland — het systeem dat Nederlandse bedrijven gebruiken voor financiële administratie, salarisadministratie, HR-management, projectadministratie en CRM. Voor organisaties die AFAS als hun operationele ruggengraat draaien, moet de data in AFAS stromen naar de andere systemen die de organisatie gebruikt: de maatwerk webapplicaties die medewerkers- of klantdata nodig hebben, de operationele tools die financiële transacties moeten triggeren, de rapportagesystemen die uit AFAS financiële records moeten trekken.

AFAS biedt een REST API — de App Connector — die AFAS-data en functionaliteit blootstelt aan externe applicaties via standaard HTTP-aanroepen. De App Connector gebruikt een token-gebaseerd authenticatiesysteem en een GetConnectors/UpdateConnectors model waarbij GetConnectors data ophalen en UpdateConnectors data terugschrijven naar AFAS.

Wij bouwen AFAS-integraties voor Nederlandse organisaties die hun maatwerk software, operationele tools en webapplicaties moeten verbinden met AFAS Profit — het volledige bereik van AFAS-datadomeinen en de integratiepatronen die productie AFAS-connectiviteit vereist dekkend.


Wat AFAS Integratie Dekt

AFAS App Connector authenticatie. De AFAS REST API gebruikt een propriëtair token-gebaseerd authenticatiesysteem dat verschilt van standaard OAuth 2.0 of API-sleutelauthenticatie. Elke integratie vereist een App Connector-token — een base64-gecodeerde JSON-structuur die de omgevingsidentificator, het connectietoken en het tokentype bevat.

Tokenconstructie: de correcte base64-codering van de JSON-tokenstructuur die de AFAS API vereist, met het omgevingsnummer, het token en het tokentype exact geformatteerd zoals AFAS verwacht. Het token wordt doorgegeven in de Authorization-header van elk verzoek als een aangepast schema — AfasToken {token} — in plaats van het standaard Bearer-schema.

Tokenbeheer: AFAS-tokens verlopen niet in de standaard JWT-betekenis maar zijn gekoppeld aan de AFAS-omgevingsconfiguratie. Token-opslag in de configuratie van de integratie, het rotatieproces wanneer tokens moeten worden bijgewerkt en de foutafhandeling die authenticatiefouten correct identificeert en ze oppervlakt voor operationele aandacht.

Omgevingsbeheer: AFAS-omgevingen hebben afzonderlijke identificatoren (omgevingsnummers) en afzonderlijke API-basis-URL's. De integratieconfiguratie die de productieomgeving correct target versus de testomgeving.

GetConnectors voor data-ophalen. AFAS stelt data bloot via benoemde GetConnectors — de eindpunten die data retourneren vanuit AFAS in gestructureerd JSON-formaat. Elke GetConnector heeft een gedefinieerd schema dat de velden beschrijft die het retourneert, en connectors kunnen worden gefilterd, gesorteerd en gepagineerd.

Filtersyntaxis: de AFAS-filterexpressietaal voor het filteren van GetConnector-resultaten. Het filterformaat — {"Filters":{"Filter":[{"Field":"VeldNaam","OperatorType":1,"Value":"FilterWaarde"}]}} — URL-gecodeerd en doorgegeven als de filterfieldids query-parameter.

Paginering: de take en skip parameters die paginering implementeren over grote resultaatsets. Het patroon voor het ophalen van alle records van een grote connector door herhaaldelijk pagina's op te halen totdat een lege pagina wordt geretourneerd.

Standaard connectors: de ingebouwde GetConnectors die AFAS biedt voor standaard datadomeinen — medewerkerdata (Profit_Employees), debiteurdata (Profit_Debtors), crediteurdata (Profit_Creditors), projectdata, financiële transacties, verlofdata. Maatwerk connectors: de GetConnectors geconfigureerd in de AFAS-omgeving voor datavormen of datacombinaties die de standaard connectors niet bieden.

UpdateConnectors voor data-schrijven. AFAS accepteert data-schrijven via UpdateConnectors — de eindpunten die records aanmaken, bijwerken en verwijderen in AFAS. UpdateConnectors accepteren JSON-payloads met de te schrijven data, genest volgens het AFAS-datamodel.

Invoegoperaties: de UpdateConnector-payload die een nieuw record aanmaakt in AFAS. Het __metadata actietype insert. De vereiste velden die aanwezig moeten zijn voor elk recordtype.

Bijwerkoperaties: de UpdateConnector-payload die een bestaand record wijzigt. Het __metadata actietype update. Het primaire sleutelveld dat het bij te werken record identificeert.

Verwijderoperaties: het __metadata actietype delete voor recordverwijdering.

Geneste operaties: AFAS UpdateConnectors ondersteunen geneste datastructuren die gerelateerde records aanmaken of bijwerken in een enkele API-aanroep — het medewerkersrecord dat geneste contactrecords bevat.

Batchoperaties: de UpdateConnector-payload die meerdere operaties uitvoert in een enkele API-aanroep — de array van records die in één verzoek moeten worden ingevoegd, bijgewerkt of verwijderd.

HR en salarisintegraties. Het meest voorkomende AFAS-integratiedomein voor Nederlandse organisaties — AFAS HR en salarisdata verbinden met de andere systemen die het gebruiken.

Medewerkerdata synchronisatie: medewerkerrecords lezen vanuit AFAS GetConnectors (Profit_Employees, HrEmployment en gerelateerde connectors) en synchroniseren naar het consumerende systeem. Medewerker levenscyclusevents — nieuwe aanwervingen, contractwijzigingen, ontslagen — gedetecteerd via delta-synchronisatie of event-gebaseerde triggers.

Verlof en verzuimdata: verlofSaldi lezen vanuit AFAS en weergeven in HR-portalen. Verlofverzoeken indienen vanuit maatwerk HR-applicaties terug naar AFAS via UpdateConnectors.

Salarisdatastromen: salarisuitvoerdata lezen vanuit AFAS voor rapportage en financiële reconciliatie. Het tijdregistratiesysteem dat uren indient bij AFAS via de passende UpdateConnector voor salarisverwerking.

Organisatiestructuur: afdelingsstructuren, kostenplaatsen en organisatiehierarchieën lezen vanuit AFAS voor consumerende systemen die het organisatiemodel van AFAS moeten weerspiegelen.

Financiële en boekhoudintegraties. AFAS als het financieel recordsysteem — de integratie die transacties boekt vanuit operationele systemen in de AFAS financiële administratie.

Journaalboekingen: de UpdateConnector die grootboekboekingen aanmaakt in AFAS — het operationele systeem dat een financieel event genereert en de overeenkomstige journaalboeking boekt naar AFAS. De journaalboekingstructuur met de debiteur/crediteurcode, het bedrag, de BTW-code, de kostenplaatsallocatie en de boekingsperiode.

Debiteur en crediteur beheer: klant (debiteur) en leverancier (crediteur) stamdata synchroniseren tussen AFAS en CRM, inkoop of leveranciersportaal systemen.

Factuurverwerking: uitstaande facturen lezen vanuit AFAS voor incassobeheertools, reconciliatiesystemen en betalingsstatusdashboards.

Inkooporders: inkooporders lezen vanuit AFAS voor leveranciersportalen en inkoopsystemen. Inkooporderstatus bijwerken in AFAS naarmate leveringen worden ontvangen en facturen worden gematcht.

Projectadministratie. AFAS's projectmodule integratie voor organisaties die projecten beheren in AFAS.

Projectdata ophalen: projectstructuren, projectfasen en projectbudgetten lezen vanuit AFAS voor projectdashboards en rapportagetools.

Uren en kostenregistratie: tijdinvoeren indienen vanuit maatwerk tijdregistratieapplicaties naar AFAS-projectadministratie.

Projectfacturering: projectfactureringsdata lezen vanuit AFAS voor klantfactureringsportalen en financiële rapportage.

CRM-integraties. AFAS's CRM-module of debiteur/crediteurdata gebruikt als de bron van waarheid voor klantdata in verbonden systemen.

Contactsynchronisatie: bidirectionele synchronisatie tussen AFAS-contacten en externe CRM-systemen. De deduplicatielogica die voorkomt dat dubbele records zich ophopen.

Activiteitslogging: klantinteractierecords schrijven vanuit CRM-systemen terug naar AFAS.

Delta-synchronisatie en wijzigingsdetectie. De meeste AFAS-integraties moeten data incrementeel synchroniseren — alleen de records verwerken die zijn gewijzigd sinds de laatste synchronisatierun.

Tijdstempel-gebaseerde delta: GetConnector-resultaten filteren op het laatste-wijziging-tijdstempel om alleen records op te halen die zijn bijgewerkt sinds de laatste synchronisatie. Het Mutatie_datum veld beschikbaar op de meeste AFAS-entiteiten.

Volgnummer-gebaseerde delta: AFAS biedt volgnummers op sommige connectors die monotoon toenemen met elke wijziging.

Volledige reconciliatie: de periodieke volledige reconciliatie die de volledige dataset van AFAS vergelijkt met de data van het verbonden systeem, discrepanties identificerend die incrementele synchronisatie mogelijk heeft gemist.


Integratiepatronen

Geplande synchronisatie. Het meest voorkomende AFAS-integratiepatroon — een geplande taak die met gedefinieerde intervallen draait, AFAS bevraagt voor wijzigingen sinds de laatste run en de wijzigingen toepast op het verbonden systeem.

Event-gedreven integratie. AFAS publiceert niet native webhook-events, dus event-gedreven AFAS-integratie wordt typisch geïmplementeerd als frequente polling die realtime gedrag benadert — een geplande taak die elke paar minuten draait.

Op-aanvraag API. De integratie die AFAS-data blootstelt via een maatwerk REST API — de middlewaredienst die verzoeken accepteert van consumerende applicaties, ze vertaalt naar AFAS App Connector-aanroepen en de resultaten retourneert.

Bidirectionele synchronisatie. De integratie die data consistent houdt tussen AFAS en een ander systeem wanneer beide systemen dezelfde data kunnen aanmaken en wijzigen. Conflictresolutiestrategie — de regel die bepaalt welke versie van het systeem prioriteit heeft wanneer beide systemen hetzelfde record hebben gewijzigd.


Gebruikte Technologieën

  • C# / ASP.NET Core — primaire implementatietaal voor AFAS-integraties, gebruikmakend van de .NET HTTP-client en de JSON-afhandeling die AFAS API-interactie vereist
  • Rust / Axum — hoge-prestatie AFAS-dataverwerking voor integraties met grote datavolumes of strikte latentievereisten
  • REST / HTTP — AFAS App Connector API-communicatie
  • JSON — AFAS API verzoek en antwoordformaat
  • SQL (PostgreSQL / MySQL) — synchronisatiestatus opslag, delta-tracking, data-staging
  • Redis — integratietaakcoördinatie, snelheidslimieten beheer, caching van frequent benaderde AFAS-referentiedata
  • Hangfire / Quartz.NET — geplande taakuitvoering voor C# integratiediensten
  • Docker — gecontaineriseerde integratiedienst implementatie
  • GitHub Actions — CI/CD pijplijn voor integratiedienst implementatie

AFAS Integratie in de Nederlandse Bedrijfscontext

De positie van AFAS Profit in de Nederlandse bedrijfssoftwaremarkt betekent dat AFAS-integratie een veelvoorkomende vereiste is over de maatwerk softwareprojecten die wij bouwen voor Nederlandse organisaties. Het medewerkerportaal dat AFAS HR-data moet weergeven zonder dat medewerkers rechtstreeks in AFAS hoeven in te loggen. Het operationele systeem dat financiële transacties genereert die in AFAS moeten verschijnen zonder handmatige herinvoer. Het leveranciersportaal dat moet synchroniseren met AFAS-inkoopdata.

In elk van deze gevallen is de AFAS App Connector het integratiemechanisme — en het bouwen van integraties die het correct gebruiken, fouten passend afhandelen, dataconsistentie handhaven en op de lange termijn operationeel blijven vereist de specifieke kennis van het integratiemodel van AFAS die ervaring met het platform biedt.


Verbonden met AFAS, Werkend voor Uw Bedrijf

AFAS-integraties gebouwd op productiestandaarden — correcte authenticatie, robuuste foutafhandeling, incrementele delta-synchronisatie en de monitoring die integratieproblemen oppervlakt voor ze bedrijfsoperaties beïnvloeden — houden uw systemen betrouwbaar verbonden met AFAS in plaats van voortdurende handmatige aandacht te vereisen om de datastromen te handhaven waarvan uw operaties afhankelijk zijn.