Ostatnia aktualizacja: czerwiec 2026. Ścieżki w panelu administracyjnym i klucze konfiguracji dotyczą PrestaShop 1.6, 1.7, 8 i 9 (różnice między wersjami zaznaczono w tekście). Ten poradnik dotyczy operacyjnej obsługi zwrotów, a nie wymogów prawnych, prawo do odstąpienia od umowy, terminy zwrotu pieniędzy i to, kto płaci za przesyłkę zwrotną, omawiamy w podlinkowanych poradnikach prawnych; żadna część tego tekstu nie stanowi porady prawnej. Samo włączenie modułu zwrotów nie sprawia jeszcze, że proces jest zgodny z przepisami; decydują o tym opublikowana polityka zwrotów i lokalne regulacje.

Nikt nie otwiera sklepu z myślą o obsługiwaniu zwrotów. Zwrot nie jest jednak porażką, to druga rozmowa z klientem, który już raz Ci zaufał, a jej przebieg decyduje, czy kiedykolwiek wróci. Sprzedawca, który prowadzi zwroty szybko i przewidywalnie, zatrzymuje klienta; ten, który chowa regulamin i przeciąga refundację przez trzy tygodnie, traci go i dostaje jednogwiazdkową opinię ostrzegającą innych. Ten poradnik dotyczy strony operacyjnej: jak prowadzić zwrot w PrestaShop tak, aby klient mógł łatwo go rozpocząć, Ty szybko go obsłużyć, a koszt nie zjadał po cichu marży.

To celowo nie jest omówienie przepisów. To, co zgodnie z prawem musisz zaoferować, 14-dniowe prawo do odstąpienia, kto płaci za przesyłkę zwrotną, terminy zwrotu pieniędzy, to osobny temat, który szczegółowo omawiamy w tekstach Polityka zwrotów: czego wymaga prawo i co rozsądne sklepy oferują dodatkowo oraz Przepisy o sprzedaży na odległość: prawo do odstąpienia. Jeśli sprzedajesz za granicę, zasady znów się zmieniają, zobacz Zwroty transgraniczne. Tutaj zakładamy, że już wiesz, co musisz oferować, i chcesz wiedzieć, jak dobrze zrealizować to w PrestaShop.

Co PrestaShop daje od razu, i gdzie kończą się jego możliwości

PrestaShop ma wbudowany system zwrotów towarów, którego większość sprzedawców nigdy nie włącza. Przełącznik znajduje się w Obsługa klienta → Zwroty towarów (w PrestaShop 1.7, 8 i 9; w 1.6 był w Klienci → Zwroty towarów). Pojedyncze ustawienie aktywujące całość to "Włącz zwroty", powiązane z wartością konfiguracji PS_ORDER_RETURN, oraz pole "Termin ważności" (PS_ORDER_RETURN_NB_DAYS), które określa, ile dni od dostawy klient może złożyć prośbę o zwrot.

Po włączeniu tej funkcji zalogowany klient widzi w swoim koncie link "Zwroty towarów", a przy każdym doręczonym zamówieniu opcję zgłoszenia zwrotu. Pod spodem powstaje obiekt OrderReturn obsługiwany przez kontrolery frontowe order-return i order-follow; w panelu administracyjnym każde zgłoszenie trafia do kontrolera AdminReturn (na tę samą stronę Zwroty towarów). Zgłoszenie przesuwasz przez zestaw statusów zdefiniowanych w tabeli OrderReturnState, domyślnie: Oczekuje na potwierdzenie, Oczekuje na paczkę, Paczka otrzymana, Zwrot odrzucony i Zwrot zakończony.

Co więc natywny system naprawdę robi, a co nadal zostawia Tobie? Uczciwy podział wygląda tak:

