Neu Lager(bestand) nur für bestimmte Länder/Shops verfügbar machen?

Benjamin S.

Aktives Mitglied
7. September 2021
98
21
Hallo zusammen,

ich habe derzeit folgendes Problem:
Mein Kunde will in den USA einen Shop Anbinden, welcher dann mit dem Bestand des USA Lagers "gefüttert" wird.
Nun wird aber der Bestand aus dem DE Lager für den Artikel im USA Shop verwendet. Und andersrum wird der US Bestand nun auch im DE Shop angezeigt.

Gibt es denn keine Möglichkeit ein Lager nur für ein bestimmtes Land oder wenigstens einen Shop verfügbar zu machen?
So ist JTL für uns leider mit Globalem Fulfillment nicht nutzbar.


Liebe Grüße
Benjamin Steurer
 

gherlt

Neues Mitglied
14. November 2022
7
2
Habe ein ähnliches Problem, ein deutsches Lager und ein Lager im innereuropäischen Ausland.
Eine Webseite soll nur mit einem Teilbestand des im Ausland lagernden Produkten "gefüttert" werden (ziemliches Nischenprodukt), das funktioniert auch,
es wird aber immer die deutsche MwSt angezeigt (Lager ist angelegt, Lieferland ist angelegt, MwSt Lieferland ist angelegt). Kann ich den JTL Shop mit Lieferland verbinden ??

Eine zweite Webseite soll nur den Bestand aus dem deutschen Lager anzeigen, eine dritte Webseite soll nur den Bestand aus dem ausländischem Lager anzeigen.
Es gibt Überschneidung bei den Produkten. Wichtig weil: Zielmarkt ist jeweils ein anderer, Standard MwSt Sätze sollen erstmal die vom "Heimatland" anzeigen, Lieferzeiten sind unterschiedlich ...
 
  • Gefällt mir
Reaktionen: Benjamin S.

Benjamin S.

Aktives Mitglied
7. September 2021
98
21
@gherlt
Ich habe dafür eine etwas "dreckige" Lösung gefunden.

Und zwar gehst du dafür hin und sperrst den verfügbaren Bestand in allen Lagern.

Jetzt kannst du einige Workflows bauen, welche bei jeder Lagerbewegung prüfen, ob in einem Lager Bestand ist und wenn ja, Überverkäufe auf einer bestimmten Plattform aktivieren.

Wenn du eine Einbuchung in DE hast, dann prüft der WF ob in DE Lager ist, wenn ja, werden Überverkäufe für die gewünschte aktiviert.
Wenn eine Minusbuchung stattfindet, muss der WF prüfen, ob Bestand im gewünschten Lager ist und wenn nein, die Überverkäufe wieder deaktivieren.
 
  • Gefällt mir
Reaktionen: gherlt

gherlt

Neues Mitglied
14. November 2022
7
2
OK. Das ist eine gute Idee. Schau ich mir mal genauer an ! Vielen Dank !
@gherlt
Ich habe dafür eine etwas "dreckige" Lösung gefunden.

Und zwar gehst du dafür hin und sperrst den verfügbaren Bestand in allen Lagern.

Jetzt kannst du einige Workflows bauen, welche bei jeder Lagerbewegung prüfen, ob in einem Lager Bestand ist und wenn ja, Überverkäufe auf einer bestimmten Plattform aktivieren.

Wenn du eine Einbuchung in DE hast, dann prüft der WF ob in DE Lager ist, wenn ja, werden Überverkäufe für die gewünschte aktiviert.
Wenn eine Minusbuchung stattfindet, muss der WF prüfen, ob Bestand im gewünschten Lager ist und wenn nein, die Überverkäufe wieder deaktivieren..
 

gherlt

Neues Mitglied
14. November 2022
7
2
@gherlt
Ich habe dafür eine etwas "dreckige" Lösung gefunden.

Und zwar gehst du dafür hin und sperrst den verfügbaren Bestand in allen Lagern.

Jetzt kannst du einige Workflows bauen, welche bei jeder Lagerbewegung prüfen, ob in einem Lager Bestand ist und wenn ja, Überverkäufe auf einer bestimmten Plattform aktivieren.

