Instructie
Beheer > Integraties > AFAS

Die AFAS-Profit-Verbindung überträgt Debitoren und Verkaufsrechnungen aus i-Reserve über die AFAS REST API an eine AFAS-Verwaltung. Wie Exact Online und Moneybird verwendet AFAS dazu OAuth (Client credentials) über einen App-Connector; die ältere Token-Variante des App-Connectors wird von AFAS ausgemustert. Die Verbindung kann außerdem Zahlungen (z. B. iDEAL-Anzahlungen) als Finanzbuchung verbuchen und optional Debitorenänderungen aus AFAS zurückholen. Siehe dazu AFAS-Fakturierung und AFAS-Kundensynchronisation.

AFAS-Verbindung in Kürze i-Reserve Reservierung, Kunde & Rechnung Quelle der Rechnung AFAS Profit Debitor, Buchung & Rechnung Buchhaltung 1. Rechnung endgültig → Debitor + Buchung/Rechnung 2. Zahlung bezahlt → Journalbuchung, abgeglichen App-Connector + Token (REST API) 3. Optional: geänderte Debitoren zurück (Poll) Richtung pro Feld einstellbar: i-Reserve führend oder AFAS führend

1. Auf der AFAS-Seite (einmalig)

AFAS stellt den klassischen App-Connector-Token zugunsten von OAuth ein. Bestehende Tokens, die nach September 2026 erstellt wurden, laufen automatisch am 15. Februar 2027 ab; die endgültige Frist für jeden App-Connector ist der 31. August 2027. Richten Sie neue Verbindungen daher mit OAuth ein — der klassische Token ist nur noch für einen App-Connector gedacht, der noch nicht umgestellt wurde.

