De weg die de knop niet nodig heeft
Voordat je ergens op klikt, is het goed om te weten dat de module de annulering ook zelf bij Shopify kan aanvragen. In het dossier van Shopify-instanties, tabblad Bewerkingen, groep Synchronisatie-instellingen, staat het vakje Annuleringen automatisch naar Shopify pushen. De hulptekst luidt: «Wanneer een aan Shopify gekoppelde verkooporder in Odoo wordt geannuleerd, deze ook in Shopify annuleren.» Het vakje staat standaard uit.
Met het vakje aan vraagt de module Shopify om annulering zodra je een verkooporder in Odoo annuleert, mits de order aan een instantie gekoppeld is, een Shopify-bestelreferentie heeft en echt geannuleerd is. Mislukt dat verzoek, dan wordt de fout in het logboek genoteerd en wordt de annulering in Odoo niet teruggedraaid.
De knop Annuleren in Shopify is de handmatige weg: je klikt erop vanuit het dossier van de Shopify-bestelling. Wanneer de knop de verkooporder in Odoo annuleert, markeert hij dat die annulering niet opnieuw via de automatische weg naar Shopify gestuurd hoeft te worden.

Wanneer de knop verschijnt
Hij staat in het dossier van Fulfilmenttrechter, dat je opent via Shopify › Bewerkingen › Bestellingen. Om dat menu te zien heb je het recht Lezer nodig.
De voorwaarde in de weergave kijkt alleen naar het veld Status: de knop is verborgen als de waarde Geannuleerd is en zichtbaar bij elke andere waarde. De standaardwaarde is Open, dus bij een net binnengekomen bestelling zie je hem. De andere waarden zijn Gedeeltelijk geleverd, Geleverd en Terugbetaald. De knop bestaat in Odoo 17, 18, 19 en 20, met dezelfde voorwaarde.
Zichtbaar is niet hetzelfde als bruikbaar: de voorwaarde in de weergave gaat alleen over de status, en de toegang wordt gecontroleerd op het moment van klikken (zie verderop).

Met Odoo in het Nederlands heet de knop Annuleren in Shopify.
Een voorbeeld: Tienda Aurora annuleert een bestelling
Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.
Tienda Aurora (een verzonnen bedrijf voor dit voorbeeld) verkoopt via Shopify en beheert de bestellingen in Odoo. Een klant vraagt een aankoop te annuleren die nog niet is verzonden. Marta, van klantenservice, heeft toegang als Shopify-operator.
- Marta opent
Shopify › Bewerkingen › Bestellingenen gaat naar het dossier van de bestelling. DeStatusisOpenen de knop is zichtbaar. - Ze klikt op
Annuleren in Shopify. Shopify geeft geen fout met tekst terug. - De
StatuswordtGeannuleerd, de knop verdwijnt en de gekoppelde verkooporder wordt in Odoo geannuleerd.
De volgende dag komt er een ander geval en Shopify geeft een fout met de reden terug. Marta ziet Annuleren Shopify-bestelling mislukt: …, met achter de dubbele punt de tekst die Shopify teruggeeft. De Status blijft zoals hij was en de verkooporder wordt niet aangeraakt. Haar taak is dan de reden te lezen.
Een collega die alleen het recht Lezer heeft, opent hetzelfde dossier, ziet de knop en krijgt bij het klikken de toegangsmelding uit de tabel hieronder.
Wat hij controleert en doet, in volgorde
Dit is de volgorde van de code van Odoo 20. Zodra een controle mislukt, stopt de knop en wordt niets bewaard van wat hij ging wijzigen.
- Controleert of je toegang hebt als operator of beheerder van Shopify.
- Controleert of de bestelling niet al geannuleerd is (in die status is de knop al verborgen).
- Controleert of het veld
Shopify-bestellingeen waarde heeft. - Vraagt Shopify om de annulering. Of de klant gewaarschuwd, het bedrag terugbetaald of de voorraad aangevuld moet worden, bepaalt de configuratie van de instantie van de bestelling: de knop vraagt niets. Geeft Shopify fouten met tekst terug, dan stopt de knop hier.
- Als de vorige stap niet gestopt is, schrijft hij
GeannuleerdinStatus. - Heeft de bestelling een gekoppelde
Verkooporderen is die niet geannuleerd, dan probeert hij die in Odoo te annuleren. Mislukt die annulering, dan blijft de fout in het logboek, toont de knop daarover geen enkele melding en blijft de Shopify-bestelling opGeannuleerdstaan.

De velden Shopify-bestelling, Verkooporder en Status zie je in het dossier en worden door de module ingevuld, niet door de gebruiker. Shopify-bestelling is alleen-lezen.
Meldingen die je bij het klikken kunt krijgen
Dit zijn enkele van de meldingen die de knop kan geven:
| Melding | Wanneer ze verschijnt | Wat te doen |
|---|---|---|
You need Shopify Operator (or Manager) access for this action. | Bij het klikken op de knop zonder toegang als operator of beheerder van Shopify. | Vraag die toegang aan of laat iemand anders klikken die hem wel heeft. |
Geen Shopify-bestelling-ID gevonden. (No Shopify order ID found.) | Bij het klikken op de knop met een leeg veld Shopify-bestelling. | Controleer dat veld in het dossier: het wordt niet met de hand ingevuld, de module vult het in. |
Annuleren Shopify-bestelling mislukt: … (Shopify order cancel failed: …) | Bij het klikken op de knop, wanneer Shopify fouten met tekst teruggeeft; de tekst van Shopify staat op de plaats van de beletselteken. | Lees de reden die Shopify geeft. In dat geval stopt de knop en blijft de status ongewijzigd. |
Wat je uit het voorbeeld meeneemt
- Met het automatische vakje uit annuleert het annuleren van de verkooporder in Odoo Shopify niet via die weg; de knop doet dat wel.
- De
StatusGeannuleerdwordt geschreven nadat de annulering bij Shopify is aangevraagd, tenzij Shopify fouten met tekst teruggeeft: dan verschijntAnnuleren Shopify-bestelling mislukt: …en verandert er niets. - Een fout bij het annuleren van de verkooporder in Odoo is niet op het scherm te zien: twijfel je, controleer dan na het klikken de gekoppelde verkooporder.
Hoe FlexigoTech helpt
De module staat in Odoo Apps voor Odoo 17, 18, 19 en 20; je vindt de pagina in Odoo Apps en de pagina van de module. Naast de eenmalige betaling voor de module is een abonnement op FlexigoTech Cloud nodig: de verbinding met Shopify loopt via die dienst, die de inloggegevens versleuteld bewaart en per e-mail waarschuwt als de synchronisatie mislukt (plan Connector: € 49 per maand of € 490 per jaar excl. btw). FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt connectoren en integraties op maat, voor het geval je de annuleringsstroom aan je winkel wilt aanpassen.
Lees verder
Gecontroleerd in de broncode van de connector (versie 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (2950bdc0): views/shopify_order_views.xml
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/shopify_order.py
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/sale_order.py
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
