Zamówienie modułu lub wtyczki nie musi być loterią. Jeśli przed rozmową z wykonawcą uporządkujesz proces, wersje systemu i kryteria odbioru, dostaniesz przewidywalną wycenę i kod, który przetrwa aktualizację sklepu. Ten tekst zbiera praktyczną stronę zlecenia: najczęstsze błędy, listę rzeczy do sprawdzenia przed startem i pytania, które warto zadać wykonawcy. Nie znajdziesz tu obietnic, że wszystko da się zrobić w dwa dni — znajdziesz to, co realnie decyduje o koszcie i terminie.

Czym są niestandardowe moduły i wtyczki, a czym nie są

Zacznijmy od rozróżnienia, bo od niego zależy cena. Moduł w PrestaShop to katalog w /modules/ z plikiem głównym (np. mojmodul.php) i klasą dziedziczącą po Module, która podpina się pod hooki (actionValidateOrder, displayShoppingCart). Wtyczka WooCommerce to katalog w /wp-content/plugins/ z nagłówkiem Plugin Name i własnymi hookami, np. woocommerce_checkout_order_processed. W obu przypadkach mówimy o kodzie rozszerzającym logikę sklepu. Modułem nie jest szablon (theme), nie jest nim też wtyczka SEO ani bramka płatnicza pobrana z marketplace.

Zlecenia realnie dzielą się na trzy kategorie:

Kiedy moduł nie jest potrzebny. Trzy sytuacje zdarzają się najczęściej. Pierwsza: funkcja już istnieje w panelu — PrestaShop ma wbudowane grupy klientów, przedziały cenowe i reguły podatkowe, WooCommerce — kupony z warunkami. Druga: wystarczy reguła w posiadanej wtyczce, np. ukrycie ceny dla gości ustawiane w opcjach. Trzecia: problem jest po stronie serwera, nie kodu — „sklep wolno działa” to często memory_limit, stary PHP albo brak indeksów w bazie. Jeśli wykonawca proponuje płatny moduł na pierwszą lub drugą sytuację, zapytaj o uzasadnienie.

Sygnały, że czas na moduł własny: powtarzalna praca ręczna (codzienne przepisywanie zamówień do Subiekta), wymóg procesowy (indywidualne ceny dla kontrahentów B2B, limity kredytowe) albo zewnętrzny system bez gotowego łącznika. Strukturę katalogu i hooki opisuje dokumentacja dla deweloperów PrestaShop — warto zajrzeć przed rozmową z wykonawcą, żeby wiedzieć, o co pytać. Jeśli rozszerzasz sklep poza standard, sprawdź też, jak podchodzimy do modułów PrestaShop.

Własny moduł czy płatna wtyczka z marketplace: policz to na 3 lata

Policzmy to na trzy lata, bo na tym horyzoncie różnice przestają być teoretyczne. Założenia: stawka 150 zł/h, kurs 4,30 zł/EUR. Podstaw własne liczby i przelicz ponownie — chodzi o metodę, nie o konkretne widełki.

W wariancie marketplace zakładasz, że wtyczka robi dokładnie to, czego potrzebujesz. Każde odstępstwo kosztuje. Nie da się „dopisać” czegoś do cudzego kodu bez forka, a fork oznacza, że tracisz aktualizacje i bierzesz na siebie odpowiedzialność za bezpieczeństwo.

Wariant własny: 3 200 zł jednorazowo za moduł, który robi jedną rzecz i nic poza tym, plus ok. 2 h rocznie na utrzymanie — głównie sprawdzenie po aktualizacji PrestaShop i poprawki pod nową wersję PHP. Po trzech latach: 3 200 zł + 3 × 300 zł = 4 100 zł. Marketplace: 3 × 258 zł licencji + 12 h wdrożenia (1 800 zł) + 3 × 3 h obejść (1 350 zł) = ok. 3 924 zł.

Wniosek jest niewygodny dla obu stron: na trzech latach jest remis. Przewaga własnego modułu rośnie w czwartym i piątym roku oraz wtedy, gdy wtyczka zaczyna kolidować z aktualizacjami.