Wenn du eine Einbuchung in DE hast, dann prüft der WF ob in DE Lager ist, wenn ja, werden Überverkäufe für die gewünschte aktiviert.
Wenn eine Minusbuchung stattfindet, muss der WF prüfen, ob Bestand im gewünschten Lager ist und wenn nein, die Überverkäufe wieder deaktivieren.
Hallo,
ich habe mir das jetzt im Detail angeschaut, was ich nicht finde ist "Überverkäufe auf einer bestimmten Plattform aktivieren", ich finde nur "Überverkäufe" als globale Variable eines Artikels.
Und das hilft mir nicht, da es Überschneidung gibt, d.h. Artikel werden in beiden Shops verkauft, wenn Bestand im jeweiligen Lager vorhanden ist.
 

Benjamin S.

Aktives Mitglied
7. September 2021
98
21
Hallo,
ich habe mir das jetzt im Detail angeschaut, was ich nicht finde ist "Überverkäufe auf einer bestimmten Plattform aktivieren", ich finde nur "Überverkäufe" als globale Variable eines Artikels.
Und das hilft mir nicht, da es Überschneidung gibt, d.h. Artikel werden in beiden Shops verkauft, wenn Bestand im jeweiligen Lager vorhanden ist.
Das ganze sind 2 verschiedene Workflows:

Einmal den Wertz setzen: Überverkauf Möglich
und einmal als Aktion: Überverkauf pro Plattform.

Zumindest in meiner Version 1.6.45
 

gherlt

Neues Mitglied
14. November 2022
7
2
Das ganze sind 2 verschiedene Workflows:

Einmal den Wertz setzen: Überverkauf Möglich
und einmal als Aktion: Überverkauf pro Plattform.

Zumindest in meiner Version 1.6.45
Hallo,
ich habe inzwischen eine ziemlich "saubere" Lösung gefunden, mit 3 SQL und einem OnlineShopAbgleich habe ich es geschafft, einen JTL Shop nur mit den in einem Lager vorhandenem Bestand zu "füttern". Wünschenswert wäre noch die SQL bei Ein- und Ausbuchung automatisch "anzuhauen".
Bei Interesse stelle ich diese gerne zur Verfügung ...
 

Benjamin S.

Aktives Mitglied
7. September 2021
98
21
Hallo,
ich habe inzwischen eine ziemlich "saubere" Lösung gefunden, mit 3 SQL und einem OnlineShopAbgleich habe ich es geschafft, einen JTL Shop nur mit den in einem Lager vorhandenem Bestand zu "füttern". Wünschenswert wäre noch die SQL bei Ein- und Ausbuchung automatisch "anzuhauen".
Bei Interesse stelle ich diese gerne zur Verfügung ...
Hi,
wenn du mir deine Lösung zeigst kann ich dir evtl. helfen, wie du diese automatisch anstößt, da gibt es mehrere Wege.
 

gherlt

Neues Mitglied
14. November 2022
7
2
Hallo Benjamin,
In meinem Falle ist das relevante Lager die 38 & der Shop die 7, das muß du natürlich bei dir raussuchen.
Zuerst habe ich versucht per UPDATE die entsprechenden Datensätze der Artikel mit bestand auf nAktion =4 & cInet="Y" zu setzen, beim Abgleich passierte aber nichts.
Keine Variante der Updates hat auch nur irgendeinen Abgleich bewirkt.
Ein UPDATE der vorhandenen Datensätze in tArtikelShop bringt anscheinend deswegen nichts, weil die WaWi offensichtlich auch die TIMESTAMP des Datesatzes (bRowversion) seit letzten Abgleich berücksichtigt.
Also müssen die dem Shop zugehörigen Datenstätze erst gelöscht werden

DELETE from [tArtikelShop]
where kShop = 7;

und neu gespeichert werden (bRowversion wird automatisch gesetzt):

INSERT [dbo].[tArtikelShop] ([kArtikel], [kShop], [cInet], [cDelInet], [nAktion], [nInBearbeitung])
select kArtikel, 7, 'Y', 'N', 4, 0
from tlagerbestandProLagerLagerartikel
where kWarenlager in (38)
and fBestand > 0;

