Ein Beispiel, um den Button Schritt für Schritt durchzugehen
Beispiel Fiktiver Fall: Firma und Zahlen sind erfunden, um den Ablauf zu zeigen.
Librería Faro ist ein erfundener Shop, der über Shopify verkauft und seine Bestellungen mit diesem Modul in Odoo verwaltet. Ein Kunde bittet darum, den Betrag einer ganzen Bestellung zu erstatten, und Ana aus der Verwaltung öffnet diesen Verkaufsauftrag in Odoo. Im Folgenden steht, was das Modul an jeder Stelle tut, gemäß seinem Code in Odoo 20.
Erstens: Erscheint der Button?
Der Button In Shopify erstatten befindet sich in der Ansicht des Verkaufsauftrags und wird ausgeblendet, wenn das Feld Shopify-Bestellreferenz leer ist. Mit den Standardwerten ist dieses Feld leer, daher sehen Sie den Button bei einem Auftrag ohne Verknüpfung mit Shopify nicht. Dieses Feld und Shopify-Instanz stehen im Auftrag in der Gruppe Shopify; sie sind schreibgeschützt und werden ausgeblendet, solange die Referenz leer ist. Dieselbe Ansichtsbedingung gilt für Odoo 17, 18, 19 und 20.

Zweitens: die Bestätigung
Beim Klick auf den Button fragt Odoo Eine vollständige Rückerstattung dieser Bestellung in Shopify erstellen?. Wenn Sie zustimmen, führt Odoo die Aktion des Buttons aus.
Drittens: was geprüft wird, in dieser Reihenfolge
- Berechtigungen. Als Erstes prüft die Aktion, ob Ihr Benutzer Shopify-Operator- oder Manager-Zugriff hat. Fehlt dieser, stoppt sie mit
You need Shopify Operator (or Manager) access to push changes to Shopify.Der Kommentar im Code erklärt den Grund: Ein Benutzer mit normalem Zugriff auf den Verkauf, aber ohne Shopify-Rolle, könnte sonst mit den Zugangsdaten des Shops einen echten Aufruf an Shopify auslösen. Deshalb sitzt die Prüfung in der Aktion selbst und hängt nicht davon ab, ob der Button sichtbar ist. - Verknüpfung mit Shopify. Für jeden Auftrag verlangt die Aktion, dass die Shopify-Referenz und die Instanz ausgefüllt sind. Fehlt eines von beiden, stoppt sie mit
Der Verkaufsauftrag … ist mit keiner Shopify-Bestellung verknüpft., wobei anstelle der Auslassungspunkte der Name des Auftrags steht. Da der Button nur bei ausgefüllter Referenz sichtbar ist, prüfen Sie in der GruppeShopify, obShopify-Instanzeinen Wert hat, falls Sie ihn aus dem Auftrag heraus klicken und diese Meldung erscheint.
Wenn ein Hinweis die Aktion stoppt, endet der Vorgang an dieser Stelle und die Rückerstattung für diesen Auftrag wird nicht angefordert.
Viertens: was bei Shopify angefordert wird
Besteht der Auftrag diese Prüfungen, erhält seine Shopify-Instanz den Auftrag, die Rückerstattung zu erstellen. Laut Code:
- Positionen. Erstattet werden alle importierten Positionen: die keine Abschnitts- oder Notizzeilen sind, keine Versandzeilen sind und eine Shopify-Positions-ID haben. Die Menge ist die der Position, auf eine ganze Zahl gerundet.
- Versand. Versandzeilen bleiben außen vor, und die Anfrage verlangt keine Erstattung der Versandkosten.
- Notiz. Sofern keine andere angegeben wird, lautet die an Shopify gesendete Notiz
Refunded from Odoo. - Kundenbenachrichtigung und Shop-Guthaben. Diese stammen aus den Optionen der Instanz: den Kunden über die Rückerstattung informieren und als Shop-Guthaben statt auf das ursprüngliche Zahlungsmittel erstatten.
- Währung. Das Modul fragt Shopify nach der vorgeschlagenen Rückerstattung und nimmt die Währung in die Anfrage auf, falls Shopify eine zurückgibt.
- Wiederholungen. Die Anfrage trägt einen Schlüssel, der genau diese Rückerstattung beschreibt (Bestellung, Positionen, Mengen, Versand und Methode). Wird sie wiederholt, etwa wegen einer verlorenen Antwort oder eines ungeduldigen zweiten Klicks, trägt sie denselben Schlüssel, und Shopify erstattet nur einmal, so der Kommentar im Code.
Wenn Ana die Rolle nicht hat
Sieht Ana den Berechtigungshinweis, wurde die Rückerstattung nicht angefordert. Sie braucht von der Person, die Odoo verwaltet, Shopify-Operator- (oder Manager-)Zugriff, wie es die Meldung selbst sagt, und muss den Button erneut klicken.

Was das Beispiel zeigt
- Der Button ist nicht für jeden Auftrag da: Er hängt von der
Shopify-Bestellreferenzab, und diese Referenz wird nicht von Hand ausgefüllt, weil das Feld schreibgeschützt ist. - Ihre Berechtigungen und die Verknüpfung des Auftrags (Referenz und Instanz) werden geprüft, bevor mit Shopify gesprochen wird, und scheitert eine davon, stoppt die Aktion.
- Die angeforderte Rückerstattung ist vollständig bezogen auf die importierten Positionen, ohne Versandzeilen und Versandkosten.
- Die Kundenbenachrichtigung und die Erstattung als Shop-Guthaben wählen Sie nicht beim Klick: Sie stammen aus den Optionen der Instanz.
- Eine identische Wiederholung verdoppelt die Rückerstattung in Shopify nicht, dank des Schlüssels in der Anfrage.
Bevor Sie es in Ihrem Odoo ausprobieren
Der Button ist in den Branches für Odoo 17, 18, 19 und 20 enthalten, den in Odoo Apps veröffentlichten Versionen des Moduls; der beschriebene Code ist der von Odoo 20. Mit Odoo auf Deutsch heißt er In Shopify erstatten; in anderen Sprachen ändert sich die Beschriftung, wie das Schema zeigt.

Das Modul ist eine Einmalzahlung pro Odoo-Version und erfordert das Abonnement von FlexigoTech Cloud, Plan Conector: 49 €/Monat oder 490 €/Jahr, zzgl. MwSt. Die Verbindung läuft über FlexigoTech Cloud, das die Zugangsdaten verschlüsselt speichert, die Synchronisierung überwacht und bei Fehlern per E-Mail benachrichtigt. Alles steht auf der Odoo-Apps-Seite und auf der Modulseite.
Wenn Ihre Frage einen anderen Bereich der Bestellungen betrifft, lesen Sie die Meldung zu Shopify-Daten beim Erstellen des Verkaufsauftrags. Und wenn Sie Odoo mit Shopify einführen und Berechtigungen, Instanzen oder einen individuellen Retourenablauf prüfen möchten: FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt individuelle Konnektoren und Integrationen.
Kurze Fragen
Warum sehe ich den Button bei einem Auftrag nicht?
Weil der Button ausgeblendet wird, wenn die Shopify-Bestellreferenz leer ist, und mit den Standardwerten ist sie das.
Wird nachgefragt?
Ja: Eine vollständige Rückerstattung dieser Bestellung in Shopify erstellen?.
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/sale_order_views.xml
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/sale_order.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
