WooCommerce – automatyczne włączanie zamówień oczekujących dla produktów ze stanem 0
W sklepach internetowych działających na WooCommerce często występują sytuacje, w których produkt jest chwilowo niedostępny w magazynie (jego stan magazynowy wynosi 0), ale sprzedawca nadal chce umożliwić klientom składanie zamówień.
Dotyczy to między innymi sklepów współpracujących z hurtowniami, producentami i dostawcami realizującymi zamówienia na bieżąco, a także sprzedawców prowadzących przedsprzedaż produktów, które dopiero pojawią się w ofercie magazynowej.
Standardowo WooCommerce umożliwia sprzedaż produktów z zerowym stanem magazynowym poprzez funkcję zamówień oczekujących (backorders). Problem pojawia się jednak wtedy, gdy sklep posiada setki lub tysiące produktów, a ich stany magazynowe są regularnie aktualizowane przez zewnętrzne systemy.
W takich przypadkach ręczne zarządzanie ustawieniami każdego produktu jest czasochłonne.
Rozwiązaniem może być automatyzacja tego procesu za pomocą dedykowanej wtyczki WordPress.
Zamówienia oczekujące w WooCommerce – jak działają?
WooCommerce pozwala określić, czy klient może zamówić produkt, którego aktualny stan magazynowy wynosi 0.
W ustawieniach produktu, w zakładce Dane produktu → Magazyn, dostępne są trzy możliwości:
Nie zezwalaj – klient nie może kupić produktu po wyczerpaniu zapasów.
Pozwalaj, ale poinformuj klienta – klient może złożyć zamówienie, mimo że produkt nie znajduje się aktualnie w magazynie.
Zezwól – klient może kupić produkt bez dodatkowego powiadomienia o zamówieniu oczekującym.
W praktyce najczęściej interesującym rozwiązaniem jest druga opcja, ponieważ umożliwia kontynuowanie sprzedaży, a jednocześnie zachowuje informację o braku fizycznego zapasu.
Co dzieje się po zakupie produktu ze stanem 0?
Jeżeli produkt ma włączone zarządzanie stanem magazynowym i dopuszczone zamówienia oczekujące, WooCommerce może przyjąć zamówienie pomimo zerowej ilości.
Po zakupie jednej sztuki stan magazynowy może zmienić się:
0 → -1
Ujemna ilość oznacza wówczas zapotrzebowanie wynikające ze złożonych zamówień, a nie fizyczną dostępność produktu.
Problem: ręczna zmiana ustawień dla setek produktów
W sklepie posiadającym kilka tysięcy produktów ręczna zmiana ustawienia „Nie zezwalaj” na „Pozwalaj, ale poinformuj klienta” może być niepraktyczna.
Dodatkowym utrudnieniem jest integracja WooCommerce z systemami zarządzania sprzedażą i magazynem, takimi jak BaseLinker.
Stany magazynowe mogą być regularnie synchronizowane, a produkty przechodzić pomiędzy stanami dodatnimi, zerowymi i ujemnymi.
Właściciel sklepu potrzebuje więc rozwiązania, które automatycznie reaguje na zmiany, bez konieczności każdorazowej ingerencji administratora.
WEB3 – Automatyczna zmiana Nie zezwalaj na Pozwalaj
W odpowiedzi na ten problem powstała dedykowana wtyczka WordPress:
WEB3 – Automatyczna zmiana Nie zezwalaj na Pozwalaj
Jej zadaniem jest automatyczne ustawianie możliwości składania zamówień oczekujących dla produktów spełniających określone warunki.
Wtyczka analizuje produkty WooCommerce i zmienia ustawienie zamówień oczekujących na:
„Pozwalaj, ale poinformuj klienta”
Jakie produkty są obejmowane automatyzacją?
Wtyczka została zaprojektowana tak, aby działać selektywnie.
Sprawdza przede wszystkim:
Czy produkt jest opublikowany.
Czy produkt jest widoczny w katalogu sklepu.
Czy włączono zarządzanie jego stanem magazynowym.
Czy ilość magazynowa wynosi dokładnie 0.
Czy ustawienie zamówień oczekujących wymaga zmiany.
Produkty ukryte, nieaktywne oraz niespełniające powyższych warunków są pomijane.
Ważne: wtyczka nie zmienia ilości magazynowych produktów. Modyfikuje ustawienia odpowiedzialne za możliwość przyjmowania zamówień.
Automatyczne skanowanie katalogu produktów
Jedną z istotnych funkcji wtyczki jest możliwość automatycznego sprawdzania całego katalogu WooCommerce.
Zamiast przetwarzać wszystkie produkty podczas jednego żądania serwera, rozwiązanie wykorzystuje mechanizm kolejkowania zadań.
W wersji 1.1.0 zastosowano:
Przetwarzanie produktów w partiach po 20.
Kolejkowanie zadań za pomocą Action Scheduler lub WP-Cron.
Mechanizm kontroli i ponawiania przerwanego skanowania.
Przechodzenie przez katalog według identyfikatorów produktów.
Cotygodniową kontrolę ustawień.
Możliwość ręcznego uruchomienia skanowania z panelu administratora.
Dzięki temu przetwarzanie dużego katalogu nie wymaga utrzymywania jednego długiego połączenia z panelem administracyjnym.
Automatyczna reakcja na zmianę stanu magazynowego
Wtyczka nie ogranicza się do okresowego sprawdzania produktów.
Wykorzystuje również zdarzenia WooCommerce związane ze zmianą stanów magazynowych i zapisywaniem produktów.
Oznacza to, że po wykryciu odpowiedniej zmiany może automatycznie zaktualizować ustawienie zamówień oczekujących.
Jest to szczególnie przydatne w sklepach zintegrowanych z zewnętrznymi systemami magazynowymi.
Należy jednak pamiętać, że skuteczność reakcji na synchronizację zależy również od sposobu, w jaki dana integracja zapisuje zmiany w WooCommerce.
Test w rzeczywistym sklepie WooCommerce
Wtyczka została przetestowana w działającym sklepie internetowym posiadającym ponad 2500 produktów.
Podczas skanowania uzyskano następujące wyniki:
| Parametr | Wynik |
|---|---|
| Liczba sprawdzonych produktów | 2527 |
| Liczba zaktualizowanych produktów | 843 |
| Czas skanowania | 25 sekund |
| Wielkość partii | 20 produktów |
| Wynik skanowania | Zakończono |
Po zakończeniu działania wtyczki przeprowadzono również testy funkcjonalne.
Potwierdzono, że produkty z zerowym stanem magazynowym i odpowiednim ustawieniem zamówień oczekujących można dodawać do koszyka oraz zamawiać.
Na listach produktów pojawiły się przyciski „Dodaj do koszyka”, a w panelu WooCommerce ustawienie zamówień oczekujących zostało zapisane prawidłowo.
Warto podkreślić, że przedstawione wyniki dotyczą konkretnego środowiska sklepowego. Nie oznaczają gwarancji identycznej wydajności na każdym serwerze i w każdej konfiguracji WooCommerce.
Na co należy uważać?
Automatyczne włączenie zamówień oczekujących nie rozwiązuje wszystkich kwestii związanych z prezentacją dostępności produktów.
Przykładowo motyw sklepu może wyświetlać komunikat:
„Mała ilość (0 szt.)”
mimo że produkt można już zamówić.
Taki komunikat może wprowadzać klientów w błąd.
Dlatego wdrożenie automatyzacji warto połączyć z odpowiednim dostosowaniem informacji o dostępności na kartach produktów.
Dla produktów ze stanem 0, które można zamawiać, bardziej zrozumiały będzie komunikat:
„Dostępny na zamówienie”
Należy również uwzględnić rzeczywiste terminy realizacji zamówień i sposób informowania o nich klientów.
Czy warto automatyzować zamówienia oczekujące w WooCommerce?
W przypadku niewielkiego sklepu ręczne zarządzanie ustawieniami magazynowymi może być wystarczające.
Jednak przy kilkuset lub kilku tysiącach produktów automatyzacja pozwala ograniczyć liczbę powtarzalnych czynności administracyjnych.
Najważniejsze korzyści to:
Możliwość przyjmowania zamówień na produkty chwilowo niedostępne.
Ograniczenie ręcznej edycji kart produktów.
Automatyczne reagowanie na wybrane zmiany magazynowe.
Zachowanie rzeczywistych ilości magazynowych.
Okresowa kontrola ustawień produktów.
Możliwość dostosowania działania do konkretnego modelu sprzedaży.
Podsumowanie
WooCommerce posiada wbudowany mechanizm zamówień oczekujących, jednak w rozbudowanych sklepach zarządzanie nim może wymagać dodatkowej automatyzacji.
Dedykowana wtyczka WEB3 – Automatyczna zmiana Nie zezwalaj na Pozwalaj pokazuje, jak można wykorzystać mechanizmy WooCommerce i WordPress do automatycznej obsługi produktów z zerowym stanem magazynowym.
Przeprowadzony test potwierdził skuteczność rozwiązania w konkretnym sklepie obejmującym 2527 produktów, z których 843 wymagały aktualizacji ustawień.
W przypadku sklepów internetowych o podobnych wymaganiach rozwiązanie można dostosować do indywidualnych zasad zarządzania dostępnością i realizacją zamówień.