Dann ist noch kurios, daß dieses INSERT mit "nAktion = 4" ein "nAktion=1" setzt, so daß ein zweites UPDATE notwendig ist, weil mit nAktion=1 kein Komplettabgleich erfolgt.

UPDATE [dbo].[tArtikelShop]
set [nAktion] = 4
where kShop = 7 ;

Die Artikel, die NICHT in den Shop sollen, werden nicht in Tabelle tArtikelShop gespeichert, müssen also nicht eingefügt werden. (Hat mich auch ein bisschen Zeit gekostet)
Dann Abgleich starten und schon passt alles.
Bei meinem zweiten Shop, der von mehreren Standardlägern (Kommissionsware versch. Lieferanten) "befüllt" wird, wird beim zweiten SQL halt eine Summe gebildet:

kArtikel from tlagerbestandProLagerLagerartikel
where kWarenlager in (2,30,31,32,33)
group by kArtikel
having sum(fbestand) > 0

Wie gesagt, jetzt fehlt mir das "Anhauen" des SQL bei Ein-oder Ausbuchung und das Abgleichen, wobei beides einmal am Tag eigentlich auch langen würde ...
Ich hoffe, das hilft dir auch weiter

LG
 
  • Gefällt mir
Reaktionen: Benjamin S.

Benjamin S.

Aktives Mitglied
7. September 2021
98
21
Hallo Benjamin,
In meinem Falle ist das relevante Lager die 38 & der Shop die 7, das muß du natürlich bei dir raussuchen.
Zuerst habe ich versucht per UPDATE die entsprechenden Datensätze der Artikel mit bestand auf nAktion =4 & cInet="Y" zu setzen, beim Abgleich passierte aber nichts.
Keine Variante der Updates hat auch nur irgendeinen Abgleich bewirkt.
Ein UPDATE der vorhandenen Datensätze in tArtikelShop bringt anscheinend deswegen nichts, weil die WaWi offensichtlich auch die TIMESTAMP des Datesatzes (bRowversion) seit letzten Abgleich berücksichtigt.
Also müssen die dem Shop zugehörigen Datenstätze erst gelöscht werden

DELETE from [tArtikelShop]
where kShop = 7;

und neu gespeichert werden (bRowversion wird automatisch gesetzt):

INSERT [dbo].[tArtikelShop] ([kArtikel], [kShop], [cInet], [cDelInet], [nAktion], [nInBearbeitung])
select kArtikel, 7, 'Y', 'N', 4, 0
from tlagerbestandProLagerLagerartikel
where kWarenlager in (38)
and fBestand > 0;

Dann ist noch kurios, daß dieses INSERT mit "nAktion = 4" ein "nAktion=1" setzt, so daß ein zweites UPDATE notwendig ist, weil mit nAktion=1 kein Komplettabgleich erfolgt.

UPDATE [dbo].[tArtikelShop]
set [nAktion] = 4
where kShop = 7 ;

Die Artikel, die NICHT in den Shop sollen, werden nicht in Tabelle tArtikelShop gespeichert, müssen also nicht eingefügt werden. (Hat mich auch ein bisschen Zeit gekostet)
Dann Abgleich starten und schon passt alles.
Bei meinem zweiten Shop, der von mehreren Standardlägern (Kommissionsware versch. Lieferanten) "befüllt" wird, wird beim zweiten SQL halt eine Summe gebildet:

kArtikel from tlagerbestandProLagerLagerartikel
where kWarenlager in (2,30,31,32,33)
group by kArtikel
having sum(fbestand) > 0

Wie gesagt, jetzt fehlt mir das "Anhauen" des SQL bei Ein-oder Ausbuchung und das Abgleichen, wobei beides einmal am Tag eigentlich auch langen würde ...
Ich hoffe, das hilft dir auch weiter

LG
Hui das ganze sieht ja mal komplex aus. Danke für den Code.
Also grundlegender Hinweis an alle anderen Forenmitglieder: Bitte nie ohne Vorwissen in der SQL Datenbank einfach so update-statements machen, so könnt ihr ganz viel kaputt machen ;)


