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

Benjamin S.

Sehr aktives Mitglied
7. September 2021
119
30
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

Mitglied
14. November 2022
9
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.

Sehr aktives Mitglied
7. September 2021
119
30
@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

Mitglied
14. November 2022
9
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

Mitglied
14. November 2022
9
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.

Sehr aktives Mitglied
7. September 2021
119
30
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

Mitglied
14. November 2022
9
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.

Sehr aktives Mitglied
7. September 2021
119
30
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

Mitglied
14. November 2022
9
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.

Sehr aktives Mitglied
7. September 2021
119
30
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

Mitglied
14. November 2022
9
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 Auslesen Bestand per Lager für Workflow zur Anzeige im Onlineshop User helfen Usern - Fragen zu JTL-Wawi 4
Neu Lager unbekannt auf Packliste User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow: WMS Lager nutzen um Versandart zu bestimmen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Lagerplätze und Bestände lassen sich teils nicht im WMS Lager importieren? Evtl. BUG --> JTL 1.10.10.4? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Lager umstrukturierung Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu WMS Lager und Standardlager Fragen rund um LS-POS 0
Neu Lagerkommentar von Stücklistenartikel auf Lager-Packliste ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Automatisierter Picklistendruck in einem bestimmten Lager User helfen Usern - Fragen zu JTL-Wawi 1
Neu Verkäufe von Stücklistenartikel über FBA werden im Lager nicht abgezogen Amazon-Anbindung - Fehler und Bugs 0
Bei Bestellungen Lieferung an Lager ändern JTL-Wawi 1.10 2
Neu Mit Workflow verfügbaren Bestand aller Artikel in Datei schreiben User helfen Usern - Fragen zu JTL-Wawi 8
Neu eBay Angebote bestehen lassen auf eBay bei 0 Bestand in WaWi User helfen Usern - Fragen zu JTL-Wawi 4
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 4
Ebay Angebot mit Kindartikel die keinen Bestand haben per Ameise importieren JTL-Wawi 1.6 5
Neu Bestand und Preisanbgleich Lister 1.0 nach 31.07.25 noch möglich Amazon-Lister - Ideen, Lob und Kritik 1
Neuer Verkaufspreis eines Artikels wird in Angeboten/Aufträgen nicht übernommen, sondern nur der frühere ... JTL-Wawi 1.10 4
nach update auf 1.10.11.0 nur 251 von 252 Steuerklassne JTL-Wawi 1.10 3
Neu Ausführungsplan nur einmal ausführen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ameise Importiert nicht, sagt immer nur Testlauf. JTL-Ameise - Fehler und Bugs 10
Neu B2B Preis für JTL Wawi -> Amazon aktivieren, nur wie? User helfen Usern - Fragen zu JTL-Wawi 4
Neu JS nur auf auf spezifischer Seite nachladen Allgemeine Fragen zu JTL-Shop 1
Neu Bestimmte Kategorien oder Artikel nur nach Kundenlogin aufrufbar? Allgemeine Fragen zu JTL-Shop 3
Neu JTL PayPal Checkout 5.3.0 mit Shop 5.5.2 - Artikel nur sichtbar wenn Kunde eingeloggt ist oder Artikel nicht verfügbar ist Plugins für JTL-Shop 6
Neu Google shopping export - neue Produkte markieren um eine Werbung nur für neue Produkte laufen zu lassen Technische Fragen zu Plugins und Templates 1
Neu Worker 2.0 - automatische Picklistenerstellung - bitte nur während der Bürozeiten JTL-Wawi - Ideen, Lob und Kritik 14
Neu Sendungsverfolgungsnummern werden nur teilweise übertragen JTL-Wawi - Fehler und Bugs 1
Neu Wawi/Shipping Labels druckt nur Adressetikett statt richtiges Versandlabel JTL-ShippingLabels - Fehler und Bugs 14
Neu Merkmalfilter - Nur Merkmale von Kindern filtern Allgemeine Fragen zu JTL-Shop 1
Wawi Benutzer: Nur Zugriff auf ausgewählte Kundengruppen erlauben JTL-Wawi 1.10 2
Versandkostenstaffel nur für bestimmte Artikel zählen lassen? JTL-Wawi 1.9 1
Neu Shop zeigt nur Bilder der Kategorien an, nicht der eigentlichen Produkte WooCommerce-Connector 3
Neu Shopify ohne JTL bzw. nur als Abwicklung Shopify-Connector 3
Neu JTL‑Wawi: Beim Drucken fehlen Body‑Inhalte – nur Header und Footer gedruckt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Optionalen Artikel NUR über einen anderen Artikel kaufbar anbieten Arbeitsabläufe in JTL-Wawi 10
Neu Spaltenanpassung im Artikelmodul (F2) – Firma & Zusatz statt nur Vor-/Nachname anzeigen JTL-Wawi - Ideen, Lob und Kritik 5
Neu ZahlungsFelder nur unbezahlten Rechnungen einblenden Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Exportformate liefern nur netto Werte für Versandkosten seit JTL Shop 5.5.0 Betrieb / Pflege von JTL-Shop 6
Neu Eingeschränktes Kundenkonto - nur Guthaben User helfen Usern - Fragen zu JTL-Wawi 6
Rechnung mailen nur noch ein kleiner Teil JTL-Wawi 1.9 1
Neu Video auf Mobilgeräten startet automatisch im Vollbildmodus anstatt nur wie eingebettet auf der Website Allgemeine Fragen zu JTL-Shop 0

Ähnliche Themen