OAuth (empfohlen)

  1. Gehen Sie zu Allgemein → Verwaltung → App-Connector und klicken Sie auf Neu.
  2. Tragen Sie unter Allgemein eine Beschreibung ein (z. B. „i-Reserve OAuth“) und setzen Sie Authentifizierungstyp auf OAuth.
  3. Wählen Sie unter Benutzergruppe die Autorisierungsrolle mit den Rechten aus Schritt 4.
  4. Setzen Sie unter OAuth das Feld Typ OAuth-Flow auf Client credentials — i-Reserve spricht als System mit AFAS, nicht als angemeldete Person.
  5. Wählen Sie unter Benutzer, ob AFAS einen neuen Benutzer basierend auf dem App-Connector-Namen anlegt, oder verwenden Sie einen bestehenden Benutzer.
  6. Fügen Sie alle benötigten Get- und Update-Connectoren (Schritt 2 und 3) zur Liste des App-Connectors hinzu. Achtung: Ein Connector, der nicht explizit hinzugefügt wurde, liefert einen 403-Fehler, auch wenn die Benutzergruppe ihn erlaubt.
  7. Auf dem letzten Bildschirm zeigt AFAS die OAuth-Client-ID und das OAuth-Client-Secret. Speichern Sie beide sofort — das Secret wird danach nicht mehr angezeigt.
  8. Notieren Sie die Umgebungsnummer (Mitgliedsnummer) und welche Umgebung Sie nutzen: Produktion (https://<umgebung>.rest.afas.online/…) oder Test (https://<umgebung>.resttest.afas.online/…).

Classic-Token (veraltet)

Verwenden Sie dies nur für einen App-Connector, der noch nicht auf OAuth umgestellt wurde.

  1. Legen Sie unter Allgemein → Verwaltung → App-Connector einen App-Connector an, setzen Sie Authentifizierungstyp auf Classic token und generieren Sie darin ein Token.
  2. Verknüpfen Sie den App-Connector mit einer Benutzergruppe/Autorisierungsrolle mit den Rechten aus Schritt 4.
  3. Fügen Sie alle benötigten Get- und Update-Connectoren (Schritt 2 und 3) zur Liste des App-Connectors hinzu. Achtung: Ein Connector, der nicht explizit hinzugefügt wurde, liefert einen 403-Fehler, auch wenn die Benutzergruppe ihn erlaubt.
  4. Notieren Sie die Umgebungsnummer (Mitgliedsnummer) und welche Umgebung Sie nutzen: Produktion (https://<umgebung>.rest.afas.online/…) oder Test (https://<umgebung>.resttest.afas.online/…).

2. Benötigte GetConnectoren (lesen: AFAS → i-Reserve)

Die Standardnamen unten sind pro Lizenz anpassbar; verwendet Ihre AFAS-Einrichtung andere Connector-Namen, tragen Sie diese in der Verbindung ein.

ZweckStandard-Connector-NameErforderlich
DebitorenProfit_DebtorJa
RechnungenProfit_Debtor_InvoicesJa
KontaktpersonenProfit_ContactsJa
SachkontenProfit_AccountsJa
KostenstellenProfit_CostCentreJa
USt.-CodesProfit_VAT_CodeJa
JournaleProfit_JournalsJa
ArtikelProfit_ArticleOptional

Jeder GetConnector muss in der AFAS-Verwaltung existieren, dem App-Connector hinzugefügt sein und die Felder enthalten, die das Feld-Mapping erwartet (Debitorennummer, Kontakt- und Adressfelder, IBAN/BIC, USt.-Code, Zahlungsbedingung).

3. Benötigte UpdateConnectoren (schreiben: i-Reserve → AFAS)

ZweckConnectorErforderlich
Debitor anlegen/aktualisierenKnSalesRelationOrg (Standard) oder KnOrganisationJa
RechnungAbhängig vom Rechnungsmodus — siehe AFAS-FakturierungJa (ein Modus)
ZahlungsbuchungFiEntriesJa, immer

FiEntries ist die universelle Basis: Es ist der Standard-Rechnungsmodus und wird unabhängig vom gewählten Rechnungsmodus immer für die Zahlungsbuchung verwendet.

4. Autorisierung (AFAS-Benutzergruppe)

  • Debitoren: einsehen und aktualisieren (in einer Testumgebung auch löschen, damit Testdaten aufgeräumt werden können).
  • Leserechte auf USt.-Codes, Kostenstellen/Projektcodes, Sachkonten und Journale.
  • Finanzbuchungen und Verkaufsrechnungen: anlegen und ändern.
  • Kontaktpersonen: lesen und schreiben — Debitor-Schreibvorgänge verschachteln Kontakt- und Adressobjekte.

5. Voraussetzungen in der AFAS-Verwaltung

  • Ein offenes Geschäftsjahr / eine offene Periode, die Buchungen und Rechnungen akzeptiert.
  • Ein Verkaufsjournal (für Rechnungsdokumente) und ein Memorial-/Finanzjournal (für Buchungen).
  • Gültige USt.-Codes, Sachkonten und Kostenstellen — dieselben Codes, die im Mapping auf der i-Reserve-Seite verwendet werden.
  • Mindestens eine Zahlungsbedingung, falls diese in den Debitorendaten mitgesendet wird.

6. Auf der i-Reserve-Seite

  1. Öffnen Sie Verwaltung → Integrationen → AFAS und tragen Sie die Umgebungsnummer und den Umgebungstyp ein.
  2. Setzen Sie Authentifizierungsmethode auf OAuth (Standard) und tragen Sie die OAuth-Client-ID und das OAuth-Client-Secret ein, die Sie oben bei AFAS notiert haben. Wählen Sie Classic token nur für einen App-Connector, der noch nicht umgestellt wurde, und tragen Sie dort das API-Token ein.
  3. Prüfen Sie die Connector-Namen; die Standardwerte entsprechen den Tabellen oben.
  4. Wählen Sie den Rechnungsmodus (siehe AFAS-Fakturierung).
  5. Füllen Sie das Mapping: Verknüpfen Sie i-Reserve-USt.-Sätze mit AFAS-USt.-Codes, Sachkonten und Kostenstellen. Die Verbindung kann die verfügbaren Werte direkt aus AFAS nachschlagen.
  6. Konfigurieren Sie in den Parametern pro Kundenfeld das Feld-Mapping und die Synchronisationsrichtung (siehe AFAS-Kundensynchronisation).
  7. Setzen Sie die Verbindung auf aktiv.

7. Checkliste

  • ☐ App-Connector angelegt (OAuth, oder Classic token für einen noch nicht umgestellten Connector); Zugangsdaten notiert.
  • ☐ Authentifizierungsmethode gewählt; OAuth-Client-ID/-Secret oder klassisches API-Token in i-Reserve eingetragen.
  • ☐ Alle GetConnectoren (Schritt 2) existieren und sind dem App-Connector hinzugefügt.
  • ☐ UpdateConnectoren (Schritt 3) hinzugefügt: Debitor-Connector, Rechnungs-Connector, FiEntries.
  • ☐ Benutzergruppe hat die Rechte aus Schritt 4.
  • ☐ Offene Periode, Verkaufsjournal und Memorial vorhanden; USt.-Codes/Sachkonten/Kostenstellen passen zum Mapping.
  • ☐ Umgebungsnummer + richtige Umgebung (rest/resttest) in i-Reserve eingetragen.
  • ☐ Rechnungsmodus gewählt; Mapping und Parameter gefüllt; Verbindung aktiv.
  • ☐ Testrechnung endgültig gemacht und in AFAS geprüft (Debitor + Buchung/Rechnung + USt. korrekt).