Voordat je klikt: waar staat hij en wat doet Odoo zelf
Het instantieformulier open je via het menu Verkoop (Sales): ga naar Shopify, daarna naar Control Center en tot slot naar Instances. De knop Producten synchroniseren zit in de Odoo-versies 17, 18, 19 en 20 en is volgens de voorwaarde in zijn weergave altijd zichtbaar.

De knop is niet de enige weg. Wat hij doet, doet ook de geplande taak Shopify Sync Products, elk uur, die bij het installeren van de module is uitgeschakeld. Wat volgt beschrijft de gepubliceerde code voor Odoo 20.0.
- Bepaal of de geplande taak
Shopify Sync Products(elk uur, bij installatie uitgeschakeld) voor je volstaat: als je hem niet activeert, kun je de productsynchronisatie met deze knop starten.
- Open het instantieformulier en noteer de waarde van
Last Product Sync. Je ziet haar op het formulier en in de lijst met instanties, alleen-lezen: de module schrijft haar, jij niet.
- Controleer op het tabblad
Operations, in de groepSynchronisatie-instellingen(Sync Settings),Page Size(standaard 50) enMax Pages(standaard 20). Als je bij een van beide minder dan één invult, gebruikt de module één.
- Als de instantie niet via FlexigoTech Cloud loopt, eist de code dat er een toegangstoken is voordat er iets wordt verstuurd.

Wat de knop doet, op volgorde
- Maakt een synchronisatieregistratie voor de instantie aan, van het type producten, gemarkeerd als lopend.
- Bereidt de query naar Shopify voor. Hij vraagt de producten gesorteerd op wijzigingsdatum op en van elk product onder meer: titel, leverancier, producttype, status, beschrijving, tags, wijzigingsdatum, uitgelichte afbeelding, opties en tot 250 varianten met hun SKU, prijs, vergelijkingsprijs, barcode en voorraadhoeveelheid.
- Bepaalt het filter. Als
Last Product Syncleeg is, wordt er geen gezet. Staat er een datum in, dan vraagt hij alleen de producten op die sinds dat moment in Shopify zijn gewijzigd. - Roept Shopify aan per pagina ter grootte van
Page Size, waarbij bij elke aanroep de cursor van de vorige pagina wordt meegegeven. - Geeft elk ontvangen product door aan de Shopify-productkoppeling van de module en telt het bij het totaal op.
- Stopt wanneer Shopify aangeeft dat er geen pagina's meer zijn of wanneer het aantal pagina's van
Max Pagesis bereikt. - Schrijft de datum en tijd van dat moment in
Last Product Syncen sluit de synchronisatieregistratie af, met het getelde totaal als bijgewerkte producten.
Een detail bij de laatste stap: de datum wordt geschreven bij het verlaten van de lus, zowel wanneer er geen pagina's meer waren als wanneer hij door Max Pages werd afgekapt. De volgende uitvoering start dus vanaf die datum. Houd dat in gedachten bij het instellen van Page Size en Max Pages in een winkel met veel producten.
Wat de aanroep naar Shopify doet
- Als de instantie via FlexigoTech Cloud loopt, gaat het verzoek via de dienst, die het token toevoegt dat hij bewaart (en vernieuwt). Odoo maakt geen verbinding met de winkel en ontvangt het token niet.
- Zonder die route roept Odoo Shopify aan met het token van de instantie.
- Als Shopify antwoordt dat je zijn limiet voor verzoeken hebt overschreden, wacht de aanroep (de tijd die Shopify aangeeft of enkele seconden, met een maximum van dertig, en bij elke nieuwe poging langer) en probeert opnieuw. Hij doet tot drie pogingen.
- Als Shopify het token bij de eerste poging afwijst en de instantie een vernieuwingstoken heeft, herhaalt de module de aanroep één keer, met het token dat de instantie op dat moment heeft.
- Elk ander foutantwoord, een antwoord met fouten of een antwoord met gebruikersfouten stopt de actie met die fout. Ze stopt ook als de pogingen op zijn.
Als het mislukt: wat verandert er en wat niet
- Bij een fout markeert de module de synchronisatieregistratie als mislukt, bewaart de tekst van de fout erin (ingekort als hij erg lang is) en gooit de fout opnieuw op, waardoor de actie stopt.
- Bij een mislukte uitvoering wordt
Last Product Syncniet bijgewerkt: die stap komt na de lus.
- Als FlexigoTech Cloud de uitvoering pauzeert, verwijdert de module de registratie van die uitvoering (ze blijft niet als mislukt staan) en stopt de actie evengoed.
Na het klikken: wat controleer je
Last Product Synctoont de huidige datum en tijd op het formulier en in de lijst met instanties.
- Als je winkel meer producten heeft dan er passen in
Page SizemaalMax Pages, onthoud dan dat de datum toch wordt geschreven en dat de volgende uitvoering alleen opvraagt wat sindsdien is gewijzigd.
- Controleer hoe de knop heet in jouw Odoo-taal. Met Odoo in het Nederlands is dat
Producten synchroniseren; de andere gepubliceerde vertalingen staan in het schema.

Producten synchroniseren; in het Duits Produkte synchronisieren; in het Frans Synchroniser les produits; in het Italiaans Sincronizza prodotti; in het Portugees Sincronizar produtos.Voor de voorraad van Shopify is er een ander artikel: wat de knop «Pull Stock» doet.
Prijs en hulp
Shopify Connector kost € 9 per Odoo-versie, excl. btw, eenmalig (voor 17, 18, 19 en 20; zie de productpagina), en vereist het abonnement op FlexigoTech Cloud: plan Connector, € 49 per maand of € 490 per jaar excl. btw.
Als je Odoo aan het implementeren bent en de productsynchronisatie goed wilt inrichten: FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt connectoren en integraties op maat.
Lees verder
Gecontroleerd in de broncode van de connector (versie 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigobe_shopify_connector 20.0 (c7078cd8): views/shopify_instance_views.xml
- Broncode van de module: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- Broncode van de module: flexigobe_shopify_connector 20.0 (c7078cd8): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- 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
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
