Zum Inhalt springen

Eigene Adapter entwickeln

Bauen Sie einen eigenen ERP-Adapter für TaprNext, wenn keine native Integration verfügbar ist.

Das System nutzt ein Schichtenmodell: Ihr Adapter implementiert die Basisklassen-Schnittstelle ERPAdapter und sitzt zwischen TaprNext und Ihrem ERP-System, um die gesamte Integrationskommunikation abzuwickeln.

Ihre Implementierung muss ERPAdapter erweitern und diese Kernmethoden bereitstellen:

  • test_connection() — ERP-Verbindbarkeit prüfen
  • get_vendors() — Lieferantenliste aus dem ERP abrufen
  • get_purchase_orders() — Offene Bestellungen holen
  • post_invoice() — Freigegebene Rechnungen ins ERP buchen
  • get_posting_status() — Ergebnis der Rechnungsbuchung prüfen

Der Konstruktor nimmt ein Settings-Dictionary mit Verbindungsparametern wie API-Endpunkten und Authentifizierungsdaten entgegen.

Rechnungen enthalten Lieferanteninformationen, Positionen, Steuerdetails, Daten, Beträge und optionale PO-Referenzen. Jede Position umfasst Beschreibung, Menge, Einzelpreis, Steuersätze und Kontierungscodes.

Vendor-Objekte speichern ERP-IDs, Namen, Steuerkennzeichen, Adressen, bevorzugte Währungen und Zahlungsbedingungen.

Verwenden Sie standardisierte Exceptions:

  • ERPConnectionError — Netzwerk-/Verbindungsfehler
  • ERPAuthenticationError — Ungültige Zugangsdaten
  • ERPPostingError — Fehler bei der Rechnungsübermittlung
  • ERPValidationError — Datenformatprobleme

Definieren Sie ein FIELD_MAP-Dictionary, um TaprNext-Feldnamen auf die Namenskonventionen Ihres ERP zu übersetzen und Unterschiede in Terminologie und Struktur abzubilden.

Unit-Tests prüfen einzelne Methoden mit Mock-Daten. Integrationstests validieren vollständige Zyklen in echten ERP-Testumgebungen mit realen Lieferanten und Bestellungen.

Adapter-Datei in taprnext/adapters/ ablegen, im Adapters-Modul registrieren, ggf. Konfigurationsfelder hinzufügen, dann deployen und validieren.

Sicherstellen, dass alle Schnittstellenmethoden implementiert sind, Fehlermodi behandelt werden, Tests bestehen, Feldmappings dokumentiert sind, Settings konfiguriert und der Adapter korrekt registriert ist.

  • Idempotente Operationen für die Behandlung von Duplikaten implementieren
  • Alle API-Interaktionen umfassend protokollieren
  • Angemessene Request-Timeouts konfigurieren
  • Retry-Logik für vorübergehende Fehler hinzufügen
  • Daten vor dem Buchen validieren