Przejdź do głównej treści
Shopify

Co robi przycisk Pull Stock w Shopify Connector, krok po kroku

Przycisk Pull Stock pobiera do Odoo stany magazynowe ze Shopify: odczytuje, ile Shopify ma w swojej głównej lokalizacji, i tworzy korekty magazynowe w powiązanej lokalizacji Odoo, aby je wyrównać, odejmując to, co Odoo już wydało, a Shopify jeszcze nie zrealizowało. Działa tylko przy aktywnym polu Pull stock from Shopify i z uprawnieniami do Magazynowania.

FlexigoTech · Odpowiada: Víctor Gómez · Aktualizacja: 5 listopada 2026

Najważniejsze

Moduł
Shopify
Wersje
Odoo 17, 18, 19 i 20
Sprawdzone
w kodzie źródłowym konektora, wersja 20.0 · w źródłach podanych na końcu
Czas czytania
4 min

Kiedy się pojawia i czego wymaga

Przycisk Pull Stock znajduje się w karcie Shopify Instances, którą otwierasz z menu Sprzedaż › Shopify › Control Center › Instances (przy Odoo po hiszpańsku pierwszy człon nazywa się Sprzedaż). Istnieje w gałęziach 17, 18, 19 i 20 modułu i jest widoczny zawsze, bez żadnych warunków.

Schemat z menu Sprzedaż › Shopify › Control Center › Instances, przyciskiem Pull Stock i, z boku, komunikatami, które mogą go zatrzymać
Schemat wykonany kodem na podstawie opublikowanego kodu modułu (to nie jest ekran Odoo): menu, przycisk Pull Stock i to, co może go zatrzymać.

Aby coś zrobił, instancja potrzebuje aktywnego pola Pull stock from Shopify: dzięki temu Shopify staje się właścicielem stanów magazynowych. Zgodnie z jego pomocą nie może być aktywne jednocześnie z wysyłaniem stanów (Sync Stock Enabled) ani razem z innym sklepem, który pobiera stan do tej samej lokalizacji Odoo. Pomoc dodaje, że to, co Shopify liczy jako uszkodzone, w kontroli jakości lub jako zapas bezpieczeństwa, wchodzi do jego stanu: w Odoo jest to zwykły zapas jak każdy inny.

Your Odoo doesn't talk to Amazon, Temu or Shopify?
Wideo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (wideo po angielsku)