Etap zwrotuNatywny PrestaShopCo nadal robisz ręcznie
Klient zgłasza zwrotFormularz samoobsługowy w koncie klienta, tylko dla całych lub częściowych pozycji zamówieniaNic, ta część działa
Zatwierdzasz / odrzucaszZmiana statusu zwrotu w panelu administracyjnymPodejmujesz decyzję i klikasz; nie ma silnika reguł
Generujesz formularz zwrotuDrukowalny formularz zwrotu PDF (szablon PDF::TEMPLATE_ORDER_RETURN)Przekazujesz go klientowi
Etykieta przesyłki zwrotnejBrakGenerujesz ją u przewoźnika i samodzielnie wysyłasz e-mailem
Odbiór & kontrolaOznaczenie statusu Paczka otrzymanaFizyczne sprawdzenie
RefundacjaWygenerowanie korekty i/lub bonu z poziomu strony zamówieniaUruchamiasz rzeczywisty zwrot pieniędzy w bramce płatniczej
Przywrócenie do magazynuPole wyboru "przywróć produkty do magazynu" przy wystawianiu korektyZaznaczasz je (albo nie, jeśli towar jest uszkodzony)

Najważniejsze: korekta w PrestaShop jest dokumentem księgowym, a nie operacją płatniczą. Gdy generujesz korektę z sekcji Zwroty towarów / Refundacja w zamówieniu, PrestaShop zapisuje, że pieniądze należy oddać, i może wystawić bon rabatowy, ale nie wysyła refundacji do Stripe, PayPal ani operatora kart, chyba że konkretny moduł płatności obsługuje zwroty z panelu administracyjnego. W przypadku większości bramek nadal musisz zalogować się do panelu operatora (albo użyć przycisku refundacji, jeśli moduł dodał go do strony zamówienia), aby faktycznie wysłać pieniądze. Ta wiedza chroni przed klasycznym błędem: "oznaczyłem zwrot tydzień temu, dlaczego klient nadal do mnie pisze?"

Jak włączyć to we właściwy sposób

Włączenie zwrotów to jeden przełącznik; skonfigurowanie ich tak, aby nie generowały zgłoszeń do obsługi klienta, wymaga kilku bardziej świadomych kroków:

  • Ustaw okno zwrotu zgodne z własną polityką, a nie z domyślną wartością. PS_ORDER_RETURN_NB_DAYS liczy dni od dostawy. Jeśli opublikowana polityka mówi o 30 dniach, a w polu wpisano 14, klienci trafią na ścianę, której formularz nie pozwoli im przekroczyć, i napiszą do Ciebie. Liczba w panelu administracyjnym powinna być taka sama jak liczba na stronie polityki zwrotów.
  • Upewnij się, że zamówienie faktycznie osiąga status pozwalający na zwrot. Natywny formularz oferuje zwrot dopiero wtedy, gdy zamówienie osiągnęło status doręczenia/zwrotności używany przez PrestaShop, zwroty są włączone w Obsługa klienta → Zwroty towarów, a limit czasu jest ustawiony poprawnie. Jeśli zamówienia nigdy nie przechodzą do statusu doręczonego kwalifikującego do zwrotu, opcja pozostaje ukryta. Sprawdź, czy Twój proces faktycznie oznacza zamówienia jako doręczone.
  • Przetłumacz i dopracuj formularz zwrotu. Domyślny formularz PDF jest prosty. Jeśli sprzedajesz w kilku językach, przed pierwszym wydrukiem przez klienta sprawdź, czy każda wersja językowa renderuje się poprawnie.
  • Ustal statusy, których naprawdę będziesz używać. Możesz dodać lub zmienić nazwy wpisów OrderReturnState (np. status "Etykieta wysłana"), aby zarówno Ty, jak i klient od razu widzieli, na jakim etapie jest zwrot, bez wymiany e-maili.

Jeśli chcesz potwierdzić, że dwa kluczowe ustawienia mają oczekiwane wartości, to częsta przyczyna zgłoszeń typu "opcja zwrotu się nie pokazuje", są zapisane jako zwykłe wiersze w ps_configuration:

-- Check whether returns are enabled and the active return window
SELECT name, value
FROM ps_configuration
WHERE name IN ('PS_ORDER_RETURN', 'PS_ORDER_RETURN_NB_DAYS');
-- PS_ORDER_RETURN = 1 means enabled; PS_ORDER_RETURN_NB_DAYS is the day count from delivery

Ustawiaj je z panelu administracyjnego, a nie ręcznie, strona administracyjna zapisuje właściwy kontekst sklepu i czyści odpowiednią pamięć podręczną, ale odczytanie tych wierszy to szybki sposób, by zobaczyć, dlaczego formularz widoczny dla klienta pojawia się albo nie. Jeśli PS_ORDER_RETURN ma wartość 1, a klienci nadal nie widzą opcji, przyczyną prawie zawsze jest to, że zamówienie nie osiągnęło statusu doręczonego/zwrotnego, a nie samo ustawienie.

