Instructie
Beheer > Integraties > AFAS

De AFAS Profit-koppeling zet debiteuren en verkoopfacturen vanuit i-Reserve door naar een AFAS-administratie via de AFAS REST API. Net als Exact Online en Moneybird gebruikt AFAS hiervoor OAuth (client credentials) via een App connector; de oudere token-variant van de App connector wordt door AFAS uitgefaseerd. Daarnaast kan de koppeling betalingen (zoals iDEAL-aanbetalingen) als financiële mutatie boeken en optioneel debiteurwijzigingen uit AFAS terughalen. Zie AFAS facturatie en AFAS klantsynchronisatie voor die onderdelen.

AFAS-koppeling in het kort i-Reserve Reservering, klant & factuur Bron van de factuur AFAS Profit Debiteur, boeking & factuur Boekhouding 1. Factuur definitief → debiteur + boeking/factuur 2. Betaling betaald → journaalpost, afgeletterd App connector + token (REST API) 3. Optioneel: debiteuren periodiek terug (poll) Richting per veld instelbaar: i-Reserve leidend of AFAS leidend

1. Aan de AFAS-kant (eenmalig)

AFAS faseert de klassieke App connector-token uit ten gunste van OAuth. Bestaande tokens die na september 2026 zijn aangemaakt, verlopen automatisch op 15 februari 2027; de uiterste overstapdatum voor elke App connector is 31 augustus 2027. Richt nieuwe koppelingen daarom in met OAuth — de klassieke token is alleen nog bedoeld voor een App connector die nog niet is overgezet.

