Dieser Artikel beschreibt, wie Ihr Eure JTL-Warenwirtschaft mit Taxdoo verbinden und uns somit den Abruf von Transaktionsdaten ermöglichen könnt.
Hinweis: Bitte achtet bei der Anbindung von Schnittstellen darauf, dass Transaktionen nicht doppelt von uns importiert werden können. Es sollten keine Marktplätze oder Webshops direkt angebunden werden, wenn die dort enthaltenen Transaktionen auch in JTL erfasst werden.
Eine Ausnahme bildet die Amazon-Schnittstelle, da wir hier neben Umsätzen auch weitere Daten importieren. Ob Ihr Amazon zusätzlich anbinden müsst, könnt Ihr unserem Support-Artikel Muss ich Amazon zusätzlich zu meinem ERP-System verbinden? entnehmen.
Wenn Ihr Euch unsicher seid, welche Schnittstellen verbunden werden sollen, kontaktiert uns gerne über das Hilfezentrum.
Anleitung zur Anbindung von JTL
Bitte nehmt Euch zunächst die Zeit und lest Euch unsere allgemeinen Informationen zur JTL-Schnittstelle durch.
Die JTL-WaWi bietet leider keine Möglichkeit, von externer Seite Transaktionsdaten abzurufen. Aus diesem Grund exportieren wir Bestellungen, Gutschriften und Einkaufspreise direkt aus der JTL-Datenbank. Je nachdem, wo die Datenbank liegt und wie sie erreichbar ist, verläuft die Integration.
Hinweis: Über die von uns verwendeten AWS-Services werden aktuell nur Verbindungen mit IPv4-Adressen zugelassen. Ihr könnt daher aktuell keine Anbindung herstellen, wenn Euer Server nur unter einer IPv6-Adresse erreichbar ist.
Externes Hosting
Falls Ihr die JTL Datenbank extern hosten lasst (beispielsweise bei JTL-Wawi-Datenbank-Hosting oder in der Ecomdata-Cloud), ist die Datenbank in der Regel auch direkt für uns erreichbar und es muss lediglich ein Datenbanknutzer für uns angelegt werden. Bei JTL-Wawi-Datenbank-Hosting müsst Ihr in der Regel den JTL Support darum bitten, einen Nutzer anzulegen.
Selbst gehostet
Falls Ihr den JTL-Datenbankserver selbst betreibt (beispielsweise in den eigenen Geschäftsräumen), muss der Datenbankserver für uns erreichbar gemacht werden. Dafür gibt es 2 Möglichkeiten:
- Datenbank direkt erreichbar machen, etwa über eine Portfreigabe am Router.
- Einen SSH-Server einrichten, über den wir uns mit der Datenbank verbinden können. Hier ist möglicherweise auch eine Portfreigabe am Router für den SSH Server erforderlich. Beachtet hierzu den Abschnitt "Konfiguration des SSH-Servers (Optional)".
In beiden Fällen benötigt Ihr entweder eine statische IP-Adresse oder könnt einen Service wie DynDNS nutzen. Bitte kontaktiert einen IT-Mitarbeiter oder einen IT-Dienstleister für die Einrichtung.
Wir empfehlen, nach erfolgreicher Anbindung die Anbindungsinformationen an einer sicheren Stelle abzulegen (beispielsweise ein Passwortsafe), um erneute Anbindungen in Zukunft zu erleichtern. Die Informationen werden bei uns verschlüsselt gespeichert und können daher nicht ohne weiteres von unserem Support abgerufen werden.
- Voraussetzungen
- Computer mit Windows 7 (SP1) oder neuer, auf dem auch die JTL WaWi benutzt werden kann (also mit Verbindung zum Datenbankserver)
- Zugangsdaten zu Eurem Microsoft SQL Datenbankserver, welcher auch von JTL genutzt wird
- SQL Server Management Studio installieren
Falls Ihr SQL Server Management Studio bereits auf einem PC installiert haben, könnt Ihr diesen Abschnitt überspringen. Das Studio wird lediglich für den nächsten Abschnitt "Datenbanknutzer erstellen" benötigt.
- Ladet die Setup-Datei unter diesem Link herunter.
- Öffnet die heruntergeladene Datei.
- Klickt auf "Installieren".
- Falls eine Autorisierung von Windows angefragt wird, bestätigt diese mit "Ja".
- Wartet, bis die Installation abgeschlossen ist.
- Startet den PC ggf. neu.
- SQL Server Management Studio ist nun installiert.
2.1 Optional: Datenbankhost herausfinden
Dieser Schritt wird lediglich benötigt, falls Ihr die Adresse eurer Datenbank nicht kennt. Öffnet dafür aus der JTL Wawi die JTL Datenbankverwaltung:
Ihr findet die Adresse der Datenbank nun in folgendem Feld:
3. Datenbanknutzer erstellen
-
- Startet "Microsoft SQL Server Management Studio" (z.B. indem Ihr den Namen in das Suchfeld eingebt und dann auswählt).
- Stellt eine Verbindung mit der Datenbank her. Dafür gebt Ihr in das Feld "Servername" den Namen des Servers bzw. der Instanz an und gebt bei Anmeldename und Passwort die Login-Daten etwa für den Datenbank-Administrator an (also dieselben Daten, die auch bei JTL konfiguriert sind).
- Erweitert links den Abschnitt "Sicherheit".
- Rechtsklick auf "Anmeldungen".
- "Neue Anmeldung..." auswählen (wie im Bild):
- Als Anmeldenamen "TAXDOO" wählen.
- "SQL Server-Authentifizierung" auswählen.
- Ein beliebiges sicheres Passwort eingeben und bestätigen (notiert Euch das Passwort). Das Passwort sollte nicht zu erraten sein (also nicht "taxdoo123"). Ein zufälliges Passwort lässt sich auch in gängigen Passwort-Managern erstellen oder unter https://passwordsgenerator.net/. Bitte verwenden Sie keines der folgenden Zeichen, da es zu Problemen bei der Anbindung führen könnte:
[] () , ; ? * ! @ =.
- Haken bei "Ablauf des Kennworts erzwingen" entfernen.
- Das aktuelle Fenster sollte nun so aussehen:
- Links die Seite "Benutzerzuordnung" wählen.
- Haken bei der JTL-Datenbank setzen (meist "eazybusiness").
- Unten bei dem Eintrag "db_datareader" den Haken setzen.
- Das aktuelle Fenster sollte nun in etwa so aussehen:
- Bestätigt mit "OK"
Ihr habt nun einen Datenbanknutzer mit Leserechten (ohne Schreibrechte) erstellt.
Hierbei kann ein Fehler auftreten, dass keine ausreichenden Rechte zum Anlegen eines Nutzers bestehen. Dies kommt insbesondere dann vor, wenn Ihr JTL-WaWi-Hosting direkt bei JTL nutzt. In diesem Fall muss der JTL Support (oder Euer Hostingprovider) kontaktiert werden, mit der Bitte, einen Datenbanknutzer mit Leserechten anzulegen.
Beim JTL-Support kamen bisher folgende Fälle vor:
- Der JTL Support legt ohne weitere Diskussion einen Datenbanknutzer an. Dies kommt vor, falls für Euch bei JTL ein älteres Lizenzmodell genutzt wird.
- Der JTL Support bietet die Einrichtung eines Datenbanknutzers gegen eine monatliche Gebühr an (bisher 19,99€ im Monat).
- Der JTL-Support weigert sich, einen Datenbanknutzer anzulegen. In diesem Fall ist unsere letzte Option, Eure eigenen JTL-WaWi-Datenbankzugangsdaten zu nutzen.
Tragt nun die Zugangsdaten im entsprechenden Formular im Dashboard ein (Einstellungen → Schnittstellen → JTL). Hier findet Ihr zudem eine Beschreibung der einzelnen Felder des Formulars.
Konfiguration des SSH-Servers (Optional)
Falls wir uns über einen SSH-Server mit der JTL-Datenbank verbinden sollen, ist eine entsprechende Konfiguration des SSH-Servers erforderlich.
Die Einrichtung variiert je nach verwendetem Server. Bei Linux-Systemen ist in der Regel OpenSSH vorinstalliert. Bei Windows (Server) kann beispielsweise OpenSSH installiert werden. Für aktuelle Versionen von Windows 10 und Windows Server geht das nach dieser Anleitung.
Die durchzuführenden Schritte sind daher im weitesten Sinne die Folgenden:
- Datenbanknutzer für uns bei der SQL Server Datenbankinstanz anlegen (siehe oben)
- SSH-Server auf einem Rechner/VM installieren, von der die SQL Server Datenbankinstanz erreichbar ist (oder den SSH-Server direkt auf dem Datenbankserver installieren)
- Sicherstellen, dass der SSH-Server über das Internet erreichbar ist (etwa durch eine Portweiterleitung beim Router und ggf. entsprechende Regeln bei der Firewall)
- Unseren öffentlichen Schlüssel bei einem Nutzer Eurer Wahl auf dem Rechner / der VM mit dem SSH-Server hinterlegen (oder einen neuen Benutzer anlegen, beispielsweise mit dem Namen "taxdoo")
- Den Fingerabdruck des SSH-Servers bestimmen (siehe unten)
Fingerabdruck des SSH-Servers
Wir benötigen den "Fingerabdruck" des SSH-Servers, um sicherzustellen, dass wir uns mit der korrekten Adresse verbinden. Den Fingerabdruck erhaltet Ihr beispielsweise mit folgendem Befehl (der hostname muss durch die Adresse des SSH-Servers ersetzt werden).
Für die Windows-Kommandozeile lautet der Befehl:
ssh-keyscan hostname 2>$null | ssh-keygen -lf -
Für Linux / Mac OS lautet der Befehl:
ssh-keyscan hostname 2>/dev/null | ssh-keygen -lf -
Der Fingerabdruck muss zusammen mit dem Format angegeben werden (wie bei der Ausgabe des obigen Befehls). Beispiele für valide Fingerabdrücke sind:
- MD5:f1:6d:0c:d7:6d:35:0d:ba:7c:32:d3:5e:40:72:db:08
- SHA256:oQGbQTuNtjGeNIgh0OhcEpA/BHxcYY+NxXtt3rTxQjs=
Falls die Ausgabe mehrere Fingerabdrücke umfasst, solltet Ihr für die Anbindung über unser Dashboard alle Fingerabdrücke parat haben.
Öffentlicher Schlüssel
Wir werden uns mittels public/private key authentifizieren, daher muss bei Euch beim angegebenen SSH-Nutzer folgender public key hinterlegt werden:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8jPWgjcx1Tktm8n3Jl36mB9aeApq+NzgddcfPYS16T9MZa9IQrYQnueiWp5A/M5PvJEYvLlm7tmkNmkHfu7ZjxjA9c7vVXxnH9D58n71TVUkpdRWYDVS94MmK92SHiH4UmWfnJm8cplDkPTU5GHvA9VNreyNWkB9L8fUDmliBBOcnbmJBq1Xqcp9f4BpYjtODTusuhfkM4l0G2gqeLkzRWwFQhpP9sedrdKsfoIyE6fnYQEiUULBpxdmXub1Epw7DNVuRo2n9lD8Db0LbHBqeb48rqQx+wIDCq0cCWwGUOGhXn1SldXL9U/fZahLJIgHcIaRAdbHdAq8ujbb6V/in taxdoo-jtl
Dieser Schlüssel muss in der Regel in der Datei ~/.ssh/authorized_keys hinterlegt werden. Bitte beachtet, dass es sich bei dieser Datei nicht um eine Textdatei handelt. Sollte die Datei also noch nicht existieren, erstellt bitte eine Datei ohne Dateityp.
Benötigte Informationen
Im Formular im Dashboard (Einstellungen → Schnittstellen → JTL) müssen folgende Informationen zur Einrichtung der Verbindung über SSH eingegeben werden:
- Adresse und Port des SSH-Servers
- Benutzername des SSH-Nutzers
- Fingerabdruck des SSH Servers (Hexadezimal mit Doppelpunkten getrennt bei MD5, oder Base64 bei SHA1 oder SHA256).
Sicherheit
Man sollte davon ausgehen, dass man bei der Standardkonfiguration eines SSH-Servers sofort Angriffen von Botnetzen ausgesetzt ist, sobald dieser über das Internet erreichbar ist. Um die Angriffsfläche zu reduzieren, sind beispielsweise folgende Maßnahmen möglich:
- Passwort-basierte Authentifikation deaktivieren (für uns ist nur die Authentifikation via public/private key nötig), da die allermeisten Angriffe darauf abzielen.
- Den Port des SSH-Servers (standardmäßig 22) auf einen freien nicht standardmäßig verwendeten Port ändern. Dafür eignen sich insbesondere normalerweise nicht von anderen Anwendungen verwendete Ports. Eine Quelle dafür ist beispielsweise Wikipedia.
- SSH-Zugriff auf Benutzer wie "root" oder "admin" verhindern
Eine Einschränkung des von uns verwendeten IP-Adressbereiches ist leider kaum möglich. Wir verwenden für die Importe Infrastruktur von AWS, sodass eine Vielzahl von IP-Adressbereichen möglich ist. Die IP-Adressbereiche ändern sich zudem von Zeit zu Zeit. Informationen darüber sind hier zu finden (wir verwenden ausschließlich Infrastruktur in Frankfurt / eu-central-1).
Fragen?
Kontaktiert uns gerne jederzeit über das Hilfezentrum.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.