Jak ułatwić rozpoczęcie zwrotu

Największy wpływ na tarcie w zwrotach ma to, czy klient może rozpocząć zwrot bez kontaktu z Tobą. Zwrot wymagający napisania do obsługi, czekania na odpowiedź, a potem czekania na instrukcje, bardzo łatwo zmienia się w chargeback, gdy tylko klient straci cierpliwość. Samoobsługowy proces PrestaShop rozwiązuje już najtrudniejszą część, ale tylko wtedy, gdy klienci potrafią go znaleźć.

  • Umieść politykę zwrotów tam, gdzie klienci jej szukają. Podlinkuj ją w stopce (jako stronę CMS), na stronie produktu obok informacji o dostawie oraz w e-mailach z potwierdzeniem zamówienia i wysyłki. Ukryta polityka generuje więcej zgłoszeń niż same zwroty: gdy klienci nie mogą jej znaleźć, zakładają najgorsze i kontaktują się z Tobą, albo od razu przechodzą do chargebacku.
  • Powiedz klientom, że link istnieje. Wielu sprzedawców włącza natywne zwroty i nigdy nie wspomina, że opcja znajduje się w panelu konta. Jedno zdanie w e-mailu wysyłkowym, "Chcesz coś zwrócić? Rozpocznij zwrot z poziomu swojego konta, bez pisania do nas", zamienia zgłoszenie do obsługi w czynność samoobsługową.
  • Nie każ się logować tylko po to, by przeczytać zasady. Samo zgłoszenie wymaga konta (OrderReturn jest powiązany z klientem), ale polityka wyjaśniająca proces powinna być publiczna, aby gość rozważający zakup widział, że ryzyko jest niskie.

Część, której PrestaShop nie obsługuje: przesyłka zwrotna

Przesyłka zwrotna to miejsce, w którym kryje się większość kosztów i większość tarcia, i dokładnie ten obszar natywny PrestaShop zostawia pusty. Masz trzy modele, a właściwy zależy od marży i kategorii produktów:

ModelTrudność dla klientaTwój kosztNajlepsze zastosowanie
Etykieta opłacona z góry, generujesz ją i wysyłasz e-mailem po zatwierdzeniuNajniższa: naklej & nadajNajwyższy: płacisz za odcinek zwrotnyTowary o wyższej marży, moda, branże, w których zwroty są oczekiwane, a płynne doświadczenie napędza ponowne zakupy
Zwrot opłacany przez klienta, podajesz adres, klient wysyłaWyższa: klient organizuje i opłaca wysyłkęNajniższyProdukty niskomarżowe albo sytuacje, w których Twoja polityka (i prawo w Twoim przypadku) przerzuca koszt zwrotu na kupującego
Sieć punktów nadań, automaty paczkowe / punkty odbioru przewoźników (InPost, DHL Paketshop, punkty GLS)Niska: bez kolejki na poczcieCzęsto taniej niż odbiór spod drzwiRynki, na których korzystanie z automatów paczkowych jest powszechne; mocna opcja pośrednia

Ponieważ natywny system kończy się na "zgłoszeniu i korekcie", generowanie etykiet zwykle pochodzi z modułu przewoźnika albo platformy wysyłkowej, a nie z rdzenia PrestaShop. Jeśli korzystasz z integracji fulfillmentowej, sprawdź, czy potrafi wystawiać etykiety zwrotne na podstawie OrderReturn, to różnica między zatwierdzeniem jednym kliknięciem a ręczną wizytą w portalu dla każdego zwrotu.

Szybka obsługa: proces, który zapobiega skargom

