Waar de knop staat en wie hem ziet
De knop Voorraad ophalen staat op het formulier van elke winkel, in het scherm Shopify-instanties (Shopify Instances). Die formulieren open je via het menu Shopify › Configuratie › Winkels (Shopify › Configuration › Stores). Heb je het recht voor een onderdeel niet, dan zie je dat onderdeel niet: Configuratie (Configuration) vraagt Operator en Shopify vraagt Lezer (Viewer). De knop hangt niet af van een voorwaarde in de weergave: hij is altijd zichtbaar en bestaat in Odoo 17, 18, 19 en 20. Wat volgt beschrijft de code van Odoo 20.

Met Odoo in het Nederlands heet de knop Voorraad ophalen; in het Duits Bestand abrufen; in het Frans Récupérer le stock; in het Italiaans Recupera stock; en in het Portugees Obter stock.


Stappen om hem te gebruiken
- Open
Shopify › Configuratie › Winkelsen ga naar het formulier van de winkel. - Ga naar het tabblad
Bewerkingen(Operations), groepSynchronisatie-instellingen(Sync Settings), en controleer ofVoorraadsynchronisatie ingeschakeldis aangevinkt. Met de standaardwaarden is dat niet zo, en zonder vinkje doet de knop niets met die winkel. - Kijk naar het veld
Bedrijf(Company) van het formulier: de knop werkt alleen met producten van dat bedrijf. - Wil je weten welke Shopify-locatie wordt geraadpleegd, kijk dan naar
Default Location Gidop het tabbladWebhooks. De help zegtShopify GraphQL-locatie-GID gebruikt voor voorraadsynchronisatie.Is het veld leeg, dan wordt het gevuld met de eerste locatie die Shopify teruggeeft. Dat doet de knop wanneer je erop drukt, en ook, zonder dat je iets doet, de geplande taakVoorraad naar Shopify sturen(Shopify Push Stock), die elke 20 minuten draait en bij installatie actief is. - Klik op
Voorraad ophalen. - Controleer na afloop de voorraad van de producten op de Odoo-locatie die is gebruikt (de keuze wordt hieronder uitgelegd).
Wat er intern gebeurt, in volgorde
- Is
Voorraadsynchronisatie ingeschakeldniet aangevinkt, dan gaat hij naar de volgende winkel zonder een record te openen. - Hij opent een synchronisatierecord van het type voorraad lezen, lopend.
- Hij zoekt de producten van die winkel die aan Shopify gekoppeld zijn: de actieve, met een identificatie van het voorraadartikel en waarvan het product bij het bedrijf van de winkel hoort. Is er geen enkel, dan sluit hij het record af als voltooid, met een notitie, en gaat niet verder.
- Hij kiest de Odoo-locatie: de Shopify-locatie die als hoofdlocatie is gemarkeerd en een toegewezen Odoo-locatie heeft. Bestaat die niet, dan gebruikt hij het magazijn van de winkel of, als die er geen heeft, het eerste magazijn van het bedrijf, en daarvan de voorraadlocatie. Vindt hij er geen, dan eindigt het record als mislukt en stopt die winkel, zonder de foutmelding hieronder te geven.
- Hij bepaalt de Shopify-locatie: die van
Default Location Gidof, als die leeg is, de eerste die Shopify teruggeeft, die bovendien in dat veld wordt opgeslagen. - Hij vraagt Shopify naar het beschikbare aantal van elk artikel op die locatie, in blokken van maximaal 100 artikelen.
- Voor elk product waarvoor Shopify een aantal heeft teruggegeven, past hij de voorraad van de Odoo-locatie aan met het verschil tussen het aantal van Shopify en het aantal dat Odoo nu op die locatie heeft, en noteert hij de datum van de laatste voorraadsynchronisatie van die koppeling. Producten zonder teruggegeven aantal worden overgeslagen. Mislukt er een, dan telt dat als fout en gaat hij door met de rest.
- Hij sluit het record af met de bijgewerkte producten en de fouten: correct als er geen fouten waren, gedeeltelijk als er fouten waren en ook bijgewerkte producten, mislukt als er fouten waren en niets is bijgewerkt.
Wat er verandert en wat niet
De Odoo-voorraad verandert: het aantal van elk product op de gekozen locatie wordt het beschikbare aantal dat Shopify meldt. De knop leest uit Shopify en past toe in Odoo.
De geplande taak Voorraad naar Shopify sturen gaat de andere kant op: elke 20 minuten, bij installatie actief, stuurt zij aantallen van Odoo naar Shopify, en wat zij verstuurt is de vrije hoeveelheid (wat er is min wat al is gereserveerd). Houd dat in gedachten als je beslist wie de baas is over de voorraad.
De fout die kan optreden
Bij het klikken op Voorraad ophalen kan de actie stoppen met Shopify-voorraadsynchronisatie mislukt voor …: … (Shopify stock pull failed for …: …).
- Wanneer dit voorkomt: wanneer er iets misgaat tijdens het uitvoeren voor de winkel. Fouten bij een los product veroorzaken dit niet: ze tellen als fouten en de rest gaat door.
- Wat erin staat: de eerste plaats is het
Winkeldomein(Shop Domain) van het formulier; na de dubbele punt staat de tekst van de oorspronkelijke fout. - Wat er blijft staan: het record van die uitvoering eindigt als mislukt met de fout.
- Wat te doen: lees de reden na de dubbele punt en los die op. Om te weten om welke winkel het gaat, vergelijk je met
Winkeldomein, waarvan de help het exacte Shopify-domein vraagt (bijvoorbeeldflexigobe.myshopify.com).
Loopt de verbinding via FlexigoTech Cloud en weigert de dienst de aanroep en pauzeert die, dan wordt het record van die uitvoering verwijderd in plaats van als mislukt te blijven staan.
Prijs en hulp van FlexigoTech
De module is een eenmalige betaling per Odoo-versie (17, 18, 19 en 20) en vereist het abonnement op FlexigoTech Cloud, plan Connector: € 49 per maand of € 490 per jaar excl. btw, tot 3 accounts van het platform. De prijs van elke versie staat op de Odoo Apps-pagina en op de pagina van de module. Met het abonnement is de module voor nieuwe Odoo-versies inbegrepen als je hem op flexigotech.com hebt gekocht; in de Odoo App Store koop je elke versie daar.
Als je Odoo aan het implementeren bent en de Shopify-voorraad goed wilt koppelen: 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_seller_connector 20.0 (d7e627b4): views/shopify_instance_views.xml
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
