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.

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.


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:
- 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.
- 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.
- Jeśli żadna pozycja nie zostanie rozpoznana, zatrzymuje się z pierwszym komunikatem z sekcji błędów i niczego nie tworzy.
- Jeśli zwrot środków ma
Sale Orderz już zatwierdzonymi wydaniami, wychodzi od nich; jeśli nie, robi zwrot ręczny. - Tworzy transfer, potwierdza go, rezerwuje, ustawia jako wykonaną żądaną ilość i od razu go zatwierdza.
- 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ć
| Komunikat | Kiedy się pojawia | Co 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
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_refund_views.xml
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_refund.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