Klienci sprawdzają konta bankowe. Każdy dzień między "odesłałem paczkę" a "pieniądze są na koncie" to dzień lekkiego niepokoju, a właśnie ten niepokój zmienia zadowolonego klienta dokonującego zwrotu w osobę składającą skargę. Rozwiązaniem jest ciasna, powtarzalna pętla:

  • Sprawdzaj towar po przyjęciu, a nie "kiedy znajdzie się czas". Szybka ocena wizualna, nadaje się do ponownej sprzedaży czy nie, wystarczy, aby wybrać dalszą ścieżkę.
  • Zmień status w chwili otrzymania paczki (Paczka otrzymana), aby konto klienta odzwierciedlało rzeczywistość i przestało budzić wątpliwości.
  • Od razu wystaw korektę z sekcji refundacji zamówienia, a potem faktycznie uruchom zwrot w bramce płatniczej, bo (jak wyżej) sama korekta w większości bramek nie przesuwa pieniędzy.
  • Przywróć towar do magazynu w tej samej czynności, używając pola "przywróć produkty do magazynu", jeśli produkt nadaje się do ponownej sprzedaży, dzięki temu dostępna ilość pozostaje uczciwa bez osobnej edycji stanu. Dla zwrotów uszkodzonych pozostaw pole niezaznaczone.

Jeśli obsługujesz więcej niż kilka zwrotów tygodniowo, ręczne przeklikiwanie zaczyna drogo kosztować czasowo. Wtedy dedykowany moduł zwrotów/RMA zaczyna na siebie zarabiać: konfigurowalne powody zwrotu, automatyczne generowanie etykiet, e-maile statusowe do klienta na każdym etapie oraz reguły (automatycznie zatwierdź poniżej €X, automatycznie odrzuć po upływie okna), które zdejmują z Ciebie codzienne podejmowanie tych samych decyzji. Czy to ma sens, zależy od wolumenu, przy pięciu zwrotach tygodniowo natywny proces wystarcza; przy pięćdziesięciu oszczędzony czas szybko pokrywa koszt narzędzia. Przejrzyj nasze moduły PrestaShop, jeśli wolumen zwrotów przerósł ręczne obsługiwanie każdego z nich.

Refundacje: bon, korekta czy zwrot pieniędzy?

Reguły numeracji w administracji pokazujące faktury, korekty i dokumenty korygujące według typu dokumentu i sklepu
Zwroty zwykle generują korektę lub dokument korygujący, więc ich numeracja i śledzenie liczą się tak samo jak przy pierwotnej fakturze.

PrestaShop daje dwa instrumenty refundacji i w oczach klienta nie są one zamienne:

  • Korekta. Księgowy zapis, że refundacja jest należna. Generujesz ją z zamówienia; powstaje PDF widoczny dla klienta w jego koncie.
  • Bon rabatowy, środki do wykorzystania w sklepie, opcjonalnie generowane razem z korektą. Dla Ciebie tańsze (pieniądze nie wychodzą z konta) i zatrzymujące klienta w sklepie, ale przy odstąpieniu od umowy na gruncie prawa UE bon nie jest ważnym zamiennikiem zwrotu gotówki, chyba że klient się na to zgodzi. Proponuj go jako zachętę (np. "zwrot na kartę albo 110% wartości jako środki w sklepie"), nigdy jako jedyną opcję.

Mechanika tych dokumentów, oraz powiązane zasady fakturowania i korekt, nakłada się na personalizację PDF-ów w PrestaShop. Jeśli potrzebujesz, aby korekty i faktury zawierały Twoją identyfikację wizualną oraz wymagane prawem pola, omawiamy to w tekście Personalizacja faktur w PrestaShop. Za samą treść korekty, prawidłowe rozbicia podatkowe, odniesienie do pierwotnej faktury, księgową jakość formatowania dokumentu tworzonego przez PrestaShop przy refundacji. Odpowiada Financial Revolution, który działa na korektach, a nie na przepływie zwrotów.

Dane o zwrotach to darmowa wiedza biznesowa

Natywny formularz zwrotu pozwala klientowi wpisać dlaczego zwraca produkt w wiadomości tekstowej, a to wyjaśnienie jest jedną z najbardziej niewykorzystanych diagnoz w PrestaShop. Rdzeń PrestaShop nie dostarcza konfigurowalnej listy powodów zwrotu, standardowy proces zapisuje własne sformułowania klienta, więc je czytasz, zamiast wybierać z menu. Jeśli chcesz mieć uporządkowane, wybieralne powody (zły rozmiar lub fason, niezgodne z opisem, zmiana zdania, dotarło uszkodzone, jakość poniżej oczekiwań, dotarło za późno) do czystego raportowania, zapewni to moduł RMA/zwrotów albo personalizacja. Tak czy inaczej, raz w miesiącu analizuj to, co klienci Ci mówią.

