Verbinden Sie JTL-Wawi mit BISpicy POS und synchronisieren Sie Produkte, Bestand, Kunden und Bestellungen bidirektional. Kostenlos verfügbar für alle BISpicy-Nutzer.
Die JTL-Wawi Integration verbindet Ihre JTL-Warenwirtschaft mit BISpicy POS. Artikelstammdaten, Lagerbestände, Kundendaten und Verkäufe werden automatisch synchronisiert, sodass beide Systeme stets auf dem aktuellen Stand sind.
| Datentyp | Beschreibung | Richtung |
|---|---|---|
| Produkte | Artikelstammdaten (Name, SKU, EAN, Preise, Steuersätze, Beschreibungen) | Bidirektional |
| Bestellungen | POS-Verkäufe werden als Aufträge (Sales Orders) in JTL angelegt | Zu JTL |
| Kunden | Kundenstammdaten (Name, Adresse, E-Mail, Telefon, USt-IdNr.) | Bidirektional |
| Bestand | Lagerbestände und Bestandsbewegungen | Bidirektional |
| Kategorien | Warengruppen und Kategoriebäume | Bidirektional |
| Version | Variante | Status |
|---|---|---|
| JTL-Wawi 1.9+ | OnPremise (lokal installiert) | Unterstützt |
| JTL-Wawi 1.9+ | Cloud | Unterstützt |
| JTL-Wawi < 1.9 | Alle | Nicht unterstützt |
Bevor Sie die Integration einrichten, stellen Sie sicher, dass folgende Voraussetzungen erfüllt sind:
| # | Voraussetzung | Details |
|---|---|---|
| 1 | JTL-Wawi 1.9+ | Die REST API ist erst ab Version 1.9 verfügbar. Prüfen Sie Ihre Version unter Hilfe → Über JTL-Wawi. |
| 2 | REST API aktiviert | Die JTL REST API muss in den Einstellungen aktiviert und eine App-Registrierung angelegt sein. |
| 3 | BISpicy POS Account | Ein aktives BISpicy-Konto mit WaWi-Verbindung (BIS ERP oder Kundencenter). |
| 4 | Netzwerkzugang | Der BISpicy-Server muss die JTL-Wawi REST API erreichen können (Port freigegeben, ggf. VPN/Port-Forwarding bei OnPremise). |
Die Einrichtung erfolgt in 9 Schritten — alle der Reihe nach, ohne hin und her zu springen.
Bevor Sie die Integration einrichten können, muss der REST API Server auf Ihrem JTL-Wawi-Rechner laufen. Sie haben zwei Möglichkeiten:
| Parameter | Beschreibung | Standard |
|---|---|---|
-w | JTL-Wawi Profilname | Standard |
-l | IP-Adresse, auf der der Server lauscht | 0.0.0.0 (alle Schnittstellen) |
--port | Port für die REST API | 5883 |
-d | Name der JTL-Datenbank | eazybusiness |
127.0.0.1 = nur lokaler Zugriff, 192.168.x.x = Zugriff im lokalen Netzwerk, 0.0.0.0 = alle Schnittstellen (lokal + Netzwerk + extern). Für die BISpicy-Anbindung muss der Server von außen erreichbar sein — verwenden Sie 0.0.0.0.Ab JTL-Wawi 1.9 können Sie den REST API Server als Windows-Dienst installieren, sodass er automatisch mit Windows startet:
Der Dienst lässt sich über die Windows-Dienstverwaltung (services.msc) starten, stoppen und auf "Automatisch" setzen.
Bei einer lokal installierten JTL-Wawi benötigen Sie BISConnect als Brücke zwischen dem BISpicy-Cloud-Server und Ihrem lokalen JTL-Server:
http://127.0.0.1:5883) in BISConnect eintragen
Navigieren Sie in BISpicy zur JTL-Integration:
Klicken Sie auf "Mit JTL verbinden" und füllen Sie den Dialog aus:
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Verbindungsname | Frei wählbarer Name für diese Verbindung | JTL-Wawi |
| JTL-Wawi Server-URL | IP-Adresse Ihres JTL-Servers (Port wird automatisch ergänzt, Standard: 5883) | 192.168.1.61 |
| JTL-Wawi On-Premise | Aktivieren, wenn JTL lokal installiert ist (nicht Cloud) | Ein / Aus |
| Datenbankname | Name der JTL-Datenbank (der gleiche wie beim Start des API-Servers, Parameter -d) | eazybusiness |
Wechseln Sie zur JTL-Wawi Desktop-Anwendung und öffnen Sie den Registrierungsdialog:
Klicken Sie jetzt in BISpicy auf "Registrierung starten". BISpicy sendet die Anfrage an Ihre JTL-Wawi.
In JTL-Wawi erscheint jetzt die erkannte Anwendung. Gehen Sie alle Schritte vollständig durch:
a) Anwendungsinformationen — prüfen und auf "Weiter" klicken.
b) Benutzer zuordnen — vergeben Sie einen Benutzernamen (z.B. BISpicy):
c) Zugriffsverwaltung — alle fünf API-Scopes müssen erteilt sein:
all.read — Lesezugriff auf alle Daten (Artikel, Kunden, Bestand)stock.stockadjustment — Bestandsänderungen durchführensalesorder.createsalesorder — Kassenverkäufe als Aufträge anlegencustomer.createcustomer — POS-Barkauf-Kunden automatisch erstellencustomers.write — Kundendaten schreiben
d) Einrichtung abschließen — Zusammenfassung prüfen und auf "Fertigstellen" klicken:
Zurück in BISpicy: Aktivieren Sie die Checkbox "Einrichtung in JTL-Wawi abgeschlossen" und klicken Sie auf "Registrierung abschließen".
Nach dem Klick wird der API-Key automatisch abgerufen:
In der JTL-Wawi Übersicht erscheint die Checkbox "Registrierung abgeschlossen" automatisch als angehakt:
Legen Sie für jeden Datentyp fest, in welche Richtung synchronisiert werden soll. Details dazu finden Sie im nächsten Abschnitt Sync-Konfiguration.
Klicken Sie auf "Testen", um die Erreichbarkeit und Authentifizierung zu prüfen.
| Status | Bedeutung |
|---|---|
| Verbunden | Verbindung erfolgreich. Sie können den ersten Sync auslösen. |
| Fehlgeschlagen | Prüfen Sie URL, API-Key und Netzwerk (siehe Fehlerbehebung). |
Für jeden Datentyp können Sie die Sync-Richtung individuell festlegen. So behalten Sie die volle Kontrolle darüber, welches System die Datenhoheit hat.
| Datentyp | Zu JTL | Von JTL | Bidirektional | Aus |
|---|---|---|---|---|
| Produkte | ||||
| Bestellungen | ||||
| Kunden | ||||
| Bestand | ||||
| Kategorien |
| Szenario | Produkte | Bestand | Kunden | Bestellungen |
|---|---|---|---|---|
| JTL ist Hauptsystem Stammdaten werden in JTL gepflegt |
Von JTL | Bidirektional | Bidirektional | Zu JTL |
| POS ist Hauptsystem Stammdaten werden in BISpicy gepflegt |
Zu JTL | Bidirektional | Zu JTL | Zu JTL |
| Beide Systeme gleichberechtigt Änderungen in beiden Systemen möglich |
Bidirektional | Bidirektional | Bidirektional | Zu JTL |
Die folgende Tabelle zeigt, wie BISpicy-Felder auf JTL-Wawi-Felder abgebildet werden.
| BISpicy-Feld | JTL-Wawi-Feld | Hinweis |
|---|---|---|
sku | SKU | Artikelnummer - dient als eindeutiger Schlüssel für den Abgleich |
name | Name | Produktname |
shortDescription | ShortDescription | Kurzbeschreibung |
ean | Identifiers.Gtin | EAN/GTIN Barcode |
sellingPrice | ItemPriceData.SalesPriceNet | Netto-Verkaufspreis |
purchasePrice | ItemPriceData.PurchasePriceNet | Netto-Einkaufspreis |
taxRate | TaxClassId | Steuersatz (wird über JTL Steuerklassen gemappt) |
stockQuantity | StorageOptions | Lagerbestand |
category | Categories[].CategoryId | Kategorie (wird per Name/ID aufgelöst) |
| BISpicy-Feld | JTL-Wawi-Feld | Hinweis |
|---|---|---|
saleId | ExternalNumber | Externe Belegnummer zur Referenz |
saleDateTime | SalesOrderDate | Verkaufsdatum und -uhrzeit |
cashierName | Comment | Kassierer-Name wird als Kommentar hinterlegt |
paymentMethod | PaymentMethodName | Zahlungsart (Bar, Karte, SumUp, Zettle, etc.) |
items[].name | LineItems[].Name | Positionsname |
items[].quantity | LineItems[].Quantity | Menge (inkl. Dezimalmengen bei teilbaren Produkten) |
items[].unitPrice | LineItems[].SalesPriceNet | Netto-Einzelpreis |
items[].taxRate | LineItems[].TaxRate | Steuersatz der Position (z.B. 19, 7) |
Nachdem die JTL-Verbindung im Kundencenter eingerichtet ist, müssen Sie die BISpicy POS App mit dem gleichen Konto verbinden, damit die synchronisierten Artikel auf der Kasse erscheinen.
Es gibt zwei Wege, sich mit Ihrem BISpicy-Konto in der Kassenapp anzumelden:
Beim ersten Start der App erscheint der Einrichtungs-Wizard. Im Schritt "Ihr persönliches Kundencenter" können Sie sich direkt anmelden oder registrieren:
Falls Sie den Wizard bereits abgeschlossen haben, finden Sie die Anmeldung unter:
Einstellungen → Steuern & Compliance → Kundenkonto & Lizenzen
Nach der Anmeldung sehen Sie im gleichen Screen Ihre Kassen-Module und den Verbindungsstatus. Oben links neben dem Hamburger-Menü erscheint ein Statusindikator:
Nach der Anmeldung synchronisiert die Kassenapp automatisch die Artikel aus Ihrem Konto. So prüfen Sie, ob die JTL-Artikel angekommen sind:
Standardmäßig synchronisiert die Kassenapp alle 15 Minuten mit dem Kundencenter. Sie können das Intervall anpassen unter:
Einstellungen → Daten & Sicherung → Sync-Intervall
| Intervall | Empfohlen für |
|---|---|
| 1 Minute | Häufige Preisänderungen, Echtzeit-Bestand |
| 5 Minuten | Aktiver Kassenbetrieb mit regelmäßigen Änderungen |
| 15 Minuten (Standard) | Die meisten Betriebe |
| 30 Minuten | Wenige Änderungen im Tagesverlauf |
| 60 Minuten | Reine Stammdaten, selten aktualisiert |
Der automatische Sync läuft serverseitig im Hintergrund und hält beide Systeme ohne manuellen Eingriff synchron.
Wählen Sie das gewünschte Intervall für den automatischen Abgleich:
| Intervall | Beschreibung | Empfohlen für |
|---|---|---|
| 15 Minuten | Sehr häufiger Abgleich, nahezu Echtzeit | Hohe Transaktionsvolumen, Omnichannel |
| 30 Minuten | Guter Kompromiss aus Aktualität und Last | Die meisten Betriebe |
| 1 Stunde | Stündlicher Abgleich | Mittleres Transaktionsvolumen |
| 6 Stunden | Mehrmals täglich | Wenige tägliche Änderungen |
| 24 Stunden | Einmal täglich (nachts) | Reine Stammdaten-Synchronisation |
In der Integrationsübersicht sehen Sie jederzeit:
Über den Button "Jetzt synchronisieren" können Sie jederzeit einen manuellen Sync auslösen, unabhängig vom konfigurierten Intervall.
Im Kundencenter unter JTL-Wawi Integration → Sync-Protokoll können Sie detailliert nachvollziehen, welche Daten synchronisiert wurden. Das Protokoll zeigt:
Das Kundencenter ist die Zentrale zwischen JTL-Wawi und Kassenapp. Beide Intervalle sind unabhängig voneinander konfigurierbar.
updated_at Timestamps). Ein vollständiger Abgleich aller Daten ist nicht nötig und spart Bandbreite.Die JTL-Wawi REST API (v1) befindet sich noch im Beta-Stadium. Einige Funktionen sind derzeit eingeschränkt:
Die JTL REST API v1 unterstützt weder PATCH (Update) noch Workflow-Events für Aufträge. POS-Kassenverkäufe werden daher als "Nicht bezahlt" und "Ausstehend" in JTL-Wawi angelegt.
Empfohlener Workaround: JTL-Workflow einrichtenErstellen Sie in JTL-Wawi unter Admin → JTL-Workflows einen automatischen Workflow:
BISpicy POSDie JTL REST API v1 unterstützt keine Stücklisten-Verknüpfung in Auftragspositionen. Wenn ein Stücklistenartikel (z.B. ein 30er-Pack) über die Kasse verkauft wird, erscheint in JTL der Hinweis "Stückliste wurde ohne Komponenten erstellt". Die Komponenten müssen in JTL manuell aufgelöst oder über einen Workflow ergänzt werden.
Diese Einschränkungen werden automatisch behoben, sobald JTL-Software die REST API erweitert. BISpicy passt die Integration laufend an neue JTL-API-Versionen an.
Nachfolgend finden Sie Lösungen für die häufigsten Probleme bei der JTL-Integration.
System.Net.HttpListenerException: Das Format des angegebenen Netzwerknamens ist unzulässig.
127.0.0.1 ist der Server nur lokal erreichbar. Für die BISpicy-Anbindung muss der Server von außen erreichbar sein. Prüfen Sie in diesem Fall, ob deaktivierte Netzwerkadapter (WLAN, VPN) das Binden auf 0.0.0.0 verhindern, und aktivieren Sie diese ggf. wieder.5883)Wenn Sie ein Problem nicht lösen können, kontaktieren Sie unseren Support:
Öffnen Sie ein Support-Ticket direkt in der BISpicy POS App unter Einstellungen → Support.
Schreiben Sie uns an [email protected] mit einer Beschreibung des Problems.