BIS ERP kann sich vollständig in eine bestehende JTL-Wawi integrieren — bidirektionaler Datenabgleich, POS-Verkäufe als JTL-Aufträge und automatische Rechnungsstellung über JTL-Workflows.
Im typischen Setup behält JTL-Wawi die führende Rolle für Buchhaltung, OP-Verwaltung, DATEV-Export und Rechnungsdruck. BIS ERP übernimmt die operativen Aufgaben (Artikelpflege via BISView, Lagerstandsabgleich, Multi-Channel-Listings) und schreibt jeden POS-Verkauf als regulären JTL-Auftrag.
Rechnungskauf an der Kasse
Wenn ein Kunde an der BISpicy POS-Kasse auf Rechnung kauft, druckt JTL die Rechnung automatisch per Workflow — ohne dass jemand SQL anfassen oder etwas manuell anstoßen muss. Die Einrichtung dauert ca. 5 Minuten und ist unten Schritt für Schritt beschrieben.
Voraussetzungen
JTL-Wawi 1.8 oder 2.0+ mit REST-API-Server (für Artikel-/Bestandssync) und/oder MSSQL-Direktzugriff (für POS-Auftragsanlage). Der Code adressiert beide Schema-Varianten automatisch (in 2.0 liegen die Auftrags-Tabellen im Verkauf.-Schema, in 1.x direkt unter dbo.). Live im Echteinsatz getestet auf 2.0.2 — auf 1.8 erwartet kompatibel, da die Workflow-Engine-Tabellen seit Jahren stabil sind.
BISConnect-Client (Tauri/Windows) installiert auf demselben Rechner wie JTL-Wawi. BISConnect ist die kostenlose Brücke zwischen Ihrer lokalen JTL-Datenbank und der BISpicy-Cloud — Download im Kundencenter.
BIS ERP Kundencenter-Zugang mit aktiviertem Modul „JTL-Integration".
Für Rechnungskauf-Workflow: JTL-Wawi-Workflow „Rechnung Drucken" oder gleichwertig (siehe weiter unten).
Verbindung einrichten
Im BIS ERP unter Einstellungen → Schnittstellen → JTL-Wawi (bzw. im Kundencenter) die Verbindung anlegen. Die ausführliche Schritt-für-Schritt-Anleitung mit Screenshots gibt es zusätzlich in der POS-Dokumentation: bispos.app/docs/jtl-integration.html.
Einstellungen → Schnittstellen → JTL-Wawi: Verbindung anlegen (Host, Modus, Status)
1BISConnect installieren und koppeln
Den BISConnect-Client auf dem JTL-Wawi-Server installieren und mit Ihrem BISpicy-Konto verbinden. BISConnect übernimmt das Long-Polling zwischen Cloud und lokaler Datenbank.
2JTL-Verbindung anlegen
In der JTL-Integration auf „Neue Verbindung" klicken. Sync-Modus „Direct SQL" wählen (empfohlen für Rechnungskauf-Szenarien, da MSSQL-Zugriff für die Auftragsanlage und Workflow-Queue-Insert nötig ist).
3API-Key und Datenbankname hinterlegen
JTL-API-Key (für Artikel-/Bestandsabgleich) und Datenbankname (typisch eazybusiness) eintragen. BISConnect testet die Verbindung automatisch.
4Sync-Richtungen wählen und speichern
Festlegen, welche Datenarten in welche Richtung synchronisiert werden — siehe nächster Abschnitt.
Sync-Richtungen
Pro Datentyp lässt sich getrennt einstellen, in welche Richtung synchronisiert wird.
Datentyp
Empfehlung
Hinweis
Artikel/Produkte
Von JTL
Stammdaten in JTL pflegen, BIS ERP übernimmt sie
Bestand
Bidirektional
Bestand wird aus JTL gezogen, POS-Verkäufe reduzieren ihn in JTL
Kunden
Bidirektional
POS-Neukunden landen in JTL, JTL-Kunden in BIS ERP für die Kasse
Aufträge
Zu JTL
POS-Verkäufe werden in JTL als Aufträge angelegt — Voraussetzung für den Rechnungs-Workflow
Rechnungen
Aus — JTL macht das
JTL erstellt Rechnungen per Workflow, BIS ERP greift nicht ein
Zahlungsarten-Zuordnung
Im Kundencenter unter JTL-Integration → Zahlungsarten-Zuordnung (JTL ↔ POS) wird festgelegt, welche JTL-Zahlart welcher POS-Zahlart entspricht. Jede JTL-Zahlart kann zusätzlich als „Rechnungskauf" markiert werden — das ist das Signal, anhand dessen BIS ERP einen POS-Verkauf als Rechnungskauf erkennt und entsprechend verarbeitet.
1JTL-Zahlarten abrufen
Auf „Zahlungsarten neu abrufen" klicken — BIS ERP liest die Tabelle dbo.tZahlungsart live aus JTL und zeigt sie in der Tabelle.
2Mapping setzen
Jeder JTL-Zahlart (Bar, EC-Karte, Rechnung, Vorkasse, etc.) eine POS-Zahlart zuordnen. Die Rechnungs-Zahlart (in JTL z. B. „Rechnung" oder eine eigene Bezeichnung wie „Rechnung by Asia-In") auf „rechnung" mappen.
3Rechnungskauf markieren
Bei der Rechnungs-Zahlart das Häkchen „Rechnungskauf" setzen. Ohne dieses Häkchen wird der Verkauf als Sofortzahlung behandelt — der Rechnungs-Workflow läuft dann nicht.
Was BIS ERP technisch macht
Bei Rechnungskauf-Verkäufen wird in JTL keintZahlung-Eintrag angelegt, nIstExterneRechnung bleibt auf 0, und die Positionen werden mit fAnzahlAufRechnung = 0 angelegt — damit der „Rechnung erstellen"-Workflow eine offene Menge findet.
Rechnungskauf-Workflow im Kundencenter
Unter JTL-Integration → Workflow für Rechnungskauf an der Kasse lässt sich aus einer Dropdown-Liste der JTL-Workflow auswählen, der nach jedem Rechnungskauf-Verkauf automatisch ausgelöst werden soll — typischerweise „Rechnung Drucken". Die Liste wird live aus Ihrer JTL geladen.
1Workflow wählen
Aus dem Dropdown den gewünschten JTL-Workflow auswählen (z. B. „Rechnung Drucken"). „— Kein Workflow —" deaktiviert das Feature; dann muss die Rechnung manuell in JTL erstellt werden.
2Verzögerung festlegen
Wählen Sie zwischen Sofort (empfohlen) und 1 Minute. Mit „1 Minute" hat JTL eine Pufferzeit, um alle Eckdaten zu indexieren, bevor der Workflow läuft. In den meisten Setups funktioniert „Sofort" zuverlässig.
3Speichern
Speichern. Ab dem nächsten Rechnungskauf-Verkauf legt BIS ERP automatisch einen Eintrag in dbo.tWorkflowQueue an — JTL führt den Workflow aus.
Ablauf eines Rechnungskauf-Verkaufs (End-to-End)
1
An der Kasse: Kassierer wählt Zahlart „Rechnung". Kunde muss zugewiesen sein (kein Laufkunde).
2
POS → BIS ERP: Bon wird in die Cloud gepusht mit isInvoicePayment = true.
3
BIS ERP → JTL: Auftrag wird in Verkauf.tAuftrag angelegt — Plattform „BISpicy POS", offener Posten = Bruttobetrag, Positionen offen für Rechnung.
4
BIS ERP → Workflow-Queue: Eintrag in dbo.tWorkflowQueue mit Event „Auftrag erstellt", konfigurierte Workflow-ID und Verzögerung.
5
JTL-Worker: Zieht den Queue-Eintrag, prüft Bedingungen, führt die Aktionen aus (Rechnung erstellen + Drucken).
6
Kunde nimmt die gedruckte Rechnung mit. Zahlungseingang wird in JTL über OP-Liste oder Bank-Import gebucht.
JTL-Workflow konfigurieren
In JTL-Wawi den Workflow unter Admin → Workflows → Aufträge → Auftrag - Erstellt anlegen. Empfohlene Konfiguration:
Eigenschaft
Wert
Erläuterung
Anlegen unter
Aufträge → Auftrag - Erstellt
In der Workflow-Übersicht links auf „Aufträge" klappen, „Auftrag - Erstellt" wählen, dann „Neuer Workflow".
Name
z. B. „Rechnung Drucken"
Frei wählbar. Dieser Name erscheint anschließend im BIS-ERP-Dropdown unter Workflow für Rechnungskauf an der Kasse.
Bedingung
Modus: Alle Bedingungen erfüllen
Pfad: Auftrag\Sonstiges\Plattform\Name
Operator: Enthält
Wert: BIS
Filtert auf alle BISpicy-POS-Aufträge (die Plattform heißt BISpicy POS, der Substring „BIS" matched zuverlässig). Damit feuert der Workflow nicht für Shop-Aufträge oder manuelle JTL-Aufträge.
Aktion 1
Rechnung erstellen → Rechnung erstellen
Erstellt das Dokument tRechnung aus den offenen Positionen.
Druckt auf den hinterlegten Drucker. Alternativ E-Mail oder PDF speichern.
Ausführungsplan
Zeitverzögert oder Sofort ausführen
„Zeitverzögert" läuft über die Workflow-Queue (passend zum BIS-ERP-Trigger mit 0/1-Minuten-Verzögerung). „Sofort ausführen" wird direkt vom Application-Code ausgeführt — beides ist kompatibel.
Aktiv
Häkchen „Workflow deaktivieren" leer lassen
Nur aktive Workflows erscheinen im BIS-ERP-Dropdown.
Workflow-Bedingung in der JTL-UI
Sonstiges.Plattform.Name enthält BIS
Im Bedingungs-Editor: Dropdown 1 = Auftrag\Sonstiges\Plattform\Name · Dropdown 2 = Enthält · Texteingabe = BIS
Wichtig: Bedingung nicht weglassen
Ohne die Plattform-Bedingung würde der Workflow für jeden neu erstellten Auftrag in JTL laufen — auch Shop-Aufträge und manuell angelegte. Die Bedingung filtert auf POS-Aufträge.
Zahlungseingang verbuchen
Nach dem Rechnungskauf bleibt die Rechnung in JTL als offener Posten in der OP-Liste stehen. Sobald der Kunde überweist, wird der Zahlungseingang in JTL gebucht — auf eine der drei üblichen Arten:
Bank-Import: CAMT/MT940-Datei aus dem Online-Banking in JTL importieren — JTL ordnet die Zahlung anhand der Verwendungszweck-Referenz (Rechnungsnummer) automatisch zu.
DATEV-Anbindung: Bei DATEV-Schnittstelle erfasst Ihr Steuerberater die Zahlung in DATEV; sie wird über die OP-Synchronisation an JTL zurückgespielt.
BIS ERP greift nicht ein
Da der Auftrag mit nIstExterneRechnung = 0 angelegt wurde, ist die Rechnung eine reine JTL-Rechnung. BIS ERP synchronisiert keine OPs zurück und ändert auch nichts an dieser Rechnung. JTL ist allein zuständig.
Häufige Fehler
Meldung „Es existieren keine offenen Positionen mehr"
Diese Meldung erscheint, wenn der Workflow „Rechnung erstellen" keine Position findet, für die noch keine Rechnung geschrieben wurde. Mögliche Ursachen:
BIS ERP < Version 0.0.0.61 setzte fAnzahlAufRechnung fälschlich auf die volle Menge. Lösung: BIS ERP aktualisieren.
Die JTL-Zahlart ist in der Zahlungsarten-Zuordnung nicht als „Rechnungskauf" markiert — BIS ERP behandelt den Verkauf dann als Sofortzahlung und setzt fAnzahlAufRechnung = qty.
Workflow läuft nicht / kein Druck
Steht der gewünschte Workflow im BIS-ERP-Dropdown auf aktiv? Nur aktive Workflows (nIstAktiv = 1) erscheinen in der Liste.
Ist die Workflow-Bedingung erfüllt? Prüfen Sie das Workflow-Log in JTL (Admin → Hintergrundprozesse → Workflow Log).
Läuft der JTL-Worker? Ohne Worker werden „Verzögert"-Workflows nicht abgearbeitet.
Auftrag landet als „Laufkunde" in JTL
Rechnungskauf braucht einen zugewiesenen Kunden im Bon. Ist niemand zugewiesen, fällt der Verkauf auf den POS-Laufkunden zurück und kann nicht auf Rechnung abgewickelt werden. Bitte vor dem Kassieren den Kunden im POS auswählen oder neu anlegen.
Workflow druckt doppelt
Wenn der Workflow in JTL bereits eine Bedingung „Plattform = BISpicy POS" hat und in BIS ERP zusätzlich ein Trigger gesetzt ist, kann es zu Doppel-Triggern kommen, falls JTL den Auftrag selbst als „neu erstellt" erkennt. In der Praxis tritt das nur auf, wenn der Workflow versehentlich auch für Connector-Imports konfiguriert ist. Lösung: Workflow-Bedingung auf Plattform und Zahlart einschränken.
Mehr Hilfe
Detaillierte Anleitung mit Screenshots zur JTL-Verbindung selbst: bispos.app/docs/jtl-integration.html. Bei spezifischen Fragen Support-Ticket im Kundencenter eröffnen.
Häufig gestellte Fragen
Über den JTL-Connector wird BISpicy mit Ihrer JTL-Wawi-Datenbank verbunden. Nach der Authentifizierung synchronisiert BISpicy Artikel, Preise, Bestände und Aufträge bidirektional. Bestandsbuchungen werden lagertyp-sicher (Standard vs. WMS) übertragen.
Beim Rechnungskauf an der POS-Kasse wird statt einer Barzahlung eine Rechnung über JTL erzeugt: BISpicy legt einen Workflow-Eintrag in der JTL-Workflow-Queue an, woraufhin JTL die Rechnung automatisch druckt/versendet. Dadurch entsteht keine doppelte Erlösbuchung im POS-DATEV-Export.
Ja. Artikel/Preise/Bestände gleichen sich in beide Richtungen ab; POS- und Web-Verkäufe werden als Aufträge nach JTL geschrieben, Versand und Bestandsabgang zurückgemeldet. Ein Reconciliation-Wächter prüft regelmäßig auf Abweichungen.