Krok po kroku

  1. Zacznij od drogi automatycznej. W karcie Shopify Instances, na zakładce Operations, w grupie Sync Settings, włącz Pull stock from Shopify. Domyślnie jest wyłączone.
  2. Włącz też zadanie zaplanowane Shopify Pull Stock (Shopify → Odoo): uruchamia się co sześć godzin i po instalacji jest wyłączone. Pomoc pola o tym ostrzega: jego włączenie nie uruchamia pobierania.
  3. Naciśnij Pull Stock tylko wtedy, gdy chcesz pobrać stany teraz, nie czekając na zadanie. To droga ręczna i przebiega według poniższych kroków.
  4. Zanim cokolwiek utworzy, przycisk sprawdza, czy pole jest aktywne. Jeśli nie jest, zatrzymuje się i niczego nie zmienia.
  5. Następnie sprawdza, czy osoba naciskająca ma uprawnienia do Magazynowania, bo pobieranie robi korekty magazynowe. Jeśli ich nie ma, zatrzymuje się z komunikatem o uprawnieniach z tabeli.
  6. Tworzy wpis w dzienniku synchronizacji, typu pobieranie stanów, w toku.
  7. Szuka aktywnych powiązań produktów tej instancji, które mają pozycję magazynową Shopify, i odrzuca te, w których produkt innej firmy został powiązany przed poprawką. Jeśli nie zostanie żadne, zamyka wpis jako zakończony, z notatką, i niczego nie zmienia.
  8. Ustala lokalizację w Odoo: powiązaną z główną lokalizacją Shopify lub, jeśli jej nie ma, lokalizację zapasów magazynu sklepu (jego firmy). Jeśli nie znajdzie żadnej, oznacza wpis jako nieudany i zapisuje w nim powód.
  9. Sprawdza, czy żaden inny aktywny sklep z włączonym polem nie pobiera stanów do tej samej lokalizacji, do lokalizacji w jej wnętrzu ani do takiej, która ją zawiera. Jeśli tak jest, oznacza wpis jako nieudany i przerywa, nie ruszając zapasów.
  10. Używa lokalizacji Shopify zapisanej w Default Location Gid (zakładka Webhooks karty). Jeśli jest pusta, prosi Shopify o jego pierwszą lokalizację i zapisuje ją tam.
  11. Pyta Shopify, w paczkach po sto pozycji, ile jest w tej lokalizacji (to, co jest w środku, łącznie z tym, co już zarezerwowane).
  12. Pomija produkty śledzone partiami lub numerami seryjnymi, te, które nie są magazynowane, oraz zestawy, i odnotowuje je. Produkty, dla których Shopify nie zwróciło ilości, zostają nietknięte.
  13. Jeśli w lokalizacji Odoo (wraz z jej podlokalizacjami) czeka inwentaryzacja tego produktu, nie nadpisuje jej: zostawia produkt bez korekty i odnotowuje to.
  14. Oblicza różnicę: stan ze Shopify, minus to, co Odoo wydało z tej lokalizacji (wraz z podlokalizacjami) dla otwartych zamówień sklepu, a Shopify jeszcze nie zrealizowało, minus to, co Odoo ma dostępne w lokalizacji. Nie liczy tego, co zrealizował konektor, ani zamówień, które Shopify zrealizowało inną drogą.
  15. Jeśli różnica jest dodatnia, tworzy i stosuje korektę magazynową, która zwiększa zapas lokalizacji. Jeśli jest ujemna, zmniejsza go, zabierając ze stanu lokalizacji (łącznie z podlokalizacjami i paczkami, nigdy tego, co należy do właściciela), w kolejności wydania. Jeśli Odoo nie ma wystarczającego zapasu do skorygowania w dół, nie koryguje tego produktu i liczy to jako błąd.
  16. Każdy produkt jest obsługiwany osobno: jeśli jeden zawiedzie, liczy się jako błąd i przechodzi do następnego. Gdy skoryguje produkt, zapisuje datę synchronizacji w jego powiązaniu.
  17. Zamyka wpis notatką: ile ilości pobrał oraz które produkty pominął, zostawił z oczekującą inwentaryzacją lub nie zdołał zmniejszyć. Wpis jest poprawny, jeśli nie było błędów, częściowy, jeśli były błędy i coś zaktualizowano, i nieudany, jeśli były błędy i nic nie zaktualizowano.

Niektóre komunikaty, które może zgłosić przycisk

KomunikatKiedy się pojawiaCo zrobić
Pulling stock from Shopify makes inventory adjustments: it needs Inventory rights.Po naciśnięciu przycisku bez uprawnień do Magazynowania.Niech naciśnie go użytkownik z uprawnieniami do Magazynowania.
Shopify stock pull failed for …: …Gdy coś zawiedzie podczas pobierania, już po utworzeniu wpisu. Najpierw jest domena sklepu (Shop Domain), potem powód.Przeczytaj powód po dwukropku: wpis zostaje jako nieudany z tym tekstem.

Jeśli FlexigoTech Cloud wstrzymało usługę, kod usuwa wpis z dziennika i nie zostawia go jako nieudanego; w takim przypadku komunikat o niepowodzeniu z ostatniego wiersza nie jest generowany.

Schemat z komunikatem o uprawnieniach do Magazynowania po hiszpańsku, niemiecku, francusku, włosku i portugalsku
Schemat wykonany kodem na podstawie opublikowanych tłumaczeń modułu (to nie jest ekran Odoo): komunikat o uprawnieniach z tabeli w pięciu językach.

Co sprawdzić potem

Otwórz wpis tego uruchomienia: jego status i notatka mówią, ile ilości pobrano oraz które produkty pominięto, zostawiono z powodu oczekującej inwentaryzacji lub nie udało się ich zmniejszyć. Korekty zostają w historii magazynu i są wyceniane jak każde inne. Jeśli produkt pojawia się w notatce z powodu oczekującej inwentaryzacji, sama notatka wskazuje, by zastosować ją lub usunąć w Odoo.

Koszt i pomoc

Moduł kosztuje 9 € za wersję Odoo, dla 17, 18, 19 i 20, netto (bez VAT), jednorazowo. Potrzebuje dodatkowo subskrypcji FlexigoTech Cloud: plan Konektor kosztuje 49 €/mies. lub 490 €/rok netto (bez VAT).

FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie.

Czytaj dalej

Komunikat „Authorize … in Shopify first (Authorize in Shopify).” w Shopify ConnectorKiedy pojawia się komunikat Authorize … in Shopify first (Authorize in Shopify). w Shopify Connector, jaki warunek w kodzie go wywołuje i jak go usunąć.
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach

Źródła