Wann er erscheint und was er braucht
Der Button Pull Stock befindet sich im Formular von Shopify Instances, das Sie über das Menü Verkauf › Shopify › Control Center › Instances öffnen (mit Odoo auf Spanisch heißt der erste Abschnitt Verkauf). Er ist in den Zweigen 17, 18, 19 und 20 des Moduls vorhanden und immer sichtbar, ohne jede Bedingung.

Pull Stock und was ihn stoppen kann.Damit er etwas tut, muss bei der Instanz die Option Bestand von Shopify abrufen aktiviert sein: Damit wird Shopify zum Eigentümer des Bestands. Laut ihrer Hilfe darf sie nicht gleichzeitig mit dem Bestandsversand (Sync Stock Enabled) aktiv sein und auch nicht mit einem anderen Shop, der Bestand an denselben Odoo-Lagerort abruft. Die Hilfe ergänzt, dass das, was Shopify als beschädigt, in der Qualitätsprüfung oder als Sicherheitsbestand führt, in dessen Bestand einfließt: In Odoo ist das Bestand wie jeder andere.

Schritt für Schritt
- Beginnen Sie mit dem automatischen Weg. Aktivieren Sie im Formular von
Shopify Instances, ReiterOperations, GruppeSynchronisierungseinstellungen(Sync Settings), die OptionBestand von Shopify abrufen. Standardmäßig ist sie deaktiviert. - Aktivieren Sie auch die geplante Aufgabe
Shopify Pull Stock (Shopify → Odoo): Sie läuft alle sechs Stunden und ist bei der Installation deaktiviert. Die Hilfe der Option weist darauf hin: Das Aktivieren löst den Abruf nicht aus. - Klicken Sie nur dann auf
Pull Stock, wenn Sie den Bestand jetzt abrufen wollen, ohne auf die Aufgabe zu warten. Das ist der manuelle Weg, und er durchläuft das Folgende. - Bevor etwas erstellt wird, prüft der Button, ob die Option aktiviert ist. Ist sie es nicht, bricht er ab und ändert nichts.
- Danach prüft er, ob die klickende Person Lager-Rechte hat, denn der Abruf erstellt Bestandskorrekturen. Fehlen sie, bricht er mit der Rechte-Meldung aus der Tabelle ab.
- Er legt einen Eintrag im Synchronisierungsprotokoll an, vom Typ Bestandsabruf, in Bearbeitung.
- Er sucht die aktiven Produktverknüpfungen dieser Instanz, die ein Shopify-Bestandselement haben, und verwirft die eines Produkts einer anderen Firma, das vor einer Korrektur verknüpft wurde. Bleibt keine übrig, schließt er das Protokoll mit einer Notiz als abgeschlossen und ändert nichts.
- Er bestimmt den Odoo-Lagerort: den mit dem Hauptstandort von Shopify verknüpften oder, falls es keinen gibt, den Bestandslagerort des Lagers des Shops (seiner Firma). Findet er keinen, markiert er das Protokoll als fehlgeschlagen und hinterlegt den Grund darin.
- Er prüft, dass kein anderer aktiver Shop mit aktivierter Option Bestand an denselben Lagerort, an einen darin enthaltenen oder an einen, der ihn enthält, abruft. Trifft das zu, markiert er das Protokoll als fehlgeschlagen und stoppt, ohne den Bestand anzutasten.
- Er verwendet den in
Default Location Gidgespeicherten Shopify-Standort (ReiterWebhooksdes Formulars). Ist das Feld leer, fragt er bei Shopify den ersten Standort ab und speichert ihn dort. - Er fragt Shopify in Blöcken zu hundert Artikeln, wie viel an diesem Standort liegt (was sich darin befindet, einschließlich des bereits Zugesagten).
- Er überspringt Produkte mit Chargen- oder Seriennummernverfolgung, nicht gelagerte Produkte und Kits und vermerkt sie. Produkte, für die Shopify keine Menge zurückgegeben hat, bleiben unberührt.
- Gibt es am Odoo-Lagerort (mit seinen Unterlagerorten) eine ausstehende Zählung dieses Produkts, überschreibt er sie nicht: Er lässt es unkorrigiert und vermerkt es.
- Er berechnet die Differenz: Bestand in Shopify, minus das, was Odoo von diesem Lagerort (mit Unterlagerorten) für offene Aufträge des Shops geliefert hat und Shopify noch nicht erfüllt hat, minus das, was Odoo am Lagerort verfügbar hat. Nicht gezählt wird, was der Connector erfüllt hat, und auch nicht die Aufträge, die Shopify auf anderem Weg erfüllt hat.
- Ist die Differenz positiv, erstellt und wendet er eine Bestandskorrektur an, die den Bestand des Lagerorts erhöht. Ist sie negativ, senkt er ihn, indem er vom Bestand des Lagerorts abzieht (Unterlagerorte und Pakete eingeschlossen, nie das, was einem Eigentümer gehört), in Entnahmereihenfolge. Hat Odoo nicht genug korrigierbaren Bestand zum Senken, korrigiert er dieses Produkt nicht und zählt es als Fehler.
- Jedes Produkt wird einzeln behandelt: Schlägt eines fehl, wird es als Fehler gezählt und er macht mit dem nächsten weiter. Wenn er eines korrigiert, trägt er das Synchronisierungsdatum in dessen Verknüpfung ein.
- Er schließt das Protokoll mit einer Notiz ab: wie viele Mengen er abgerufen hat und welche Produkte er übersprungen, wegen ausstehender Zählung belassen oder nicht senken konnte. Der Status ist korrekt, wenn es keine Fehler gab, teilweise, wenn es Fehler gab und etwas aktualisiert wurde, und fehlgeschlagen, wenn es Fehler gab und nichts aktualisiert wurde.
Einige Meldungen, die der Button liefern kann
| Meldung | Wann sie erscheint | Was zu tun ist |
|---|---|---|
Der Bestandsabruf von Shopify erstellt Bestandskorrekturen: Dafür sind Lager-Rechte nötig. (Pulling stock from Shopify makes inventory adjustments: it needs Inventory rights.) | Beim Klicken auf den Button ohne Lager-Rechte. | Der Button muss von einem Benutzer mit Lager-Rechten betätigt werden. |
Shopify-Lagersynchronisierung für … fehlgeschlagen: … (Shopify stock pull failed for …: …) | Wenn während des Abrufs etwas fehlschlägt, bereits mit angelegtem Protokoll. Zuerst steht die Domain des Shops (Shop Domain), dann der Grund. | Lesen Sie den Grund nach dem Doppelpunkt: Das Protokoll bleibt mit diesem Text als fehlgeschlagen. |
Hat FlexigoTech Cloud den Dienst pausiert, löscht der Code den Protokolleintrag und lässt ihn nicht als fehlgeschlagen stehen; in diesem Fall wird die Fehlermeldung der letzten Zeile nicht erzeugt.

Was danach zu prüfen ist
Öffnen Sie das Protokoll dieses Laufs: Sein Status und seine Notiz sagen, wie viele Mengen abgerufen wurden und welche Produkte übersprungen, wegen einer ausstehenden Zählung belassen oder nicht gesenkt werden konnten. Die Korrekturen stehen im Lagerverlauf und werden wie alle anderen bewertet. Erscheint ein Produkt in der Notiz wegen einer ausstehenden Zählung, empfiehlt die Notiz selbst, sie in Odoo anzuwenden oder zu löschen.
Kosten und Hilfe
Das Modul kostet 9 € pro Odoo-Version, für 17, 18, 19 und 20, zzgl. MwSt. und als Einmalzahlung. Zusätzlich ist ein Abonnement für FlexigoTech Cloud nötig: Der Tarif Connector kostet 49 €/Monat oder 490 €/Jahr zzgl. MwSt.
FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt individuelle Connectoren und Integrationen.
Weiterlesen
Geprüft im Quellcode des Connectors (Version 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigobe_shopify_connector 20.0 (c7078cd8): views/shopify_instance_views.xml
- Quellcode des Moduls: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- Quellcode des Moduls: flexigobe_shopify_connector 20.0 (c7078cd8): models/fgt_cloud.py
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