Marketplace wygrywa, gdy funkcja jest standardowa, działa u setek sklepów, autor żyje ze wsparcia i nie potrzebujesz żadnych zmian.

Własny moduł wygrywa, gdy proces jest specyficzny dla Twojej firmy, wtyczka nadpisuje szablony (a Ty masz własny), produkt ma współpracować z Twoim ERP/B2B albo potrzebujesz dostępu do kodu.

Ryzyko ukryte: brak dostępu do kodu to brak możliwości naprawy. Gdy autor porzuci wtyczkę albo nie wyda wersji pod nowe PHP lub nowy sposób przechowywania zamówień w WooCommerce (HPOS), zostajesz z niedziałającym elementem checkoutu. Przed zakupem sprawdź datę ostatniej aktualizacji i listę wspieranych wersji — szczegóły znajdziesz w dokumentacji WooCommerce. Więcej o łączeniu gotowych komponentów z kodem pod proces piszemy przy okazji aplikacji dedykowanych.

KosztWtyczka z marketplaceModuł własny
Opłata początkowa60 EUR/rok, czyli ok. 258 zł3 200 zł jednorazowo
Odnowienie coroczne258 zł/rok0 zł
Wdrożenie i konfiguracja12 h, czyli ok. 1 800 złwliczone w wycenę modułu
Obejścia po aktualizacjiok. 3 h rocznie, czyli 450 zł/rokok. 2 h rocznie, czyli 300 zł/rok
Razem 3 lataok. 3 924 złok. 4 100 zł

Co firmy zamawiają najczęściej — 9 typowych zleceń

Poniżej dziewięć zleceń, które wracają najczęściej. Czasy są orientacyjne i zakładają, że masz dostęp do dokumentacji API oraz środowiska testowego. Rozrzut wynika z jakości API partnera, nie z widzimisię wykonawcy — integracja z dobrze udokumentowanym API to dolna granica, z API „na maila” — górna.

Trzy pułapki, które podnoszą koszt niezależnie od punktu z listy. Pierwsza: brak środowiska testowego po stronie systemu zewnętrznego — kod trzeba wtedy pisać „na produkcji”, co wydłuża pracę i zwiększa ryzyko. Druga: brak zdefiniowanego pliku produkcyjnego (DXF, PDF, CSV) przed startem konfiguratora — zmiana formatu po wdrożeniu to zwykle powtórka połowy pracy. Trzecia: limity kredytowe i indywidualne rabaty B2B wymagają uzgodnienia z księgowością, bo moduł tylko pokazuje decyzję, a nie podejmuje jej za Ciebie. Ten sam schemat zleceń wraca w różnych miastach — zobacz np. niestandardowe moduły i wtyczki dla firm w Krasnobrodzie, żeby porównać zakres.

Typ zleceniaCo obejmujeCzas (h)
Integracja z ERPEksport zamówień i stanów do Subiekta, Comarch Optima, systemu WMS; mapowanie pól, obsługa błędów i ponowień60–160
Pobieranie stanów z hurtowniImport feedu XML/CSV lub API dostawcy, mapowanie po EAN/SKU, cykliczna aktualizacja stanów20–50
Rozszerzenia kurierskieInPost, DPD, DHL: generowanie etykiet, punkty odbioru, mapowanie statusów przesyłek30–80
Nietypowe płatności i fakturyMetoda płatności poza standardem, wystawianie faktur, eksport danych do księgowości40–100
Kanały sprzedaży (marketplace)Wystawianie ofert, synchronizacja stanów i cen między sklepem a kanałami60–160
Cenniki B2BRabaty indywidualne, progi ilościowe, ukrywanie cen dla niezalogowanych, limity kredytowe40–120
Konfiguratory i produkty na wymiarWybór opcji, dopłaty, generowanie plików do produkcji (DXF, PDF)60–200
Automatyzacje back-officeMasowa edycja produktów, reguły promocyjne, powiadomienia, raporty30–100
Modyfikacje checkoutu i koszykaZmiany, których szablon nie przewiduje: dodatkowe pola, walidacje, kroki zamówienia8–40

