Wanneer hij verschijnt en wat hij nodig heeft
De knop Pull Stock staat op het formulier van Shopify Instances, dat je opent via het menu Verkoop › Shopify › Control Center › Instances (met Odoo in het Spaans heet het eerste deel Verkoop). Hij bestaat in de takken 17, 18, 19 en 20 van de module en is altijd zichtbaar, zonder enige voorwaarde.

Pull Stock en wat hem kan stoppen.Om iets te doen heeft de instantie het vakje Voorraad ophalen uit Shopify nodig: zo wordt Shopify de eigenaar van de voorraad. Volgens de hulptekst mag dit niet tegelijk aan staan met het versturen van voorraad (Sync Stock Enabled) en ook niet met een andere winkel die voorraad naar dezelfde Odoo-locatie ophaalt. De hulptekst voegt eraan toe dat wat Shopify als beschadigd, in kwaliteitscontrole of als veiligheidsvoorraad telt, meetelt in de voorraad: in Odoo is het gewone voorraad zoals de rest.

Stap voor stap
- Begin met de automatische route. Activeer op het formulier van
Shopify Instances, tabbladOperations, groepSynchronisatie-instellingen(Sync Settings), het vakjeVoorraad ophalen uit Shopify. Standaard staat het uit. - Activeer ook de geplande taak
Shopify Pull Stock (Shopify → Odoo): die draait alle zes uur en staat bij de installatie uit. De hulptekst van het vakje waarschuwt hiervoor: het vakje activeren start het ophalen niet. - Klik alleen op
Pull Stockals je de voorraad nu wilt ophalen, zonder op de taak te wachten. Dit is de handmatige route en doorloopt wat hierna volgt. - Voordat hij iets aanmaakt, controleert de knop of het vakje aan staat. Zo niet, dan stopt hij en verandert er niets.
- Daarna controleert hij of wie klikt rechten op Voorraad heeft, omdat het ophalen voorraadcorrecties maakt. Heeft die persoon ze niet, dan stopt hij met het rechtenbericht uit de tabel.
- Hij maakt een regel aan in het synchronisatielogboek, van het type voorraad ophalen, in uitvoering.
- Hij zoekt de actieve productkoppelingen van die instantie met een voorraaditem van Shopify en laat die weg van een product van een ander bedrijf dat vóór een correctie is gekoppeld. Blijft er geen over, dan sluit hij het logboek af als voltooid, met een notitie, en verandert er niets.
- Hij bepaalt de Odoo-locatie: de locatie gekoppeld aan de hoofdlocatie van Shopify of, als die er niet is, de voorraadlocatie van het magazijn van de winkel (van zijn bedrijf). Vindt hij er geen, dan markeert hij het logboek als mislukt en laat de reden erin staan.
- Hij controleert dat geen andere actieve winkel met het vakje aan voorraad naar diezelfde locatie ophaalt, naar een locatie erbinnen of naar een locatie die haar bevat. Is dat zo, dan markeert hij het logboek als mislukt en stopt hij zonder de voorraad aan te raken.
- Hij gebruikt de Shopify-locatie die is opgeslagen in
Default Location Gid(tabbladWebhooksvan het formulier). Is die leeg, dan vraagt hij Shopify om de eerste locatie en slaat die daar op. - Hij vraagt Shopify, in blokken van honderd artikelen, hoeveel er op die locatie ligt (wat erin zit, inclusief wat al is toegezegd).
- Hij slaat producten met tracering op partijen of serienummers, producten die niet worden opgeslagen en kits over en noteert ze. Producten waarvoor Shopify geen hoeveelheid teruggaf, blijven ongemoeid.
- Is er op de Odoo-locatie (met haar onderliggende locaties) een openstaande telling van dat product, dan overschrijft hij die niet: hij laat het product ongecorrigeerd en noteert het.
- Hij berekent het verschil: voorraad van Shopify, min wat Odoo vanaf die locatie (met onderliggende locaties) heeft geleverd voor open orders van de winkel en wat Shopify nog niet heeft afgehandeld, min wat Odoo beschikbaar heeft op de locatie. Wat de connector heeft afgehandeld en de orders die Shopify op een andere manier heeft afgehandeld, tellen niet mee.
- Is het verschil positief, dan maakt en past hij een voorraadcorrectie toe die de voorraad van de locatie verhoogt. Is het negatief, dan verlaagt hij die door af te boeken van de voorraad van de locatie (onderliggende locaties en pakketten inbegrepen, nooit wat van een eigenaar is), in volgorde van uitgifte. Heeft Odoo niet genoeg corrigeerbare voorraad om te verlagen, dan corrigeert hij dat product niet en telt het als fout.
- Elk product gaat apart: faalt er één, dan telt dat als fout en gaat hij door met het volgende. Zodra hij er een corrigeert, noteert hij de synchronisatiedatum op de koppeling.
- Hij sluit het logboek af met een notitie: hoeveel hoeveelheden hij ophaalde en welke producten hij oversloeg, met een openstaande telling liet staan of niet kon verlagen. Het resultaat is geslaagd als er geen fouten waren, gedeeltelijk als er fouten waren en iets is bijgewerkt, en mislukt als er fouten waren en niets is bijgewerkt.
Enkele berichten die de knop kan geven
| Bericht | Wanneer het verschijnt | Wat te doen |
|---|---|---|
Voorraad ophalen uit Shopify maakt voorraadcorrecties: daarvoor zijn rechten op Voorraad nodig. (Pulling stock from Shopify makes inventory adjustments: it needs Inventory rights.) | Bij het klikken op de knop zonder rechten op Voorraad. | Laat een gebruiker met rechten op Voorraad klikken. |
Shopify-voorraadsynchronisatie mislukt voor …: … (Shopify stock pull failed for …: …) | Als er tijdens het ophalen iets misgaat, terwijl het logboek al is aangemaakt. Eerst komt het domein van de winkel (Shop Domain) en daarna de reden. | Lees de reden na de dubbele punt: het logboek blijft als mislukt staan met die tekst. |
Als FlexigoTech Cloud de dienst heeft gepauzeerd, verwijdert de code de regel uit het logboek en laat die niet als mislukt staan; in dat geval wordt het foutbericht van de laatste rij niet gegenereerd.

Wat je daarna controleert
Open het logboek van die uitvoering: de status en de notitie zeggen hoeveel hoeveelheden zijn opgehaald en welke producten zijn overgeslagen, vanwege een openstaande telling zijn blijven staan of niet konden worden verlaagd. De correcties staan in de voorraadgeschiedenis en worden gewaardeerd als elke andere. Staat een product in de notitie vanwege een openstaande telling, dan geeft de notitie zelf aan dat je die in Odoo moet toepassen of verwijderen.
Kosten en hulp
De module kost € 9 per Odoo-versie, voor 17, 18, 19 en 20, excl. btw en als eenmalige betaling. Daarnaast heb je het abonnement op FlexigoTech Cloud nodig: het plan Connector kost € 49 per maand of € 490 per jaar, excl. btw.
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/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
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