Bzgl. des automatischen Ausführens:
Am besten arbeitest du hier mit einer stored procedure. Dann kannst du entweder hingehen und die Artikel hardcoden oder du gehst hin und arbeitest mit variablen.
Also sagen wir mal du willst jedes mal beim ein/ausbuchen nur den einen Artikel checken und dann deine procedure ausführen:
Dann erstellst du 2 Workflows.

1x Artikel > Warenlagereingang > Plusbuchung
1x Artikel > Warenlagerausgang > Minusbuchnung.

Als Argument sagst du dann "Ausführen", dann kannst du also einen batch/cmd skript einfügen.
Hier nutzt du jetzt SQLCMD und führst deine Stored procedure aus. also im Sinne von:

SQL:
EXECUTE [LagerbestandJeShop]
@kArtikel = '{{ Vorgang.Artikel.Allgemein.Stammdaten.InterneArtikelnummer }}'

Eins verstehe ich aber nicht, oder ich übersehen etwas:
Du setzt ja nirgendwo den Lagerbestand für den jeweiligen Shop, du löscht den Eintrag für deinen Artikel ja lediglich aus dem abgleich und fügst deine Artikel mit Lagerbestand ein. Aber der Lagerbestand wird ja immer noch aus dem fBestand Feld gezogen. Ich verstehe also nicht ganz wie du einen individuellen Bestand an einen Shop sendest
 

gherlt

Neues Mitglied
14. November 2022
7
2
Hallo,
das mit dem Lagerbestand im Shop habe ich nicht berücksichtig, da hast du Recht,
Ist mir in diesem Falle aber auch relativ wurscht, meine Ware ist hochpreisig, der Shop ist nur für Endkunden,m
analog bei vorgefertigen Lagerbestand wäre es zB bei Volkswagen: man wählt nur ein Fahrzeug aus und bestellt das. Ob da 1, 2 oder 15 identische Fahrzeiuge vorhanden sind,
ist dem Endkunden relativ egal. Wie gesagt, so halt bei mir.

In der Wawi vorbereiten, geht nicht, weil beim Abgleich alle Shops abgeglichen werden, d.h. man müßte entweder einen Shop nach den anderen Abgleichen
(langsam, manuell) oder die Werte zwischen jedem Shop angleichen - unmöglich.

Wenn ich nun denn den Bestand im Shop anpassen müßte, da würde ich mir von der Situation her mir die Shop DB vornehmen.
Da kommt's halt auch wieder auf den Shop an, JTL, Shopware, welchen benutzt du ?