Proces wdrożenia krok po kroku: od briefu do przekazania kodu

Zamówienie modułu ma sześć etapów. Poniżej rozkład, który stosujemy w projektach dla firm — z punktami kontrolnymi po drodze.

  1. Warsztat 30–60 min. Zamiast listy życzeń („chcę jak w Allegro”) opisujesz proces: kto wystawia fakturę, skąd idą stany magazynowe, co się dzieje przy zamówieniu towaru, którego nie ma. Wynik: jednostronicowy opis procesu i lista systemów do integracji.
  2. Specyfikacja funkcjonalna. Każda pozycja z liczbą godzin i jawnym „poza zakresem”. Przykład zapisu: „Eksport zamówień do ERP — 18 h; poza zakresem: faktury korygujące, obsługa wielu magazynów”. Bez tego zdania każdy spór o zakres kończy się sporem o pieniądze.
  3. Środowisko testowe i working demo. Pracujemy na kopii sklepu z odizolowaną bazą i wyłączonymi płatnościami produkcyjnymi. Link do demo dostajesz na starcie, nie na końcu. Jeśli wykonawca nie potrafi podać adresu stagingu, to go nie ma. Strukturę modułu i hooki opisuje dokumentacja dla deweloperów PrestaShop.
  4. Testy na scenariuszach. Zamówienie w trzech wariantach (przedpłata, pobranie, płatność odroczona), błąd API zwracający 500, brak stawki kuriera, plik 40 MB wgrywany przez klienta. Do tego przypadki brzegowe: rabaty łączone, druga waluta, stan magazynowy zero, przerwana płatność.
  5. Wdrożenie produkcyjne w oknie serwisowym — np. wtorek 6:00–8:00 — plus plan wycofania: kopia bazy i plików przed zmianą oraz procedura przywrócenia w 15 minut.
  6. Przekazanie: repozytorium Git z tagiem wersji, dokumentacja instalacji krok po kroku, 30–60 min nagranego instruktażu, okres wsparcia na błędy (typowo 30 dni).

Jeśli pracujesz na PrestaShop, zakres typowych wdrożeń modułowych znajdziesz w sekcji PrestaShop – moduły i integracje.

Punkt kontrolnyKiedyCo potwierdzasz
Potwierdzenie zrozumienia zakresudo 2 dni po warsztacieopis procesu zgadza się z tym, jak faktycznie pracuje firma
Akceptacja makiet / działania demoprzed kodowaniem logikiukład ekranów i przepływ zamówienia są OK
Testy po Twojej stroniena stagingu, 2–5 dni przed wdrożeniemscenariusze brzegowe przechodzą
Odbiór końcowy48 h po wdrożeniu produkcyjnymbrak błędów krytycznych, dokumentacja przekazana

Ile to kosztuje: wycena godzinowa i realne widełki

Wycena bez godzin to wycena bez pokrycia. Kwota zawsze wynika z prostego mnożenia: godziny × stawka. Poniżej widełki, które w praktyce się sprawdzają przy typowych zamówieniach.

7 pułapek przy zamawianiu modułu i jak je wykryć przed umową

Każda pułapka ma jedno pytanie i jeden sygnał ostrzegawczy. Zadaj pytanie mailem — odpowiedź „na piśmie” jest dowodem.

To samo sprawdzenie warto przejść przy powtórzeniach projektu w innych miastach — patrz organizacja zamówienia modułów i wtyczek (Zamość).

Utrzymanie i aktualizacje: co dzieje się z modułem po wdrożeniu

Moduł zamówiony raz nie zostaje taki sam. Zmienia się środowisko wokół niego, a Ty najczęściej dowiadujesz się o tym z maila „sklep nie nalicza kosztów dostawy”. Najczęstsze przypadki:

Roczny rytm utrzymania to trzy powtarzalne czynności: przegląd logów błędów, test po każdej aktualizacji platformy i kontrola zgodności z wersją PHP. Minimum monitoringu: logi błędów, powiadomienie o nieudanym zadaniu cron (heartbeat co 5–15 minut) i alert przy błędach API, np. przy odpowiedzi 429.

SLA zapisz konkretnie: czas reakcji (np. 4 godziny w dni robocze), czas naprawy, godziny objęte pakietem i to, co jest poza nim — nowe funkcje, konsekwencje zmian po stronie zewnętrznego dostawcy, prace powyżej ustalonej liczby godzin. Osobny punkt: kopie zapasowe i plan wycofania. Przed każdą aktualizacją robisz dump bazy i kopię plików. Wyłączenie modułu nie może blokować składania zamówień — dane zamówień zostają w bazie, a sklep działa dalej. To warunek, który warto wpisać do umowy razem z zasadami pracy nad modułami PrestaShop. Zmiany po stronie platformy śledzisz w dokumentacji dla deweloperów PrestaShop, gdzie publikowane są informacje o kompatybilności i kolejnych wersjach.

Co się zmieniaTypowy objawCo zrobić przed zmianą
Aktualizacja PHPbłąd 500 przy koszyku, wpisy Deprecated w logachtest na klonie sklepu z docelową wersją PHP
Aktualizacja PrestaShop / WooCommercemoduł znika z hooka, brak danych w zamówieniukopia bazy i plików, test na stagingu
Zmiana API kuriera lub płatnościbrak etykiet, nieudane autoryzacje płatnościsprawdzić changelog dostawcy, przetestować w sandboxie
Aktualizacja szablonumoduł poza układem lub niewidocznyporównać nadpisania plików .tpl i template
Kopie zapasowe i wycofanie modułubrak punktu powrotu po nieudanej zmianiekopia plików + dump bazy przed każdą aktualizacją

Praca z wykonawcą z Bydgoszczy i okolic — co ustalić na starcie

Nie ma jednej dobrej odpowiedzi na pytanie „lokalnie czy zdalnie”. Wszystko zależy od tego, czego dotyka wdrożenie.

Obecność na miejscu ma sens, gdy:

Praca zdalna wystarcza przy modułach, wtyczkach, integracjach API i optymalizacji — pod trzema warunkami: wykonawca dostaje środowisko testowe (staging, nie produkcję), masz wyznaczony kanał kontaktu (Slack, Teams) i na koniec każdego etapu jest demo. Bez dostępu do stagingu i kontaktu z osobą decyzyjną zdalny projekt rozciąga się przez same doprecyzowania.

Przed pierwszym spotkaniem przygotuj cztery rzeczy: opis procesu krok po kroku (kto klika co i gdzie), dostępy do stagingu, przykład dokumentacji systemu ERP (fragment XML lub JSON faktury z nazwami pól) i listę 5 najczęstszych problemów w panelu. Do tego jedna decyzja: kto po Twojej stronie odbiera pracę i podpisuje protokół.

Formalności ustal na starcie: umowa z zakresem i kryteriami odbioru, NDA jeśli dane są wrażliwe, liczba godzin w pakiecie, kto odpowiada za kopie zapasowe (zwykle właściciel serwera, ale musi to być zapisane) oraz dostęp do repozytorium — prywatne repo Git, do którego masz wgląd i które zostaje u Ciebie po zakończeniu. Płatność w transzach powiązanych z etapami. Jeśli szukasz szerszego kontekstu, zobacz aplikacje dedykowane i materiał o organizacji pracy przy niestandardowych modułach i wtyczkach. Kompatybilność wtyczki z kolejnymi wersjami platformy sprawdzaj w dokumentacji WooCommerce.

Rozmawiaj bezpośrednio z osobą, która pisze kod. Każdy pośrednik to dodatkowe przekazywanie zakresu „z głowy do głowy” i kilka dni straconych na ustalenia, które przy bezpośrednim kontakcie zajmują jedno spotkanie.

