Gdzie jest przycisk i kto go widzi
Przycisk Pull Stock znajduje się w karcie każdego sklepu, na ekranie Shopify Instances. Karty otwierasz z menu Shopify › Configuration › Stores. Jeśli nie masz uprawnienia do danego poziomu, nie zobaczysz tego poziomu: Configuration wymaga roli Operator, a Shopify wymaga roli Viewer. Przycisk nie zależy od żadnego warunku widoku: widać go zawsze i jest dostępny w Odoo 17, 18, 19 i 20. To, co niżej, opisuje kod Odoo 20.

Przy Odoo po niemiecku przycisk nazywa się Bestand abrufen; po francusku Récupérer le stock; po włosku Recupera stock; a po portugalsku Obter stock. W pozostałych językach, w tym po polsku, moduł nie ma tłumaczenia i pokazuje Pull Stock.


Kroki użycia
- Otwórz
Shopify › Configuration › Storesi wejdź do karty sklepu. - Przejdź do zakładki
Operations, grupaSync Settings, i sprawdź, czySync Stock Enabledjest zaznaczone. Przy wartościach domyślnych nie jest, a przy niezaznaczonym polu przycisk nic nie robi z tym sklepem. - Spójrz na pole
Companyw karcie: przycisk pracuje tylko z produktami tej firmy. - Jeśli chcesz wiedzieć, jaka lokalizacja Shopify zostanie odpytana, zobacz
Default Location Gidw zakładceWebhooks. Jego pomoc brzmiShopify GraphQL location GID used for inventory synchronization.Jeśli jest puste, zostaje uzupełnione pierwszą lokalizacją zwróconą przez Shopify. Robi to przycisk po kliknięciu, a także, bez klikania, zaplanowane zadanieShopify Push Stock, które działa co 20 minut i jest aktywne po instalacji. - Kliknij
Pull Stock. - Gdy skończy, sprawdź zapasy produktów w użytej lokalizacji Odoo (wybór wyjaśniono niżej).
Co robi w środku, po kolei
- Jeśli
Sync Stock Enablednie jest zaznaczone, przechodzi do następnego sklepu bez otwierania żadnego rekordu. - Otwiera rekord synchronizacji typu odczyt zapasów, w toku.
- Szuka produktów tego sklepu powiązanych ze Shopify: aktywnych, z identyfikatorem pozycji magazynowej i należących do firmy sklepu. Jeśli nie ma żadnego, zamyka rekord jako zakończony, z notatką, i nie idzie dalej.
- Wybiera lokalizację Odoo: lokalizację Shopify oznaczoną jako główna i z przypisaną lokalizacją Odoo. Jeśli taka nie istnieje, używa magazynu sklepu lub, jeśli go nie ma, pierwszego magazynu firmy, a z niego jego lokalizacji zapasów. Jeśli nie znajdzie żadnej, rekord kończy się jako nieudany i ten sklep zostaje zatrzymany, bez wywołania komunikatu o błędzie opisanego niżej.
- Ustala lokalizację Shopify: tę z
Default Location Gidlub, jeśli jest puste, pierwszą zwróconą przez Shopify, która przy okazji zostaje zapisana w tym polu. - Pyta Shopify o dostępną ilość każdej pozycji w tej lokalizacji, w paczkach do 100 pozycji.
- Dla każdego produktu, dla którego Shopify zwróciło ilość, koryguje zapas lokalizacji Odoo o różnicę między ilością ze Shopify a tą, którą Odoo ma teraz w tej lokalizacji, i zapisuje datę ostatniej synchronizacji zapasów tego powiązania. Produkty bez zwróconej ilości są pomijane. Jeśli jeden zawiedzie, liczy się jako błąd, a reszta idzie dalej.
- Zamyka rekord z liczbą zaktualizowanych produktów i błędów: poprawny, jeśli nie było błędów, częściowy, jeśli były błędy i też zaktualizowane, nieudany, jeśli były błędy i żaden nie został zaktualizowany.
Co się zmienia, a co nie
Zmienia się zapas w Odoo: ilość każdego produktu w wybranej lokalizacji staje się dostępną ilością podaną przez Shopify. Przycisk odczytuje ze Shopify i stosuje w Odoo.
Zaplanowane zadanie Shopify Push Stock działa w przeciwnym kierunku: co 20 minut, aktywne po instalacji, wysyła ilości z Odoo do Shopify, a wysyła ilość wolną (tę, która jest, minus już zarezerwowana). Miej to na uwadze, decydując, kto rządzi zapasami.
Błąd, który może się pojawić
Po kliknięciu Pull Stock akcja może się zatrzymać z komunikatem Shopify stock pull failed for …: ….
- Kiedy się pojawia: gdy coś zawiedzie podczas wykonania dla sklepu. Błędy pojedynczego produktu go nie wywołują: są liczone jako błędy, a reszta idzie dalej.
- Co zawiera: pierwsze miejsce to
Shop Domainz karty; po dwukropku jest tekst oryginalnego błędu. - Co zostaje: rekord tego wykonania zostaje jako nieudany, z błędem.
- Co zrobić: przeczytaj przyczynę po dwukropku i popraw ją. Aby ustalić, o który sklep chodzi, porównaj z
Shop Domain, którego pomoc wymaga dokładnej domeny Shopify (na przykładflexigobe.myshopify.com).
Jeśli połączenie idzie przez FlexigoTech Cloud, a usługa odrzuci wywołanie i je wstrzyma, rekord tego wykonania zostaje usunięty zamiast pozostać jako nieudany.
Cena i pomoc FlexigoTech
Moduł jest płatny jednorazowo za wersję Odoo (17, 18, 19 i 20) i wymaga subskrypcji FlexigoTech Cloud, plan Konektor: 49 €/mies. lub 490 €/rok netto (bez VAT), do 3 kont platformy. Cenę każdej wersji znajdziesz w karcie w Odoo Apps i na stronie modułu. Z subskrypcją moduł dla nowych wersji Odoo jest wliczony, jeśli kupiłeś go na flexigotech.com; w Odoo App Store każdą wersję kupuje się tam.
Jeśli wdrażasz Odoo i chcesz dobrze połączyć zapasy ze Shopify, FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/shopify_instance_views.xml
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Kod modułu: 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
