Kort antwoord: Een koppeling tussen AFAS en Exact Online of Twinfield zet relaties, facturen en boekingen automatisch over. Zo voer je niets twee keer in. AFAS levert hiervoor GetConnectors (gegevens ophalen) en UpdateConnectors (gegevens schrijven). Exact Online heeft een REST API met OAuth 2.0. Twinfield heeft vooral SOAP-webservices met XML, ook met OAuth 2.0. Het lastigste deel is zelden de techniek, maar de afspraken over nummering, btw-codes en het rekeningschema.
Wanneer koppel je AFAS met Exact Online of Twinfield?
Op administratie- en accountantskantoren zien we twee situaties. In de eerste situatie gebruikt het kantoor AFAS Profit voor de eigen organisatie. Relaties, uren, projecten en facturatie staan in AFAS. De klantadministraties staan in Exact Online of Twinfield.
In de tweede situatie gebruikt een klant AFAS. Het kantoor doet de boekhouding of de controle in Exact Online of Twinfield. De klant factureert in AFAS, en het kantoor heeft die facturen nodig in de eigen omgeving.
In beide situaties gaan gegevens nu vaak met de hand over: via een export naar Excel, een import of overtypen. Dat kost tijd en geeft fouten. Een koppeling doet dit automatisch en steeds volgens dezelfde regels.
Welke gegevens koppel je, en in welke richting?
Bepaal eerst per soort gegeven welk pakket de bron is. De bron is het pakket waarin je het gegeven aanmaakt en wijzigt. Het andere pakket krijgt een kopie. Laat je beide pakketten hetzelfde gegeven wijzigen, dan weet niemand meer welke versie klopt.
| Gegeven | Gebruikelijke richting | Aandachtspunt |
|---|---|---|
| Relaties en debiteuren | AFAS naar Exact Online of Twinfield | Leg vast op welk nummer je relaties herkent. Anders ontstaan dubbele debiteuren. |
| Verkoopfacturen | AFAS naar Exact Online of Twinfield | Zet de factuur over als verkoopboeking, niet als nieuwe factuur. Elke regel heeft een grootboekrekening en een btw-code nodig die in het boekhoudpakket bestaat. |
| Journaalposten | AFAS naar het boekhoudpakket, soms andersom | Spreek af in welk dagboek de boekingen komen en wie ze corrigeert. Spreek ook af wat de koppeling doet met een boeking in een afgesloten periode. |
| Grootboekrekeningen | Meestal vanuit het boekhoudpakket | Gebruik een vertaaltabel als de rekeningschema's verschillen. |
| Projecten en uren | AFAS naar het boekhoudpakket of naar een datawarehouse | Uren zijn vaak alleen nodig voor rapportages, niet als boeking. |
| Betaalstatus van facturen | Exact Online of Twinfield naar AFAS | Alleen nodig als medewerkers in AFAS moeten zien of een klant betaald heeft. |
Begin met een klein aantal gegevens. Relaties en verkoopfacturen leveren meestal het meeste op. Voeg daarna pas andere gegevens toe.
Hoe werkt een AFAS-koppeling technisch?
Elk pakket heeft een eigen manier om gegevens uit te wisselen. Een koppeling leest gegevens uit het ene pakket, zet de velden om en schrijft de gegevens in het andere pakket. Hieronder staat per pakket wat je nodig hebt.
AFAS Profit: GetConnectors en UpdateConnectors
Je geeft een koppeling toegang via een app connector in AFAS. Daarin kies je welke GetConnectors en UpdateConnectors de koppeling mag gebruiken. AFAS maakt OAuth de standaard voor een eigen app connector. Bestaande klassieke tokens werken vanaf 1 mei 2027 niet meer. Je kunt nog een nieuw token maken dat tot uiterlijk 31 augustus 2027 geldig is. Stap voor die datum over op OAuth, zie de AFAS-pagina over de app connector.
Met een GetConnector haal je gegevens op. Een GetConnector is een datadefinitie die je zelf maakt. De gegevens komen terug als JSON, XML of CSV.
Met een UpdateConnector voeg je gegevens in AFAS toe, of je wijzigt of verwijdert gegevens. AFAS controleert elk bericht voordat het de gegevens verwerkt. Voorbeelden zijn de UpdateConnectors voor verkooprelaties (KnSalesRelationOrg), financiële mutaties (FiEntries) en grootboekrekeningen (KnAccount). AFAS biedt een REST API met JSON en een SOAP API met XML. Een API-aanroep is maximaal 75 MB. Zie de AFAS-pagina over de API.
Haal niet steeds alle gegevens op. AFAS beschrijft hoe je met de auditvelden alleen gewijzigde gegevens ophaalt. Gebruik altijd filters. Een aanroep in AFAS Online stopt na 15 minuten. Haal grote hoeveelheden gegevens daarom in delen op. Zie de AFAS-pagina over een GetConnector aanroepen.
Exact Online: REST API met OAuth 2.0
Exact Online heeft een REST API en een XML-webservice. Je registreert een app bij Exact Online. Daarna logt een gebruiker eenmalig in en geeft toestemming. In dat toestemmingsscherm kiest de gebruiker ook welke administraties de app mag gebruiken. De koppeling krijgt dan een access token en een refresh token.
Een access token is tien minuten geldig. Je mag pas na 570 seconden een nieuw token aanvragen. Gebruik je de koppeling 30 dagen niet, dan moet een gebruiker opnieuw toestemming geven. Exact Online biedt ook webhooks en Sync-API's. Daarmee haal je alleen gewijzigde gegevens op en hoef je minder vaak te vragen of er iets veranderd is.
Een verkoopfactuur uit AFAS zet je over als verkoopboeking via het endpoint SalesEntries. Het endpoint SalesInvoices maakt een factuur die je naar de klant stuurt. De koppeling kan alleen de administraties gebruiken die de gebruiker bij de toestemming koos. Controleer dit bij elke nieuwe klantadministratie.
Twinfield: SOAP-webservices met OAuth 2.0
Twinfield werkt vooral met SOAP-webservices en XML-berichten. Voor sommige onderdelen zijn er ook REST API's. Je registreert de koppeling in het ontwikkelaarsportaal van Twinfield. De koppeling krijgt via OAuth 2.0 een access token, dat een uur geldig is. Met een refresh token (scope offline_access) vraagt de koppeling een nieuw access token aan.
In elk bericht staan het access token en de code van de administratie. Twinfield verdeelt de omgevingen over clusters. De koppeling vraagt daarom eerst op welk cluster de omgeving staat. Zie de documentatie van Twinfield over inloggen met OAuth 2.0.
Debiteuren zijn in Twinfield dimensies van het type DEB. Stuur je een debiteur met een code die nog niet bestaat, dan maakt Twinfield die aan. Bestaat de code al, dan wijzigt Twinfield de debiteur. Een verkeerde code geeft dus geen fout, maar een nieuwe debiteur. Controleer de code daarom vóór het versturen.
Een verkoopboeking kan de koppeling eerst als voorlopige boeking opslaan. Een medewerker maakt die daarna definitief. Zie de documentatie van Twinfield over verkoopboekingen.
Standaardkoppeling of maatwerk?
Voor veel combinaties bestaan standaardkoppelingen. AFAS noemt gecertificeerde koppelingen van partners. Exact Online heeft een App Center met apps van andere leveranciers. Een standaardkoppeling is snel aan te zetten en de leverancier houdt die bij.
Een standaardkoppeling werkt wel volgens vaste regels. Die regels passen niet altijd bij je kantoor. Denk aan een eigen nummering, afwijkende btw-codes of facturen die per klant in een andere administratie moeten komen. Kijk dus eerst of een standaardkoppeling jouw situatie dekt. Test die op een paar echte facturen voordat je kiest.
Welke valkuilen zie je bij een AFAS-koppeling?
De meeste problemen ontstaan door afspraken over gegevens, niet door de techniek. Let op deze punten.
- Stamgegevens en nummering: beslis welk pakket het relatienummer bepaalt. Leg het nummer van het andere pakket vast in een eigen veld. Zoek een nieuwe relatie ook op het KvK-nummer of het btw-nummer. In Twinfield staan die nummers in een adresveld. Twijfelt de koppeling, dan beslist een medewerker.
- Dubbele boekingen: draait de koppeling opnieuw na een fout, dan kan dezelfde factuur twee keer in het boekhoudpakket komen. Leg per factuur vast of de koppeling die al heeft overgezet. Zet de waarschuwing voor dubbele factuurnummers in Twinfield niet uit.
- Btw-codes en rekeningschema: AFAS en het boekhoudpakket gebruiken vaak andere codes. Maak een vertaaltabel en controleer die als iemand een code toevoegt. Let ook op creditnota's en op afrondingsverschillen in de btw.
- API-limieten: Exact Online staat per app en per administratie 60 aanroepen per minuut en 5.000 per dag toe. Met een Premium-licentie van Exact Online is de daglimiet hoger. Boven de limiet weigert Exact Online de aanroep. Geeft de koppeling meer dan tien fouten per uur op hetzelfde endpoint en dezelfde administratie, dan blokkeert Exact Online de koppeling een uur.
- Toestemming en tokens: een token verloopt of een gebruiker trekt de toestemming in. Laat de koppeling dat melden, zodat iemand het snel herstelt.
Zie de kennisbank van Exact Online voor de actuele limieten. Twinfield werkt met credits per minuut, per app en per organisatie. Een nieuwe, nog niet gecertificeerde app krijgt 5% van de normale limiet. Boven de limiet weigert Twinfield de aanroep met code 429. Zie het fair-usebeleid van Twinfield.
Let op: zet een koppeling niet direct aan op alle administraties. Test eerst op één administratie en vergelijk de uitkomst met wat er nu met de hand gebeurt.
Wanneer is maatwerk zinvol?
Maatwerk loont als een standaardkoppeling niet past bij hoe je kantoor werkt. Dat is zo in deze situaties:
- Je koppelt AFAS met veel klantadministraties, elk met een eigen rekeningschema.
- Je wilt eigen controles, zoals een check op dubbele relaties of ontbrekende btw-codes.
- Je wilt dat een medewerker afwijkingen ziet en beoordeelt, in plaats van een foutmelding in een logbestand.
- Je wilt dezelfde gegevens ook gebruiken voor dashboards, samen met gegevens uit andere pakketten.
- Je wilt per overgezette factuur kunnen terugzien wat de koppeling deed.
Wil je de gegevens vooral voor rapportages, kijk dan ook naar een datawarehouse. Lees meer in Wat is een datawarehouse voor een accountantskantoor? en Power BI op AFAS of Exact Online. Andere taken die je kunt automatiseren, lees je in Wat kun je automatiseren op een administratiekantoor?
Hoe helpt Cornerstone hierbij?
We bouwen koppelingen tussen AFAS en Exact Online of Twinfield via de officiële connectoren en API's. Onze software draait dagelijks bij 80+ kantoren. Volledig automatisch waar het kan, een mens erbij waar het moet. We testen de automatisering eerst op de administraties van je kantoor. Na de start houden we de software bij, ook als een pakket verandert. Elke stap staat in een audit trail, en de data blijft in de EU.
Lees meer over AFAS-koppelingen, Exact Online automatiseren en Twinfield automatiseren.