Najczęstsze błędy i jak je wykryć

Zamawianie modułu do zadania, które załatwia natywna opcja w panelu lub istniejąca reguła w sklepie.

Jak wykryć: Nazwij konkretną czynność, np. darmowa dostawa od 300 zł albo ukrycie ceny dla niezalogowanych, i sprawdź, czy nie ma jej już w ustawieniach koszyka, regułach promocji lub ustawieniach grup klientów.

Jak naprawić: Przejdź przez panel ustawień i listę aktywnych wtyczek zanim wyślesz zapytanie. Jeśli funkcja istnieje i tylko nie jest włączona, płacisz za konfigurację, nie za kod — a to zupełnie inna stawka.

Brak zdefiniowanego zakresu i kryteriów odbioru. Zlecenie brzmi: ma działać jak w starym sklepie.

Jak wykryć: Sprawdź, czy w zamówieniu jest lista przypadków: co się dzieje przy błędzie płatności, przy zamówieniu na 200 sztuk, przy kliencie bez ważnego NIP-u. Jeśli nie ma — zakres jest otwarty i tak będzie rozliczany.

Jak naprawić: Spisz scenariusze testowe przed startem prac i wpisz je do umowy jako podstawę odbioru. Trzy-cztery konkretne przypadki wystarczą, żeby zdjąć większość sporów o dopłaty.

Kupno taniej wtyczki z marketplace do procesu, którego ona nie obsługuje. Efekt to łańcuch obejść.

Jak wykryć: Sprawdź, ile z Twoich wymagań wtyczka realizuje bez modyfikacji jej kodu, a ile wymaga dopisywania. Jeśli trzeba w nią ingerować, tracisz możliwość bezpiecznej aktualizacji.

Jak naprawić: Policz koszt trzech lat: licencja, coroczne odnowienie, godziny wdrożenia i godziny na naprawy po aktualizacjach. Jeśli obejścia zjadają więcej niż własny moduł — zamów własny.

Modyfikacja plików szablonu lub rdzenia zamiast modułu. Zmiany znikają przy pierwszej aktualizacji.

Jak wykryć: Zapytaj wykonawcę wprost: w których plikach będą zmiany i czy są to pliki nadpisywane przy aktualizacji. Odpowiedź typu w pliku motywu powinna zapalić lampkę.

Jak naprawić: Wymagaj, żeby logika siedziała w module, a szablon korzystał z mechanizmu nadpisań przewidzianego przez system. Wtedy aktualizacja sklepu nie kasuje funkcji.

Brak dostępu do kodu i brak repozytorium. Zostajesz z modułem, którego nikt poza autorem nie ruszy.

Jak wykryć: Sprawdź w umowie i na serwerze: czy kod jest w repozytorium, do którego masz dostęp, czy dostajesz archiwum z każdą wersją i czy licencja pozwala innemu wykonawcy go rozwijać.

Jak naprawić: Ustal na piśmie, że kod źródłowy jest przekazywany i że masz prawo zlecić jego rozwój komukolwiek. To warunek, który chroni Cię na lata — bardziej niż rabat na wdrożenie.

Testowanie na produkcji i brak środowiska testowego przed wdrożeniem zmiany.

Jak wykryć: Zapytaj, gdzie będą robione testy integracji z ERP lub kurierem. Odpowiedź na produkcji oznacza ryzyko błędnych zamówień i faktur w trakcie prac.

Jak naprawić: Postaw kopię sklepu na osobnym środowisku i poproś system zewnętrzny o dane sandboxowe. Dopiero po testach wypuszczasz zmiany na sklep.

Lista kontrolna do odklikania

Podsumowanie

Moduł lub wtyczkę na zamówienie opłaca się zamawiać wtedy, gdy masz powtarzalną pracę ręczną, wymóg procesowy albo system zewnętrzny bez gotowego łącznika. O koszcie nie decyduje cena zakupu, tylko liczba godzin na wdrożenie i na obejścia po kolejnych aktualizacjach — dlatego porównuj warianty w horyzoncie trzech lat. Przed startem prac spisz proces, sprawdź opcje natywne i istniejące rozszerzenia, ustal kryteria odbioru oraz to, gdzie trafia kod. Jeśli chcesz, przejrzyj też nasze podejście do aplikacji dedykowanych i PrestaShop.