Wzorce są konkretne i przekładają się na działania. Jeśli jedna trzecia zwrotów danego produktu wskazuje "zły rozmiar", problemem jest tabela rozmiarów, nie produkt. Jeśli powtarza się "niezgodne z opisem", zdjęcia albo opis obiecują za dużo. Jeśli "dotarło uszkodzone" grupuje się wokół jednego SKU, opakowanie zawodzi w transporcie, a taki zwrot kosztuje podwójnie: refundację i martwy zapas. Zwroty są objawem; zrozumienie przyczyny jest warte znacznie więcej niż sprawna obsługa samego zwrotu. Obniżenie wskaźnika zwrotów choćby o kilka punktów procentowych trafia prosto do zysku, bo każdy uniknięty zwrot oszczędza wysyłkę do klienta, przesyłkę zwrotną, czas obsługi i często przecenę ponownie otwartego produktu.

Najtańszy zwrot to ten, do którego nigdy nie dochodzi

Wszystko powyżej sprawia, że zwroty są mniej bolesne, gdy już się zaczną. Większą nagrodą jest ograniczenie liczby zwrotów, a większość pracy leży całkowicie przed systemem zwrotów:

  • Niech strony produktów wykonują swoją pracę. Wymiary, materiały, waga, zdjęcia z kilku kątów i w kontekście użycia: wszystko, co zmniejsza różnicę między tym, co klient sobie wyobraził, a tym, co dostaje. Zwłaszcza moda i obuwie: prawdziwy poradnik "jak mierzyć" bije pustą tabelę liczb.
  • Pozwól opiniom ustawiać oczekiwania. "Zaniżona rozmiarówka" / "rozmiar zgodny" od wcześniejszych kupujących lepiej zapobiega kolejnemu zwrotowi z powodu rozmiaru niż jakakolwiek polityka.
  • Potwierdzaj zamówienie szczegółowo. Potwierdzenie zamówienia, które jasno pokazuje atrybuty (rozmiar, kolor, ilość), pozwala klientowi wychwycić własny błąd przed wysyłką. Poprawione zamówienie jest znacznie tańsze niż zwrot.
  • Zainwestuj w opakowanie. Uszkodzenia w transporcie to najbardziej marnotrawna kategoria zwrotów; porządna ochrona kosztuje mniej niż podwójna strata.

Prawda o retencji, którą pomija większość sprzedawców

Oto część wbrew intuicji: klient, który miał dobre doświadczenie zwrotu, często chętniej kupi ponownie niż ten, który nigdy niczego nie zwrócił. Płynny zwrot dowodzi, że sklep jest mało ryzykowny, a ten dowód usuwa największą psychologiczną barierę przed kolejnym zakupem, i przed większymi koszykami, bo kupujący wie, że nietrafiony wybór da się naprawić.

Najczęściej zadawane pytania

Dlaczego mój klient nie widzi opcji zwrotu przy zamówieniu?

Trzy rzeczy muszą być prawdziwe jednocześnie: zwroty są włączone (PS_ORDER_RETURN = 1 w Obsługa klienta → Zwroty towarów), zamówienie osiągnęło status doręczenia/zwrotności wymagany przez PrestaShop, a nadal mieścisz się w oknie Terminu ważności liczonym od dostawy. Jeśli ustawienie jest włączone, ale opcja jest ukryta, zamówienie prawie na pewno nie zostało oznaczone jako doręczone, sprawdź, czy Twój proces statusów faktycznie przenosi zamówienia do tego stanu.

Czy wygenerowanie korekty zwraca pieniądze na kartę klienta?

Nie, i to najczęstsze nieporozumienie. Korekta jest zapisem księgowym, że pieniądze należy oddać; nie wysyła refundacji do Stripe, PayPal ani operatora kart, chyba że konkretny moduł płatności dodaje akcję zwrotu z panelu administracyjnego. W przypadku większości bramek nadal uruchamiasz faktyczny zwrot pieniędzy w samej bramce. Oznacz korektę i wyślij prawdziwą refundację, inaczej klient będzie nadal czekał.

