Setting up AFAS Profit: app connector, token and connectors
The AFAS Profit integration pushes debtors and sales invoices from i-Reserve to an AFAS administration through the AFAS REST API. Unlike Exact Online and Moneybird, AFAS does not use OAuth2 but an app connector with a token. The integration can also book payments (such as iDEAL down-payments) as financial entries and optionally pull debtor changes back from AFAS. See AFAS invoicing and AFAS customer synchronisation for those parts.
1. On the AFAS side (one-off)
- Create an app connector under General → Management → App connector and generate a token in it.
- Link the app connector to a user group / authorisation role with the rights from step 4.
- Add all required Get and Update connectors (steps 2 and 3) to the app connector's list. Note: a connector that is not explicitly added to the app connector returns a
403error, even when the user group allows it. - Note the environment number (membership number) and which environment you use: production (
https://<environment>.rest.afas.online/…) or test (https://<environment>.resttest.afas.online/…).
2. Required GetConnectors (read: AFAS → i-Reserve)
The default names below can be changed per licence; if your AFAS setup uses different connector names, enter those in the integration.
| Purpose | Default connector name | Required |
|---|---|---|
| Debtors | Profit_Debtor | Yes |
| Invoices | Profit_Debtor_Invoices | Yes |
| Contacts | Profit_Contacts | Yes |
| Ledger accounts | Profit_Accounts | Yes |
| Cost centres | Profit_CostCentre | Yes |
| VAT codes | Profit_VAT_Code | Yes |
| Journals | Profit_Journals | Yes |
| Articles | Profit_Article | Optional |
Each GetConnector must exist in the AFAS administration, be added to the app connector, and expose the fields the field mapping expects (debtor number, contact and address fields, IBAN/BIC, VAT code, payment condition).
3. Required UpdateConnectors (write: i-Reserve → AFAS)
| Purpose | Connector | Required |
|---|---|---|
| Create/update debtor | KnSalesRelationOrg (default) or KnOrganisation | Yes |
| Invoice | Depends on the invoice mode — see AFAS invoicing | Yes (one mode) |
| Payment booking | FiEntries | Yes, always |
FiEntries is the universal baseline: it is the default invoice mode and is always used for the payment booking, regardless of the chosen invoice mode.
4. Authorisation (AFAS user group)
- Debtors: view and update (and in a test environment also delete, so test data can be cleaned up).
- Read rights on VAT codes, cost centres/project codes, ledger accounts and journals.
- Financial entries and sales invoices: create and change.
- Contacts: read and write — debtor writes nest contact and address objects.
5. Prerequisites in the AFAS administration
- An open financial year/period that accepts entries and invoices.
- A sales journal (for invoice documents) and a memorial/financial journal (for entries).
- Valid VAT codes, ledger accounts and cost centres — the same codes used in the mapping on the i-Reserve side.
- At least one payment condition if it is sent along in the debtor data.
6. On the i-Reserve side
- Open Management → Integrations → AFAS and enter the environment number and the token.
- Check the connector names; the defaults match the tables above.
- Choose the invoice mode (see AFAS invoicing).
- Fill the mapping: link i-Reserve VAT rates to AFAS VAT codes, ledger accounts and cost centres. The integration can look up the available values directly from AFAS.
- In the Parameters, configure the field mapping and synchronisation direction per customer field (see AFAS customer synchronisation).
- Set the integration to active.
7. Checklist
- ☐ App connector created, token generated and noted.
- ☐ All GetConnectors (step 2) exist and are added to the app connector.
- ☐ UpdateConnectors (step 3) added: debtor connector, invoice connector,
FiEntries. - ☐ User group carries the rights from step 4.
- ☐ Open period, sales journal and memorial journal present; VAT codes/ledgers/cost centres match the mapping.
- ☐ Environment number + correct environment (rest/resttest) entered in i-Reserve.
- ☐ Invoice mode chosen; mapping and parameters filled; integration active.
- ☐ Test invoice finalised and verified in AFAS (debtor + booking/invoice + VAT correct).





