Przejdź do głównej treści
Shopify

Co robi przycisk Return Stock w Shopify Connector for Odoo, krok po kroku

Przycisk Return Stock tworzy w Odoo już zatwierdzony zwrotny transfer magazynowy dla zwrotu środków z Shopify z produktami do przywrócenia na stan i oznacza zwrot magazynowy jako wykonany. Widać go tylko wtedy, gdy ten zwrot jest oczekujący, w przeglądzie lub nieudany. Prześledzimy to na wymyślonym przykładzie: co sprawdza, co zmienia i jakimi komunikatami może się zatrzymać.

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
5 min

Kiedy pojawia się przycisk

Przycisk Return Stock znajduje się na ekranie Shopify Refunds, który otwiera się z Shopify › Operations › Refunds & Returns. Aby zobaczyć w menu pozycje Shopify i Operations, potrzebne jest uprawnienie Viewer.

Warunek jest taki sam w Odoo 17, 18, 19 i 20: przycisk jest ukryty, chyba że pole Stock Return ma wartość oczekujący, w przeglądzie lub nieudany. Przy wartościach domyślnych tego pola go nie widać. Nie zależy od pola State zwrotu środków, które jest czymś innym i przyjmuje wartości Draft, Credit Note Created, Ignored i Failed.

Schemat wykonany kodem: menu zwrotów, przycisk Return Stock i komunikaty, które mogą go zatrzymać
Schemat wykonany kodem na podstawie kodu modułu (to nie jest ekran Odoo): menu, przycisk (Odoo 17, 18, 19 i 20) oraz z boku komunikaty, które mogą go zatrzymać, z tekstami z kodu.

Przy Odoo po polsku przycisk nazywa się Return Stock, bo moduł nie ma tłumaczenia na ten język; ma jednak tłumaczenia na inne języki.

Schemat wykonany kodem z tekstem Return Stock przetłumaczonym na kilka języków
Schemat wykonany kodem na podstawie tłumaczeń modułu (to nie jest ekran Odoo): po hiszpańsku Devolver al stock, po niemiecku Bestand zurückbuchen, po francusku Retourner au stock, po włosku Restituisci a magazzino i po portugalsku Devolver ao stock.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Wideo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (wideo po angielsku)

Przykład od początku do końca

Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.

Velas del Sur to wymyślony sklep, który sprzedaje przez Shopify, a magazyn prowadzi w Odoo z konektorem. Klient zwraca kilka świec, a jego zwrot środków, z produktami do przywrócenia na stan, jest już w Odoo. Osoba z magazynu otwiera go i klika Return Stock. Oto co robi przycisk, w tej kolejności:

  1. Jeśli zwrot magazynowy był nieudany, ale jego transfer zwrotny był już zatwierdzony, uznaje go za dobry: oznacza jako wykonany i usuwa błąd. Jeśli był już wykonany, otwiera ten transfer i nie robi nic więcej.
  2. Czyta pozycje przywrócenia na stan ze zwrotu środków i pomija te z ilością zero lub ujemną. Dla każdej szuka produktu w Odoo po ID wariantu z Shopify, a jeśli go nie znajdzie, po SKU, w obrębie firmy instancji. Pozycje, których nie rozpozna, są pomijane, a zwrot toczy się dalej z pozostałymi.
  3. Jeśli żadna pozycja nie zostanie rozpoznana, zatrzymuje się z pierwszym komunikatem z sekcji błędów i niczego nie tworzy.
  4. Jeśli zwrot środków ma Sale Order z już zatwierdzonymi wydaniami, wychodzi od nich; jeśli nie, robi zwrot ręczny.
  5. Tworzy transfer, potwierdza go, rezerwuje, ustawia jako wykonaną żądaną ilość i od razu go zatwierdza.
  6. Zapisuje wynik i otwiera utworzony transfer.

Gdy zamówienie opuściło już magazyn

Pole Sale Order znajduje się w karcie, w grupie Amounts. Jeśli są zatwierdzone wydania, przycisk oblicza, ile zostało do zwrotu z każdego produktu: tyle, ile Shopify przywrócił na stan dla tego zamówienia we wszystkich jego zwrotach, minus to, co już wróciło w niezanulowanych zwrotach (także wykonanym z Odoo), i nigdy więcej niż wydano. Rozdziela tę ilość między wydania, od najstarszego do najnowszego, i tworzy zatwierdzony zwrot dla każdego z nich; według kodu, jeśli jeden się nie powiedzie, wszystkie są cofane.

