Hinweis: Bitte verbinden Sie JTL nicht, wenn in JTL enthaltene Transaktionen bereits über ein anderes an Taxdoo angeschlossenes System importiert werden.
Anleitung Integration JTL
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:
Externes Hosting
Falls Sie die JTL Datenbank extern hosten lassen (beispielsweise bei JTL-Wawi-Datenbank-Hosting oder in der Ecomdata-Cloud), ist die Datenbank in der Regel auch direkt für uns erreichbar. Es muss lediglich ein Datenbanknutzer für uns angelegt werden. Bei JTL-Wawi-Datenbank-Hosting müssen Sie in der Regel den JTL Support darum bitten, einen Nutzer anzulegen.
Selbst gehostet
Falls Sie den JTL-Datenbankserver selbst betreiben (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. Beachten Sie hierzu den Abschnitt "Konfiguration des SSH-Servers".
In beiden Fällen benötigen Sie entweder eine statische IP-Adresse oder können einen Service wie DynDNS nutzen. Bitte kontaktieren Sie Ihre IT-Mitarbeiter oder Ihren IT-Dienstleister für die Einrichtung.
Bitte nehmen Sie sich zunächst die Zeit und lesen sich unsere allgemeinen Informationen zu unserer JTL-Schnittstelle durch: https://support.taxdoo.com/hc/de/articles/360022001851
Wir empfehlen Ihnen, nach erfolgreicher Anbindung die Anbindungsinformationen an einer sicheren Stelle abzulegen (beispielsweise ein Passwortsafe), um erneute Anbindungen in Zukunft zu erleichtern.
1. Voraussetzungen
- Computer mit Windows 7 (SP1) oder neuer, auf dem auch die JTL WaWi benutzt werden kann (also mit Verbindung zum Datenbankserver)
- Zugangsdaten zu Ihrem Microsoft SQL Datenbankserver, welcher auch von JTL genutzt wird
2. SQL Server Management Studio installieren
Falls Sie SQL Server Management Studio bereits auf einem PC installiert haben, können Sie diesen Abschnitt überspringen. Das Studio wird lediglich für den nächsten Abschnitt "Datenbanknutzer erstellen" benötigt.
- Laden Sie die Setup-Datei herunter: https://go.microsoft.com/fwlink/?LinkID=840946
- Öffnen Sie die heruntergeladene Datei.
- Klicken Sie auf "Installieren".
- Falls eine Autorisierung von Windows angefragt wird, bestätigen Sie diese mit "Ja".
- Warten Sie, bis die Installation abgeschlossen ist.
- Starten Sie den PC ggf. neu.
SQL Server Management Studio ist nun installiert.
2.1 Optional: Datenbankhost herausfinden
Dieser Schritt wird lediglich benötigt, falls Sie die Adresse Ihrer Datenbank nicht kennen. Öffnen sie dafür aus der JTL Wawi die JTL Datenbankverwaltung:
Sie finden die Adresse der Datenbank nun in folgendem Feld:
3. Datenbanknutzer erstellen
- Starten Sie "Microsoft SQL Server Management Studio" (z.B. indem Sie den Namen in das Suchfeld eingeben und dann auswählen).
- Stellen Sie eine Verbindung mit der Datenbank her. Dafür geben Sie in das Feld "Servername" den Namen des Servers bzw. der Instanz an und geben bei Anmeldename und Passwort die Login-Daten etwa für den Datenbank-Administrator an (also die selben Daten, die auch bei JTL konfiguriert sind).
- Erweitern Sie 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 (notieren Sie sich 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/.
- 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ätigen Sie mit "OK"
Sie haben 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 Sie JTL-WaWi-Hosting direkt bei JTL nutzen. In diesem Fall muss der JTL Support (oder Ihr 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 Sie 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, Ihre eigenen JTL-WaWi-Datenbankzugangsdaten zu nutzen.
Tragen Sie nun die Zugangsdaten im entsprechenden Formular im Dashboard ein (Einstellungen -> Schnittstellen -> JTL).
Konfiguration des SSH-Servers
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: https://docs.microsoft.com/de-de/windows-server/administration/openssh/openssh_install_firstuse
Die durchzuführenden Schritte sind im Groben Folgende:
- 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 Ihrer Wahl auf dem Rechner / der VM mit dem SSH-Server hinterlegen (oder einen neuen Benutzer angelegen, 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 erhält man beispielsweise mit folgendem Befehl (der hostname muss durch die Adresse des SSH-Servers ersetzt werden):
ssh-keyscan hostname 2>$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, sollten Sie 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.
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:
- Passwordbasierte 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 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: https://docs.aws.amazon.com/de_de/general/latest/gr/aws-ip-ranges.html (wir verwenden ausschließlich Infrastruktur in Frankfurt / eu-central-1).
Alternativen zum Taxdoo JTL Exporter
Dieser Abschnitt ist für Nutzer unseres Taxdoo JTL Exporters. Falls Sie Neukunde sind, trifft das nicht auf Sie zu.
Da wir den Taxdoo JTL Exporter zum 1. August 2019 einstellen werden, muss bis dahin eine Alternative umgesetzt werden, um uns Ihre Transaktionsdaten auch danach verfügbar zu machen.
In den folgenden Absätzen werden einige Alternativen aufgezeigt.
Umstieg auf eine gehostete SQL Server Datenbank
Sie steigen auf eine gehostete Lösung für die SQL Server Datenbank um. Folgende Anbieter haben spezielle Angebote für das JTL Wawi Hosting:
- ecomData https://www.ecomdata.de/
- JTL Wawi Hosting https://www.jtl-software.de/warenwirtschaft/rdp-hosting (möglicherweise fallen hier noch zusätzliche 20€ pro Monat für einen Datenbanknutzer an)
Möglich sind auch allgemeine Hosting-Services, wo Sie die Datenbankserver und den Wawi-Worker selbst einrichten müssen, beispielsweise:
- Amazon Web Services https://aws.amazon.com/de/
- Google Cloud https://cloud.google.com/
- Strato https://www.strato.de/
Eigenen Datenbankserver erreichbar machen
Sie machen Ihren Datenbankserver über das Internet erreichbar, beispielsweise über eine Portfreigabe bei Ihrem Router. Für mehr Sicherheit empfehlen wir, nicht den Datenbankserver direkt verfügbar zu machen, sondern einen SSH-Server einzurichten, über den wir uns mit der Datenbank verbinden können.
CSV-Upload / Eigene API-Anbindung
Falls die beiden anderen Optionen für Sie nicht möglich sind, müssen Sie auf einen CSV-Upload umsteigen. Dafür müssen Sie ein Exportformat in JTL festlegen und monatlich CSV-Dateien über unser Dashboard hochladen. Alternativ ist auch eine eigene Anbindung über unsere API möglich (https://dev.taxdoo.com).
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.