Was sie ist und wann sie läuft
Die geplante Aktion Bestand aus Shopify abrufen (Shopify → Odoo) läuft alle sechs Stunden und ist nach der Installation des Moduls aktiv. Es gibt sie in allen veröffentlichten Versionen: 17.0, 18.0, 19.0 und 20.0. In Odoo 17.0 steht zusätzlich die Anzahl der Wiederholungen auf -1, das heißt, sie wiederholt sich endlos.

Bei Odoo auf Deutsch heißt die Aktion Bestand aus Shopify abrufen (Shopify → Odoo). Das folgende Schema zeigt, wie sie in anderen Sprachen heißt.

Die Verbindung zum Shop läuft über FlexigoTech Cloud, das die Zugangsdaten verschlüsselt speichert, die Synchronisierung überwacht und bei Fehlern per E-Mail benachrichtigt. Das Modul benötigt das Abonnement von FlexigoTech Cloud (Plan Conector: 49 €/Monat oder 490 €/Jahr zzgl. MwSt.).

Ein Fall zum Durchgehen von Anfang bis Ende
Beispiel Fiktiver Fall: Firma und Zahlen sind erfunden, um den Ablauf zu zeigen.
Casa Moreno ist ein erfundenes Unternehmen, das Haushaltswaren in einem Shopify-Shop verkauft und das Lager in Odoo führt. Eines Morgens sieht Laura, die das System administriert, dass sich die Menge eines Produkts in Odoo nicht bewegt hat, obwohl sie sich in Shopify geändert hat. Statt blind etwas zu starten, geht sie die Aktion in der Reihenfolge durch, in der der veröffentlichte Code für Odoo 20.0 sie ausführt. Genau das wird ab hier beschrieben.
Erster Filter: Wer sie ausführt
In Odoo 20.0 prüft die Aktion zuerst, ob die ausführende Person Systemadministrator ist. Falls nicht, bricht sie mit Only an administrator can run this scheduled action. ab und schaut sich keinen Shop an. Laura ist Administratorin, also geht es weiter.
Zweiter Filter: Welche Shops im Lauf berücksichtigt werden
In Odoo 20.0 geht die Aktion nicht alle Shops durch, sondern nur die, die gleichzeitig drei Bedingungen erfüllen:
- Der Shop ist aktiv.
- Die Bestandssynchronisierung ist aktiviert.
- Er hat Zugangsdaten: einen gespeicherten Zugriffstoken oder das gespeicherte API-Secret der App.
Bei der dritten Bedingung genügt eines von beiden, weil ein Shop mit Client-Zugangsdaten möglicherweise keinen gespeicherten Token hat, bis sein erster Aufruf ihn erzeugt. Die Shops öffnen Sie über das Menü Shopify › Konfiguration › Shops (Shopify › Configuration › Stores). Wenn Sie einen Abschnitt dieses Pfads nicht sehen, fehlt Ihnen eine Berechtigung: Konfiguration verlangt Operator und Shopify verlangt Betrachter.
Laura prüft, dass der Shop von Casa Moreno alle drei Bedingungen erfüllt. Scheitert eine, bleibt der Shop außerhalb des Laufs.
Dritter Schritt: Ein fehlerhafter Shop bremst die anderen nicht
In Odoo 20.0 ruft die Aktion für jeden ausgewählten Shop den Import innerhalb eines Blocks auf, der jeden Fehler abfängt. Gibt ein Shop einen Fehler aus, wird er mit dem Namen des Shops im Serverprotokoll vermerkt, und die Aktion macht mit dem nächsten weiter.
Was der Import mit jedem Shop macht
In Odoo 20.0 geht der Import für jeden Shop in dieser Reihenfolge vor:
- Hat der Shop die Bestandssynchronisierung nicht aktiviert, wird er übersprungen.
- Er sucht die mit Shopify verknüpften Produkte, die aktiv sind, einen Shopify-Lagerartikel haben und zum Unternehmen des Shops gehören: Ein Produkt eines anderen Unternehmens kommt nicht hinein, auch wenn die Verknüpfung schon früher bestand. Gibt es keines, geht es mit dem nächsten Shop weiter.
- Er legt den Odoo-Lagerort fest. Zuerst sucht er den Shopify-Hauptstandort dieses Shops, dem ein Odoo-Lagerort zugewiesen ist. Gibt es keinen, nimmt er den Bestandslagerort des Lagerhauses des Shops oder, falls der Shop kein Lagerhaus hat, den des ersten Lagerhauses seines Unternehmens. Findet er keinen Lagerort, lässt er diesen Shop aus und macht mit dem nächsten weiter.
- Er fragt bei Shopify die verfügbare Menge der Lagerartikel ab, für den Shopify-Standort des Shops (den Standardstandort, falls gespeichert) und in Blöcken von 100 Artikeln. Jede empfangene Menge wird in eine ganze Zahl umgewandelt.
Die Schaltfläche, um den Bestand manuell abzurufen, hat ihre eigene Schritt-für-Schritt-Anleitung. Und wenn Sie sich zum Shopify-Hauptstandort fragen: Die Meldung, die ihn erwähnt, hat einen eigenen Artikel.
Was Sie prüfen, wenn die Aktion nichts tut
Am Ende des Durchgangs hat Laura eine Liste von Punkten, an denen ein Lauf laut dem Code von Odoo 20.0 abbrechen kann:
- Wer sie startet. Nur ein Administrator kann sie ausführen; sonst erscheint
Only an administrator can run this scheduled action.. - Der Shop. Er muss aktiv sein, mit aktivierter Bestandssynchronisierung und gespeichertem Token oder API-Secret.
- Die Produkte. Sie müssen verknüpft und aktiv sein, einen Shopify-Lagerartikel haben und zum Unternehmen des Shops gehören.
- Der Lagerort. Nötig ist ein Shopify-Hauptstandort mit zugewiesenem Odoo-Lagerort oder ein Lagerhaus als Ausweichlösung.
- Die Häufigkeit. Die Aktion läuft alle sechs Stunden, daher kann eine frische Änderung in Shopify noch nicht in Odoo angekommen sein.
Mit dieser Liste kann Laura Punkt für Punkt ausschließen, statt zu raten. Um mit dem Einfachsten zu beginnen, kann sie Shopify › Konfiguration › Shops öffnen und den Shop prüfen, bevor sie etwas anderes anfasst.
Wie FlexigoTech hilft
FlexigoTech implementiert Odoo 17, 18, 19 und 20 und entwickelt Konnektoren und individuelle Integrationen. Wenn Sie die Konfiguration Ihrer Shops prüfen oder den Bestandsfluss an Ihren Betrieb anpassen möchten, finden Sie das Modul auf seiner Seite oder im Odoo-Apps-Eintrag.
Das Modul ist in Odoo Apps für 17.0, 18.0, 19.0 und 20.0 veröffentlicht.
Weiterlesen
Geprüft im Quellcode des Connectors (Version 17.0 und 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Quellcode des Moduls: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.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