Transfer idzie z lokalizacji docelowej wydania do jego lokalizacji źródłowej, dziedziczy kontakt i jest powiązany z wydaniem, które liczy go jako zwrócony. Jeśli zwrot wykonany z Odoo był częściowy, przycisk odlicza to, co już zwrócono, i tworzy transfer na resztę. Jeśli nie zostało nic do zwrotu, bo Odoo zwróciło już wszystko, przycisk oznacza zwrot magazynowy jako wykonany, zostawia w wydaniu notatkę Shopify refund …: nothing left to return from this delivery, Odoo already returned it. i otwiera to wydanie.

Gdy nie ma wydania, od którego można wyjść

Jeśli zwrot środków nie ma zamówienia sprzedaży albo żadnego zatwierdzonego wydania, przycisk tworzy ręczne przyjęcie z lokalizacji klientów do lokalizacji zapasów magazynu instancji Shopify. Jeśli instancja nie ma magazynu, szuka go w swojej firmie. Używa typu operacji przyjęcia z tego magazynu, a ruchy mają opis Return: … z nazwą produktu.

Co się zmienia na koniec

Zwrot magazynowy jest oznaczony jako wykonany, a pole Return Transfer (grupa Amounts, ukryte, dopóki jest puste) wskazuje pierwszy utworzony transfer. Wszystkie mają jako źródło Shopify Refund … z nazwą zwrotu środków. W czatterze każdego transferu publikowana jest notatka Stock returned from Shopify refund …. Transfer: …; jeśli zwrot pochodzi z wydania, wydanie dostaje Shopify refund …: returned in …. Następnie przycisk otwiera pierwszy transfer.

Komunikaty, którymi może się zatrzymać

KomunikatKiedy się pojawiaCo zrobić
No restockable products found for this refund. Make sure products are linked by SKU or Shopify variant ID.Po kliknięciu Return Stock, gdy żadna pozycja przywrócenia na stan nie zostaje przypisana do produktu w Odoo.Powiązać produkty po SKU lub po ID wariantu z Shopify, tak jak prosi sam komunikat, i kliknąć ponownie.
Failed to create stock return: …Po kliknięciu Return Stock, gdy coś zawiedzie przy tworzeniu lub zatwierdzaniu zwrotu. Po dwukropku podany jest powód.Przeczytać powód, usunąć przyczynę i kliknąć ponownie: przycisk jest widoczny także przy nieudanym zwrocie.

Drugi komunikat obejmuje błędy tworzenia. Kod przewiduje na przykład, że transfer nie zostanie zatwierdzony, bo zatwierdzenie otwiera kreator (np. częściowych wydań) zamiast się zakończyć. W takim przypadku zwrot liczy się jako nieudany. Przy błędzie kod oznacza zwrot magazynowy jako nieudany, zanim wyświetli komunikat.

Czego uczy ten przykład

  • Przed kliknięciem sprawdź, czy produkty ze zwrotu środków są powiązane po ID wariantu z Shopify lub po SKU: tylko tego przycisk używa do ich znalezienia.
  • Zajrzyj do transferu, który otwiera się na końcu: jest tam notatka z nazwą zwrotu środków i transferu.
  • Przy kilku zwrotach dla tego samego zamówienia to, co już zwrócono, jest odliczane; ilość nie przekracza tego, co wydano.
  • Zwrot wykonany wcześniej z Odoo się liczy: jest odliczany od tego, co zostało do zwrotu, a jeśli zwrócił już wszystko, przycisk nie tworzy drugiego transferu i zapisuje to w wydaniu.

Koszt i pomoc FlexigoTech

Moduł (karta w Odoo Apps, strona na flexigotech.com) jest opublikowany dla Odoo 17, 18, 19 i 20. Płaci się jednorazowo za wersję i potrzebna jest subskrypcja FlexigoTech Cloud, plan Konektor: 49 €/mies. lub 490 €/rok netto (bez VAT). Połączenie przechodzi przez FlexigoTech Cloud, które przechowuje dane uwierzytelniające w postaci zaszyfrowanej, pilnuje synchronizacji i powiadamia e-mailem, jeśli zawiedzie.

FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli pracujesz ze stanem magazynowym Shopify w Odoo, zobacz też co robi przycisk «Pull Stock».

Czytaj dalej

Co robi przycisk `Pull Stock` w konektorze Shopify dla OdooCo robi przycisk Pull Stock w konektorze Shopify dla Odoo: kiedy się pojawia, co sprawdza, co zmienia w Twoich zapasach i jaki błąd może pokazać.Komunikat o lokalizacji głównej w konektorze Shopify dla OdooCo oznacza komunikat o lokalizacji głównej w konektorze Shopify dla Odoo, kiedy się pojawia i jak zmienić lokalizację główną w instancji.Błąd tworzenia zamówienia sprzedaży: brak danych ShopifyCo oznacza komunikat Shopify Connector for Odoo po kliknięciu «Create Sale Order» bez danych zamówienia, kiedy się pojawia i jak go rozwiązać.
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach

Źródła