Ich sehe zwei Optionen: Import von CSV oder Erstellung einer SQL batch Datei mit den entsprechenden UPDATES ab einem SQL SELECT.
Jeweils dann upload und nach upload oder per cron ausführen lassen.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu FBA Lager wird nicht angelegt Amazon-Anbindung - Fehler und Bugs 11
Artikelbestand in anderes Lager importieren JTL-Wawi 1.8 1
Neu Konfigurations-Komponenten auf Lager User helfen Usern - Fragen zu JTL-Wawi 0
Neu Bestände der einzelnen Lager weichen von den reellen Beständen willkürlich ab JTL-Shop - Fehler und Bugs 7
Neu Deinstallation WMS: WMS Lager zu Standard Lager funktioniert nicht Installation von JTL-WMS / JTL-Packtisch+ 0
Alle Buchungen bezgl. Lieferscheine (Quell-Lager und Fehlbestand Buchungen überprüfen) JTL-Wawi 1.8 3
Wichtig JTL-Fulfillment Lager in Hückelhoven: Die All-in-One-Lösung für die Lagerung Eurer Ware Business Jungle 0
Neu JTL WAWI 1.6.44.2 Lager auf Lieferschein Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
In Diskussion Lagerbestand in einem bestimmten Lager abfragen JTL-Workflows - Ideen, Lob und Kritik 1
1 Shop > 1 Lager ? JTL-Wawi 1.7 0
Neu Lager nach Gewicht erstellen JTL-Wawi 1.8 Gelöste Themen in diesem Bereich 6
Neu 1 Versand Lager 3 Nachschub Läger Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Bestand von Kinderartikeln wird im Vaterartikel zusammenaddiert JTL-Wawi 1.8 1
Neu JTL zu Shopify Bestand wird nicht aktualisiert Shopify-Connector 0
Neu Falscher Bestand nach Abbruch des Lieferschein-Lösch-Vorgangs JTL-Wawi - Fehler und Bugs 0
Neu Bestand bei Stücklistenartikel ist falsch JTL-Wawi - Fehler und Bugs 2
Info wenn Artikel mit Bestand leer geht JTL-Wawi 1.8 1
Neu Reservierter Bestand: Auftragsbezogen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Bestand an eBay ohne laufende Angebote eBay-Anbindung - Ideen, Lob und Kritik 0
Bestand nicht einstellbar bei Produkt + Produkt Set JTL-Wawi 1.8 5
Neu Lagerpackliste/Verfügbarer Bestand Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Zugang zu Kategorien nur per Kennworteingabe Plugins für JTL-Shop 3
Neu JTL Wawi Bild-Upload unvollständig oder nur als mit meinem PC hochgeladen zu sehen User helfen Usern - Fragen zu JTL-Wawi 2
Neu List & Label Neue Vorlage Projektbaustein Bild Logo nur auf erstem Exemplar anzeigen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Stickprogramm - Kosten die Kunde nur einmalig bezahlen muss Allgemeine Fragen zu JTL-Shop 1
Neu Vorlagen: Formel um Textfeld nur auf der letzten Seite der Rechnung darzustellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu JTL überträgt Versandart Sendungsnummer nur teilweise an Amazon Amazon-Anbindung - Fehler und Bugs 3
Gelöst Packtisch+ 1.8.112 : Rechnung wird bei Teillieferung erzeugt, obwohl als Ausführungsbedingung "Nur bei der letzten Teillieferung" ausgewählt ist. JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 2
Neu Umzug auf neuen Rechner mit nur einem Mandant User helfen Usern - Fragen zu JTL-Wawi 3
Neu wenn abweichende Adresse dann nur weiße Seite? JTL-Shop - Fehler und Bugs 7
Neu Produktkategorie in "Vorauswahl Produktkategorien" nicht verfügbar / Variationswerte "Size" nicht verfügbar, nur size_name Amazon-Anbindung - Fehler und Bugs 0
Worker angeblich nicht gestartet und nicht konfigurierbar - Aber auf nur einem neuen Win11 Client?!? JTL-Wawi 1.7 2
Neu Amazon Lister übergibt nur das Hauptbild an Amazon, weiter Bilder werden nicht übertragen Amazon-Lister - Fehler und Bugs 0
Neu Preise nur mit login. möglich? Allgemeine Fragen zu JTL-Shop 4
In Bearbeitung Mehrere Karten/Buchnungskonten aber nur ein Karten-Terminal (Ethernet) Allgemeine Fragen zu JTL-POS 4
Neu OnPage Composer lädt nicht! Nur blauer Balken - OPC startet nicht! JTL-Shop - Fehler und Bugs 7
Nur noch sporadischer Versand per Mail von Rechnungen, Lieferscheinen und Mahnungen nach Update auf Version 1.8. JTL-Wawi 1.8 0
Gelöst "Nur letzten ausführen" führt dennoch mehrere Gelöste Themen in diesem Bereich 3
Neu UVP nur in Artikeldetails, NICHT auf Artikelliste? Templates für JTL-Shop 1
Neu Lieferstatus anzeigen "Nur, wenn Lagerbestand 0 ist" Allgemeine Fragen zu JTL-Shop 0
Rechnungserstellung sehr umständlich - nur einzeln möglich JTL-Wawi 1.8 4
SQL ifGetPrice liefert nur netto Preise, wie komme ich an Brutto ran? JTL-Wawi 1.7 4
Neu Nur eine Währung bei der AB und Rechnung JTL-Wawi 1.6 0

Ähnliche Themen