OAuth (aanbevolen)

  1. Ga naar Algemeen → Beheer → App connector en klik op Nieuw.
  2. Vul bij Algemeen een omschrijving in (bv. “i-Reserve OAuth”) en zet Authenticatietype op OAuth.
  3. Kies bij Gebruikersgroep de autorisatierol met de rechten uit stap 4.
  4. Zet bij OAuth het veld Type OAuth flow op Client credentials — i-Reserve praat als systeem met AFAS, niet als ingelogde gebruiker.
  5. Kies bij Gebruiker of AFAS een nieuwe gebruiker aanmaakt op basis van de App connector-naam, of gebruik een bestaande gebruiker.
  6. Voeg alle benodigde Get- en UpdateConnectors (stap 2 en 3) toe aan de lijst van de App connector. Let op: een connector die niet expliciet is toegevoegd geeft een 403-fout, ook als de gebruikersgroep hem wel toestaat.
  7. Op het laatste scherm toont AFAS de OAuth client-ID en de OAuth client-secret. Bewaar beide direct — de secret wordt daarna niet meer getoond.
  8. Noteer het omgevingsnummer (lidmaatschapsnummer) en welke omgeving je gebruikt: productie (https://<omgeving>.rest.afas.online/…) of test (https://<omgeving>.resttest.afas.online/…).

Classic token (verouderd)

Gebruik dit alleen voor een App connector die nog niet naar OAuth is overgezet.

  1. Maak een App connector aan onder Algemeen → Beheer → App connector, zet Authenticatietype op Classic token en genereer daarin een token.
  2. Koppel de App connector aan een gebruikersgroep/autorisatierol met de rechten uit stap 4.
  3. Voeg alle benodigde Get- en UpdateConnectors (stap 2 en 3) toe aan de lijst van de App connector. Let op: een connector die niet expliciet aan de App connector is toegevoegd geeft een 403-fout, ook als de gebruikersgroep hem wel toestaat.
  4. Noteer het omgevingsnummer (lidmaatschapsnummer) en welke omgeving je gebruikt: productie (https://<omgeving>.rest.afas.online/…) of test (https://<omgeving>.resttest.afas.online/…).

2. Benodigde GetConnectors (lezen: AFAS → i-Reserve)

De standaardnamen hieronder zijn per licentie aanpasbaar; gebruikt jouw AFAS-inrichting andere connectornamen, dan vul je die in bij de koppeling.

DoelStandaard connectornaamVerplicht
DebiteurenProfit_DebtorJa
FacturenProfit_Debtor_InvoicesJa
ContactpersonenProfit_ContactsJa
GrootboekrekeningenProfit_AccountsJa
KostenplaatsenProfit_CostCentreJa
BTW-codesProfit_VAT_CodeJa
DagboekenProfit_JournalsJa
ArtikelenProfit_ArticleOptioneel

Elke GetConnector moet in de AFAS-administratie bestaan, aan de App connector zijn toegevoegd en de velden bevatten die de veldmapping verwacht (debiteurnummer, contact- en adresvelden, IBAN/BIC, BTW-code, betaalconditie).

3. Benodigde UpdateConnectors (schrijven: i-Reserve → AFAS)

DoelConnectorVerplicht
Debiteur aanmaken/bijwerkenKnSalesRelationOrg (standaard) of KnOrganisationJa
FactuurAfhankelijk van de factuurmodus — zie AFAS facturatieJa (één modus)
BetalingsboekingFiEntriesJa, altijd

FiEntries is de universele basis: het is de standaard-factuurmodus én wordt altijd gebruikt voor de betalingsboeking, ongeacht de gekozen factuurmodus.

4. Autorisatie (AFAS-gebruikersgroep)

  • Debiteuren: inzien, bijwerken (en in een testomgeving ook verwijderen, zodat testdata opgeruimd kan worden).
  • Leesrechten op BTW-codes, kostenplaatsen/projectcodes, grootboekrekeningen en dagboeken.
  • Financiële mutaties en verkoopfacturen: aanmaken en wijzigen.
  • Contactpersonen: lezen en schrijven — debiteur-schrijfacties nesten contact- en adresobjecten.

5. Voorwaarden in de AFAS-administratie

  • Een open boekjaar/periode die mutaties en facturen accepteert.
  • Een verkoopdagboek (voor factuurdocumenten) en een memoriaal/financieel dagboek (voor mutaties).
  • Geldige BTW-codes, grootboekrekeningen en kostenplaatsen — dezelfde codes die je aan de i-Reserve-kant in de mapping gebruikt.
  • Minimaal één betaalconditie als die in de debiteurgegevens wordt meegestuurd.

6. Aan de i-Reserve-kant

  1. Open Beheer → Integraties → AFAS en vul het omgevingsnummer en het omgevingstype in.
  2. Zet Authenticatiemethode op OAuth (standaard) en vul de OAuth client-ID en OAuth client-secret in die je bij AFAS hebt genoteerd. Kies Classic token alleen voor een App connector die nog niet is overgezet, en vul dan het API-token in.
  3. Controleer de connectornamen; de standaardwaarden komen overeen met de tabellen hierboven.
  4. Kies de factuurmodus (zie AFAS facturatie).
  5. Vul de mapping: koppel i-Reserve BTW-tarieven aan AFAS BTW-codes, grootboekrekeningen en kostenplaatsen. De koppeling kan de beschikbare waarden rechtstreeks uit AFAS opzoeken.
  6. Stel in de Parameters per klantveld de veldmapping en de synchronisatierichting in (zie AFAS klantsynchronisatie).
  7. Zet de koppeling op actief.

7. Checklist

  • ☐ App connector aangemaakt (OAuth, of Classic token voor een nog niet overgezette koppeling); credentials genoteerd.
  • ☐ Authenticatiemethode gekozen; OAuth client-ID/secret of classic API-token ingevuld in i-Reserve.
  • ☐ Alle GetConnectors (stap 2) bestaan én zijn aan de App connector toegevoegd.
  • ☐ UpdateConnectors (stap 3) toegevoegd: debiteur-connector, factuur-connector, FiEntries.
  • ☐ Gebruikersgroep heeft de rechten uit stap 4.
  • ☐ Open periode, verkoopdagboek en memoriaal aanwezig; BTW-codes/grootboeken/kostenplaatsen kloppen met de mapping.
  • ☐ Omgevingsnummer + juiste omgeving (rest/resttest) ingevuld in i-Reserve.
  • ☐ Factuurmodus gekozen; mapping en parameters gevuld; koppeling actief.
  • ☐ Testfactuur definitief gemaakt en gecontroleerd in AFAS (debiteur + boeking/factuur + BTW kloppen).