Wanneer verschijnt de melding precies
De melding verschijnt wanneer je op de knop Verkooporder aanmaken (Create Sale Order) klikt in het formulier van een Shopify-bestelling. Je komt in dat formulier via het menu Shopify › Bewerkingen › Bestellingen. Elk onderdeel van het menu vraagt het recht Lezer (Viewer): zonder dat recht zie je dat onderdeel niet. Dat recht dient om het menu te zien; de knop is daarentegen voor Shopify-managers (Shopify Manager), en de methode controleert dat voordat ze naar de inhoud van de bestelling kijkt.
De knop is zichtbaar zolang het veld Verkooporder (Sale Order) van de bestelling leeg is, en verdwijnt zodra er al een is. Als je klikt, vraagt Odoo om bevestiging met deze tekst: It is created as a quotation that the connector never confirms: check first that this order was not shipped already. Create it?. Als je accepteert en je gebruiker is Shopify-manager, kijkt de methode of het veld Ruwe payload (Raw Payload) leeg is. Is dat zo, dan geeft ze de melding en stopt de actie.


Welk veld wordt gecontroleerd
Ruwe payload is een veld van het type Json van de Shopify-bestelling. Je ziet het in het formulier Fulfilmenttrechter (Fulfilment Funnel), tabblad Technisch (Technical). Op het scherm staat het zonder label, je ziet alleen de inhoud, en alleen gebruikers met het recht voor systeembeheer zien het, in alleen-lezen.
Je schrijft het niet zelf: de code van de module vult het in, en daar komen zowel de knop Verkooporders aanmaken (Create Sale Orders) als Verkooporder aanmaken zelf terecht. Om te weten wat de eerste doet, lees je wat de knop Verkooporders aanmaken doet.
Een voorbeeld
Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.
Tienda Ejemplo is een verzonnen bedrijf dat via Shopify verkoopt en zijn bestellingen in Odoo beheert. Laura, Shopify-manager, behandelt de bestellingen: ze opent Shopify › Bewerkingen › Bestellingen en gaat naar een bestelling zonder verkooporder. Ze ziet de knop Verkooporder aanmaken en klikt erop. Ze leest de bevestiging: de order wordt aangemaakt als offerte die de connector nooit bevestigt, en je moet eerst controleren dat de bestelling niet al is verzonden. Laura controleert het, accepteert en Odoo antwoordt met Geen Shopify-gegevens beschikbaar om verkooporder aan te maken. Vernieuw eerst vanuit Shopify..
Haar gebruiker heeft geen recht voor systeembeheer, dus ze ziet het veld Ruwe payload niet. Ze vraagt iemand die dat recht wel heeft om het tabblad Technisch van het formulier Fulfilmenttrechter te openen, en die bevestigt dat er geen inhoud is. Dat klopt met de code: met een leeg veld stopt de methode. Laura vernieuwt de bestelling vanuit Shopify, zoals de melding vraagt, en klikt opnieuw op de knop.
Wat je van dit geval leert:
- De melding gaat over de opgeslagen inhoud van de Shopify-bestelling, niet over de verkooporder die je wilde aanmaken.
- Om de oorzaak te controleren moet je het veld
Ruwe payloadkunnen zien, en dat hangt af van een specifiek recht. - De waarschuwing in de bevestiging is belangrijk: de verkooporder wordt aangemaakt als offerte die de connector nooit bevestigt.
Wat de methode doet, in volgorde
In Odoo 20.0 doet de methode dit wanneer je op Verkooporder aanmaken klikt:
- Als de bestelling al een
Verkooporderheeft, opent de methode die order en stopt. Er is geen fout. - Als je gebruiker geen Shopify-manager (Shopify Manager) is, stopt de methode.
- Als
Ruwe payloadleeg is, geeft ze de meldingGeen Shopify-gegevens beschikbaar om verkooporder aan te maken. Vernieuw eerst vanuit Shopify.en stopt. - Als er inhoud is, verwijdert ze de blokkeringsmarkering van de bestelling en markeert ze die als handmatig aangemaakt.
- Ze verwerkt de opgeslagen inhoud opnieuw met de optie voor handmatig aanmaken en leest de bestelling opnieuw in.
- Als de bestelling al een
Verkooporderheeft, opent ze die; zo niet, dan eindigt ze zonder een order te openen.
Omdat de blokkering en de markering voor handmatig aanmaken pas na de controle worden geschreven, wordt er bij de fout niets opgeslagen en blijft de bestelling zoals ze was.
Zo los je het op
- Controleer dat de bestelling nog geen
Verkooporderheeft. Heeft ze er al een, dan is de knop niet zichtbaar. - Controleer dat je gebruiker Shopify-manager is: de knop is voor managers en als je dat niet bent, stopt de methode voordat ze naar de inhoud kijkt.
- Heb je het recht voor systeembeheer, open dan het tabblad
Technischvan het formulierFulfilmenttrechteren kijk of er inhoud is. Heb je het niet, vraag dan iemand die het wel heeft om te kijken. - Vernieuw de bestelling vanuit Shopify, zoals de melding zelf aangeeft.
- Klik opnieuw op
Verkooporder aanmaken, lees de bevestiging nog eens en accepteer alleen als de bestelling niet al is verzonden. - Als de verkooporder wordt aangemaakt, opent Odoo die; opent hij niet, controleer dan het veld
Verkoopordervan de bestelling.
Probeer de inhoud niet met de hand te schrijven: het veld is alleen-lezen en wordt door de code van de module geschreven.
In welke versies zit het
De melding staat in de gepubliceerde code van de vier branches: Odoo 17, 18, 19 en 20. De knop Verkooporder aanmaken heeft in alle vier dezelfde weergavevoorwaarde: hij verdwijnt wanneer de bestelling een Verkooporder heeft. De module is gepubliceerd in Odoo Apps voor die vier versies.
Met Odoo in het Spaans lees je de melding zoals in de inleiding. Het volgende schema toont dezelfde tekst in andere talen.

Hulp nodig bij de implementatie?
Wil je nakijken hoe je winkel en je Odoo met elkaar verbonden zijn, dan implementeert FlexigoTech Odoo 17, 18, 19 en 20 en ontwikkelt het connectoren en integraties op maat. Meer informatie vind je op de pagina van Odoo Apps en op de pagina van de module.
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 (d7e627b4): models/shopify_order.py
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/shopify_order_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