Najczęściej zadawane pytania

Czym różni się moduł od wtyczki?

To dwie nazwy tej samej rzeczy w dwóch systemach: moduł to rozszerzenie w PrestaShop, wtyczka to rozszerzenie w WooCommerce. Oba dodają funkcje, których nie ma w standardzie sklepu. Ani jedno, ani drugie nie jest szablonem graficznym — jeśli problem dotyczy wyglądu, potrzebujesz zmiany motywu, nie modułu.

Ile trwa wdrożenie niestandardowego modułu?

Drobna modyfikacja istniejącego zachowania to zwykle kilka do kilkunastu godzin. Nowa funkcja lub integracja z systemem zewnętrznym to najczęściej dziesiątki godzin, bo dochodzi analiza, testy i uzgodnienia z drugim systemem. Termin zależy też od tego, jak szybko dostaniesz dane do testów. Konkretną liczbę godzin dostaniesz po analizie zakresu.

Czy własny moduł przestanie działać po aktualizacji sklepu?

Może przestać, jeśli nie jest utrzymywany. Każda aktualizacja PrestaShop lub WooCommerce plus zmiana wersji PHP wymaga sprawdzenia i czasem poprawki. Dlatego przy zamówieniu warto od razu ustalić, kto i na jakich zasadach zajmuje się tym po wdrożeniu. Moduł napisany poprawnie, z wykorzystaniem mechanizmów nadpisań systemowych, zwykle wymaga niewielkich korekt, a nie przepisywania.

Czy muszę mieć dostęp do kodu źródłowego?

Tak, jeśli nie chcesz być uzależniony od jednego wykonawcy. Kod w repozytorium, do którego masz dostęp, pozwala w każdej chwili zlecić rozwój innej firmie albo zatrudnić programistę. Warto też sprawdzić licencję kupowanej wtyczki z marketplace — część z nich daje prawo korzystania, ale nie daje dostępu do kodu.

Da się zrobić eksport zamówień do ERP bez pisania modułu?

Czasem tak — jeśli ERP ma gotowy łącznik albo wystarczy eksport w pliku CSV i import po stronie systemu księgowego. Sprawdź najpierw dokumentację swojego ERP i listę dostępnych integracji. Jeśli jednak potrzebna jest synchronizacja stanów w obie strony albo mapowanie statusów, wymiana plików szybko przestaje wystarczać i potrzebny jest własny łącznik.

Ile to kosztuje?

Wycena wynika wprost z liczby godzin, a ta z liczby przypadków, które moduł ma obsłużyć. Prosta funkcja to zwykle kilka godzin pracy; integracja z ERP, kurierem i płatnościami to projekt na dziesiątki godzin, czyli kilka tysięcy złotych. Nie ma sensu porównywać ofert bez tego samego zakresu — najpierw opis procesu, potem cena.

Kiedy lepiej kupić gotową wtyczkę z marketplace?

Wtedy, gdy funkcja jest standardowa, działa na setkach sklepów i nie potrzebujesz w niej nic zmieniać — na przykład podstawowa wysyłka paczkomatowa czy standardowa bramka płatności. Wtedy licencja i odnowienie są tańsze niż pisanie od zera. Własny moduł ma sens dopiero wtedy, gdy proces jest specyficzny dla Twojej firmy, wtyczka nadpisuje szablony albo musi współpracować z Twoim systemem B2B lub ERP.

Jeśli masz proces, który chcesz przenieść do sklepu, opisz go nam — powiemy wprost, czy wystarczy konfiguracja, gotowa wtyczka, czy trzeba pisać moduł. Warto zacząć od krótkiej rozmowy zanim wydasz pierwszą złotówkę.

Źródła i materiały