Wo der Button ist und wer ihn sieht
Der Button Bestand abrufen befindet sich im Formular jedes Shops, im Bildschirm Shopify-Instanzen (Shopify Instances). Diese Formulare öffnen Sie über das Menü Shopify › Konfiguration › Shops (Shopify › Configuration › Stores). Fehlt Ihnen die Berechtigung für eine Ebene, sehen Sie diese Ebene nicht: Konfiguration (Configuration) verlangt Operator und Shopify verlangt Betrachter (Viewer). Der Button hängt von keiner Bedingung der Ansicht ab: Er ist immer sichtbar und existiert in Odoo 17, 18, 19 und 20. Das Folgende beschreibt den Code von Odoo 20.

Mit Odoo auf Deutsch heißt der Button Bestand abrufen; auf Spanisch Obtener stock; auf Französisch Récupérer le stock; auf Italienisch Recupera stock; und auf Portugiesisch Obter stock.


Schritte zur Verwendung
- Öffnen Sie
Shopify › Konfiguration › Shopsund rufen Sie das Formular des Shops auf. - Gehen Sie zum Reiter
Vorgänge(Operations), GruppeSynchronisierungseinstellungen(Sync Settings), und prüfen Sie, dassBestandssynchronisierung aktiviertangehakt ist. Mit den Standardwerten ist es das nicht, und bei nicht angehaktem Kästchen tut der Button bei diesem Shop nichts. - Sehen Sie sich das Feld
Unternehmen(Company) im Formular an: Der Button arbeitet nur mit Produkten dieses Unternehmens. - Wenn Sie wissen möchten, welcher Shopify-Standort abgefragt wird, sehen Sie sich
Default Location Gidim ReiterWebhooksan. Die Hilfe dazu lautetShopify-GraphQL-Standort-GID, der für die Bestandssynchronisierung verwendet wird.Ist das Feld leer, wird es mit dem ersten Standort gefüllt, den Shopify zurückgibt. Das erledigt der Button beim Klicken und auch, ohne dass Sie etwas drücken, die geplante AufgabeBestand an Shopify senden(Shopify Push Stock), die alle 20 Minuten läuft und bei der Installation aktiv ist. - Klicken Sie auf
Bestand abrufen. - Prüfen Sie nach Abschluss den Bestand der Produkte an dem verwendeten Odoo-Lagerort (die Auswahl wird unten erklärt).
Was intern der Reihe nach passiert
- Ist
Bestandssynchronisierung aktiviertnicht angehakt, geht er zum nächsten Shop über, ohne einen Eintrag zu öffnen. - Er öffnet einen Synchronisierungseintrag vom Typ Bestandsabruf, laufend.
- Er sucht die mit Shopify verknüpften Produkte dieses Shops: die aktiven, mit Kennung des Lagerartikels und deren Produkt zum Unternehmen des Shops gehört. Gibt es keines, schließt er den Eintrag mit einem Hinweis als beendet ab und macht nicht weiter.
- Er wählt den Odoo-Lagerort: den als Hauptstandort markierten Shopify-Standort mit zugewiesenem Odoo-Lagerort. Gibt es keinen, verwendet er das Lager des Shops oder, falls es keines hat, das erste Lager des Unternehmens und davon dessen Bestandslagerort. Findet er keinen, wird der Eintrag als fehlgeschlagen markiert und dieser Shop wird abgebrochen, ohne die weiter unten genannte Fehlermeldung auszulösen.
- Er bestimmt den Shopify-Standort: den aus
Default Location Gidoder, falls leer, den ersten, den Shopify zurückgibt, der außerdem in diesem Feld gespeichert wird. - Er fragt Shopify nach der verfügbaren Menge jedes Artikels an diesem Standort, in Blöcken von bis zu 100 Artikeln.
- Für jedes Produkt, für das Shopify eine Menge zurückgegeben hat, passt er den Bestand des Odoo-Lagerorts um die Differenz zwischen der Shopify-Menge und der Menge an, die Odoo derzeit an diesem Lagerort hat, und vermerkt das Datum der letzten Bestandssynchronisierung dieser Verknüpfung. Produkte ohne zurückgegebene Menge werden übersprungen. Schlägt eines fehl, wird es als Fehler gezählt und er macht mit den übrigen weiter.
- Er schließt den Eintrag mit den aktualisierten Produkten und den Fehlern ab: korrekt, wenn es keine Fehler gab, teilweise, wenn es Fehler und auch aktualisierte Produkte gab, fehlgeschlagen, wenn es Fehler und kein aktualisiertes Produkt gab.
Was sich ändert und was nicht
Es ändert sich der Odoo-Bestand: Die Menge jedes Produkts am gewählten Lagerort entspricht danach der verfügbaren Menge, die Shopify meldet. Der Button liest aus Shopify und wendet in Odoo an.
Die geplante Aufgabe Bestand an Shopify senden läuft in die Gegenrichtung: Alle 20 Minuten, bei der Installation aktiv, sendet sie Mengen von Odoo an Shopify, und zwar die freie Menge (die vorhandene abzüglich der bereits reservierten). Behalten Sie das im Blick, wenn Sie entscheiden, wer beim Bestand führt.
Der Fehler, der auftreten kann
Beim Klick auf Bestand abrufen kann die Aktion mit Shopify-Lagersynchronisierung für … fehlgeschlagen: … (Shopify stock pull failed for …: …) abbrechen.
- Wann er auftritt: wenn bei der Ausführung für den Shop etwas fehlschlägt. Fehler bei einzelnen Produkten lösen ihn nicht aus: Sie werden als Fehler gezählt und der Rest läuft weiter.
- Was er enthält: Die erste Lücke ist die
Shop-Domain(Shop Domain) aus dem Formular; nach dem Doppelpunkt steht der ursprüngliche Fehlertext. - Was bleibt: Der Eintrag dieser Ausführung bleibt als fehlgeschlagen mit dem Fehler bestehen.
- Was zu tun ist: Lesen Sie den Grund nach dem Doppelpunkt und beheben Sie ihn. Um zu erkennen, um welchen Shop es sich handelt, vergleichen Sie mit
Shop-Domain, deren Hilfe die exakte Shopify-Domain verlangt (zum Beispielflexigobe.myshopify.com).
Läuft die Verbindung über FlexigoTech Cloud und der Dienst lehnt den Aufruf ab und pausiert ihn, wird der Eintrag dieser Ausführung gelöscht, statt als fehlgeschlagen zu bleiben.
Preis und Hilfe von FlexigoTech
Das Modul wird pro Odoo-Version (17, 18, 19 und 20) einmalig bezahlt und benötigt das Abonnement von FlexigoTech Cloud, Tarif Konnektor: 49 €/Monat oder 490 €/Jahr zzgl. MwSt., bis zu 3 Plattformkonten. Den Preis jeder Version finden Sie auf der Odoo-Apps-Seite und auf der Modulseite. Mit dem Abonnement ist das Modul für neue Odoo-Versionen enthalten, wenn Sie es auf flexigotech.com gekauft haben; im Odoo App Store wird jede Version dort gekauft.
Wenn Sie Odoo einführen und den Shopify-Bestand sauber anbinden möchten: FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt Konnektoren und individuelle Integrationen.
Weiterlesen
Geprüft im Quellcode des Connectors (Version 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/shopify_instance_views.xml
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