Czy mogę dodać uporządkowane powody zwrotu (zły rozmiar, uszkodzone, zmiana zdania)?

Nie w rdzeniu. Natywny formularz PrestaShop zapisuje własne wyjaśnienie klienta w wolnym tekście zamiast stałej listy, więc czytasz to, co napisał, zamiast wybierać z menu. Wybieralna lista powodów nadająca się do raportowania pochodzi z modułu RMA/zwrotów albo z personalizacji. Nawet przy wersji z wolnym tekstem analizuj co miesiąc to, co mówią klienci, skupiska tych samych powodów wskazują prosto na problem ze stroną produktu albo opakowaniem.

Czy zaznaczać "przywróć produkty do magazynu" przy wystawianiu korekty?

Tylko wtedy, gdy zwrócony produkt nadaje się do ponownej sprzedaży. To pole wyboru zwiększa dostępną ilość w tej samej czynności, która wystawia korektę, dzięki czemu stan magazynowy pozostaje zgodny z rzeczywistością bez osobnej edycji. Zostaw je niezaznaczone dla produktów uszkodzonych lub otwartych, których nie możesz sprzedać ponownie, inaczej sprzedasz zapas, którego faktycznie nie masz.

Gdzie PrestaShop przechowuje zwrot i jakich statusów używa?

Każde zgłoszenie jest obiektem OrderReturn, widocznym w panelu administracyjnym pod kontrolerem AdminReturn (strona Zwroty towarów). Przechodzi przez statusy zapisane w tabeli OrderReturnState, domyślnie Oczekuje na potwierdzenie, Oczekuje na paczkę, Paczka otrzymana, Zwrot odrzucony i Zwrot zakończony. Możesz zmieniać nazwy statusów lub dodawać nowe (np. "Etykieta wysłana"), aby konto klienta zawsze pokazywało, na jakim etapie zwrot naprawdę się znajduje.

Taki jest właściwy punkt odniesienia. Natywny system zwrotów PrestaShop daje samoobsługowe zgłoszenie i dokumenty księgowe; Twoim zadaniem jest podpiąć brakujące elementy, przesyłkę zwrotną, szybkie refundacje w bramce, czytelne statusy i łatwą do znalezienia politykę, aby cała pętla wydawała się bezproblemowa. Zrób to, a koszt zwrotu stanie się inwestycją w klienta, który następnym razem kupuje pewniej. Gdy dopracowujesz ten proces, warto spojrzeć też na otaczającą go zgodność z przepisami: regulamin, który musi mieć Twój sklep, oraz szersze zasady e-commerce w UE wyznaczają ramy, w których musi działać proces zwrotów.

Udostępnij ten wpis:
David Miller

David Miller

Założyciel, mypresta.rocks

David Miller to specjalista PrestaShop z ponad dekadą praktycznego doświadczenia i założyciel mypresta.rocks, studia programistycznego z Tychów. Tworzy i utrzymuje katalog 152 modułów PrestaShop, w tym 21 pakietów „Revolution" obejmujących SEO, checkout, bezpieczeństwo, wydajność, marketing, wyszukiwanie, wsparcie i operacje magazynowe, które każdego dnia usprawniają realne sklepy, testowanych na PrestaShop 1.7.8, 8.x i 9.x. Sprawuje również opiekę nad sklepami produkcyjnymi generującymi miliony rocznego obrotu, dlatego jego pracę ocenia się po realnej sprzedaży, a nie po wersjach demo. Jego doświadczenie obejmuje pełen zakres e-commerce, wydajność, bezpieczeństwo, SEO i marketing, oraz wykracza poza PrestaShop, sięgając WooCommerce, Shopify i systemów tworzonych na zamówienie. Na blogu pisze o technicznej stronie PrestaShop: co platforma naprawdę robi pod maską, co psuje się na produkcji i które rozwiązania faktycznie się sprawdzają.

Komentarze

Brak komentarzy. Bądź pierwszy!
Spodobał Ci się ten artykuł?

Otrzymuj nasze najnowsze porady, przewodniki i aktualizacje modułów prosto na swoją skrzynkę.

Możesz zrezygnować w każdej chwili. W tym celu należy odnaleźć szczegóły w naszej informacji prawnej.

Ładowanie...
Do góry