Naar hoofdinhoud
Shopify

«Shopify-orders synchroniseren»: wat niemand je over de taak vertelt

De geplande taak Shopify-orders synchroniseren (Shopify Sync Orders) draait elke 5 minuten en loopt langs de actieve winkels waarvoor ordersynchronisatie is ingeschakeld en die opgeslagen inloggegevens hebben, maar staat na de installatie van de module uitgeschakeld. Doet hij niets, kijk dan eerst of hij actief is, wie hem uitvoert en of de winkel aan die voorwaarden voldoet; het bericht over nul orders op de winkelkaart wijst je daarna de weg.

FlexigoTech · Verantwoordelijk: Víctor Gómez · Bijgewerkt op 5 november 2026

In het kort

Module
Shopify
Versies
Odoo 17, 18, 19 en 20
Gecontroleerd
in de broncode van de connector, versie 17.0 en 20.0 · in de bronnen onderaan
Leestijd
5 min

Voor de eerste run

Staat uitgeschakeld na installatie

De taak Shopify-orders synchroniseren draait elke 5 minuten, maar wordt uitgeschakeld geïnstalleerd: zolang niemand hem activeert, zijn er geen runs. Hij bestaat in de versies 17, 18, 19 en 20. In Odoo 17.0 is hij ingesteld om zich eindeloos te herhalen.

Schema van de geplande taak voor Shopify-orders, elke 5 minuten en uitgeschakeld bij installatie, naast het menu van de winkels
Schema gemaakt met code op basis van de gepubliceerde code van de module, geen schermafbeelding van Odoo. De labels staan in het Engels, zoals in de code.

De naam van de taak hangt af van de taal van je Odoo: met Odoo in het Nederlands is het Shopify-orders synchroniseren; in het Duits Shopify-Bestellungen synchronisieren; in het Frans Synchroniser les commandes Shopify; in het Italiaans Sincronizza ordini Shopify; in het Portugees Sincronizar encomendas Shopify.

Schema met de naam van de taak per taal van Odoo: Nederlands, Duits, Frans, Italiaans en Portugees
Schema gemaakt met code op basis van de gepubliceerde vertalingen van de module, geen schermafbeelding van Odoo.

Alleen een beheerder voert hem uit

Het eerste wat de methode controleert, is of degene die hem uitvoert systeembeheerder is. Zo niet, dan stopt hij met Only an administrator can run this scheduled action. en kijkt hij naar geen enkele winkel.

Niet alle winkels komen aan bod

De taak behandelt alleen winkels die actief zijn, waarvoor ordersynchronisatie is ingeschakeld en die een toegangstoken of het API-geheim van de app bewaren. De code legt de laatste eis uit: een winkel met klantgegevens heeft misschien geen opgeslagen token totdat de eerste aanroep er een aanmaakt, dus het volstaat dat hij inloggegevens heeft. Dat filter bepaalt wie meedoet.

De winkelkaarten open je via Shopify › Configuratie › Winkels. Elk deel van het menu vraagt een recht: Configuratie vraagt Operator en Shopify vraagt Lezer. Heb je een van beide niet, dan zie je dat deel niet.

Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify? (video in het Engels)

Wat er bij elke run gebeurt

Een rustige winkel doorloopt niet zijn hele historie

De eerste zoekopdracht combineert de importvoorwaarden van de winkel met een datumfilter. Vindt hij niets, dan herhaalt de code de zoekopdracht zonder datumfilter alleen als de winkel nog nooit orders heeft geïmporteerd. Had hij er al wel eens een geïmporteerd, dan eindigt de run daar: de code beschouwt dat resultaat als de normale toestand van een winkel zonder activiteit, en zonder filter zoeken zou bij elke run de historie vanaf de oudste order doorlopen.

Nul orders is geen fout, maar laat wel een bericht achter

Brengt de run geen enkele order binnen (ook niet na de zoekopdracht zonder filter, als de winkel nog nooit iets had geïmporteerd), dan behandelt de code dat niet als een storing en laat hij een bericht achter op de winkelkaart: De Shopify-ordersynchronisatie gaf 0 orders terug voor …. Controleer of deze app is verbonden met de verwachte shop en voeg de scope read_all_orders toe als u orders van ouder dan 60 dagen nodig hebt. In plaats van de puntjes staat het domein van de winkel. In dat geval verandert de datum van de laatste synchronisatie niet.

Zie je al dagen geen orders, lees dan dat bericht: het vraagt je te controleren of de app met de juiste winkel is verbonden en, als je orders van meer dan 60 dagen nodig hebt, de scope read_all_orders toe te voegen.

Bij afbreken door de paginalimiet gaat de datum niet terug

Brengt de run orders binnen, dan bewaart hij de datum van de laatste synchronisatie, zet hij de teller van opeenvolgende fouten op nul en wist hij de laatste fout. Is hij gestopt door de paginalimiet, dan bewaart hij de datum van de laatst geïmporteerde order in plaats van het huidige tijdstip, op voorwaarde dat die later is dan de laatst bewaarde synchronisatie (of dat er geen was); zo niet, dan bewaart hij het huidige tijdstip. Zo gaat de datum niet achteruit: de code voorkomt daarmee dat een afgebroken run die aan het begin van de historie begon, die opnieuw moet doorlopen terwijl de orders van vandaag wachten.

In dat geval laat de taak bovendien een bericht achter op de winkelkaart dat er nog orders openstaan en vanaf welke datum de volgende run verdergaat.

De ene winkel na de andere, en bij een echte fout blijft er een spoor

De taak loopt de winkels een voor een langs en roept de synchronisatie van elke winkel aan binnen een blok dat fouten opvangt. Gebeurt er een onverwachte fout, dan telt de winkel er een bij zijn teller van opeenvolgende fouten op en bewaart hij de laatste fout. De fout stijgt door naar de taak, die hem met de naam van de winkel in het serverlogboek noteert en doorgaat met de volgende: de storing van een winkel houdt de andere niet tegen.

Er zijn twee uitzonderingen. Heeft FlexigoTech Cloud de synchronisatie gepauzeerd, dan verwerpt de code het logboek van die run zodat het niet als mislukt blijft staan. En een eigen melding van de module, van het soort dat Odoo in een foutdialoog toont, telt niet mee in de teller van opeenvolgende fouten.

Als hij niets lijkt te doen

  • Controleer of de taak actief is: hij wordt uitgeschakeld geïnstalleerd.
  • Controleer of degene die hem uitvoert systeembeheerder is.
  • Onthoud wat de taak van elke winkel vraagt: actief zijn, ordersynchronisatie ingeschakeld hebben en een toegangstoken of het geheim van de app bewaren. De kaarten open je via Shopify › Configuratie › Winkels.
  • Lees de berichten op de winkelkaart: dat over nul orders zegt je wat je moet controleren.
  • Onthoud dat zonder abonnement of met opgeschorte dienst stopt wat het abonnement levert; de gegevens blijven in je Odoo.

Abonnement en hulp

De module is een eenmalige aankoop per versie en heeft het abonnement op FlexigoTech Cloud nodig: plan Connector, € 49 per maand of € 490 per jaar excl. btw, tot 3 accounts van het platform. De verbinding loopt via FlexigoTech Cloud, dat de inloggegevens versleuteld bewaart, de synchronisatie bewaakt en per e-mail waarschuwt als die faalt. De module is gepubliceerd voor Odoo 17, 18, 19 en 20; bekijk de prijs per versie op de Odoo Apps-pagina of op de pagina van de module.

Voor de voorraad is er een ander artikel: wat de voorraadknop van de module doet. Wil je Odoo met Shopify implementeren of een maatwerkconnector, dan implementeert FlexigoTech Odoo 17, 18, 19 en 20 en ontwikkelt het connectors en integraties op maat.

Lees verder

Wat de knop «Voorraad ophalen» van de Shopify-connector voor Odoo doetWat de knop Voorraad ophalen van de Shopify-connector voor Odoo doet: wanneer hij verschijnt, wat hij controleert, wat er verandert en welke fout kan komen.Melding 'is nu de primaire locatie' van de Shopify-connector voor OdooWat betekent de melding 'is nu de primaire locatie voor …' van de Shopify-connector voor Odoo, wanneer verschijnt ze en hoe wijzig je de primaire locatie?Fout bij het aanmaken van de verkooporder: Shopify-gegevens ontbrekenWat de melding in Shopify Connector for Odoo betekent als je op «Verkooporder aanmaken» klikt zonder ordergegevens, wanneer ze verschijnt en hoe je het oplost.
Gecontroleerd in de broncode van de connector (versie 17.0 en 20.0) en in de gelinkte bronnen

Bronnen