- Strefy dostawy wg kodów pocztowych
- Zaawansowana wycena dla przewoźników
- Wygoda w back office
- Podejście techniczne
- Terytoria zamorskie / wyspy / obszary odległe
- Darmowa dostawa lokalna
- Blokada dostawy w obszarach nieobsługiwanych
- Stawki procentowe
- Czy moduł tworzy przewoźników?
- Co jeśli żadna strefa nie pasuje?
- Czy obsługuje alfanumeryczne kody (UK, CA)?
- Czy zadziała z One Page Checkout?
- Moduł nie jest widoczny w menu Wysyłka
- Koszty nie zmieniają się w checkout
- Przewoźnik znika w checkout
Shipping Cost by Zip Code — Koszty wysyłki według kodu pocztowego
Shipping Cost by Zip Code to moduł PrestaShop, który pozwala naliczać dokładne koszty wysyłki na podstawie kodu pocztowego klienta. Tworzysz własne strefy pocztowe (bez limitu), przypisujesz kody pocztowe (pojedyncze lub w formie zakresów liczbowych), a następnie definiujesz cenniki dla przewoźników z użyciem progów wagowych lub progów wartości koszyka.
W przeciwieństwie do natywnego podejścia (strefy/kraje), to rozwiązanie jest idealne, gdy koszty różnią się znacząco między centrum miasta, obszarami wiejskimi, wyspami, terenami górskimi czy terytoriami zamorskimi. Moduł nie dodaje przewoźników — dostosowuje stawki Twoich istniejących przewoźników w checkout, zgodnie z kodem pocztowym.
Najważniejsze zalety:
- Nielimitowane strefy pocztowe (pojedyncze kody i zakresy liczbowe)
- Cenniki per przewoźnik + nielimitowane progi (waga lub wartość koszyka)
- Darmowa dostawa (per próg, per strefa lub od kwoty)
- Import / eksport CSV do konfiguracji masowej
- System priorytetów przy nakładających się strefach
- Multistore, wielojęzyczność, brak override’ów
Opis
Domyślnie PrestaShop oblicza koszty wysyłki na podstawie stref geograficznych i krajów, co często bywa zbyt mało precyzyjne. Sklep może potrzebować różnych stawek w zależności od odległości, dostępności lub realnych kosztów przewozu, nawet w obrębie jednego kraju.
Dzięki Shipping Cost by Zip Code konfigurujesz reguły na poziomie kodu pocztowego:
- Tworzysz strefę pocztową (np. „Centrum miasta”, „Strefa górska”, „Wyspy/terytoria”).
- Dodajesz kody pocztowe (lista) lub zakresy (np. 75001 → 75020).
- Ustawiasz cennik dla przewoźników z logiką wg wagi lub wg wartości koszyka.
Jeśli żaden kod nie pasuje do strefy, zachowanie jest konfigurowalne: zastosować standardowe stawki PrestaShop lub zablokować wysyłkę (przewoźnicy ukryci).
Funkcje
Strefy dostawy wg kodów pocztowych
- Tworzenie nielimitowanej liczby stref pocztowych
- Format kodów pocztowych:
- Pojedyncze kody (jeden kod lub lista)
- Zakresy liczbowe (np. 75001–75020)
- Możliwość użycia wielu krajów w jednej strefie
- Włączanie/wyłączanie stref
- Opcja „Wysyłka wyłączona”: ukrywa przewoźników w checkout dla danej strefy
- System priorytetów do obsługi nakładających się stref
Zaawansowana wycena dla przewoźników
- Stawki per przewoźnik i per strefa
- Tryb obliczeń:
- Waga (kg)
- Cena (wartość koszyka)
- Nielimitowane progi (0–5, 5–10 itd.)
- Opłaty stałe lub procentowe
- Darmowa dostawa:
- per próg
- per strefa / przewoźnik
- automatycznie od ustawionej kwoty koszyka
- Opcja „Wszyscy przewoźnicy”: zastosuj regułę do wszystkich przewoźników naraz
Wygoda w back office
- Interfejs w back office w sekcji Wysyłka
- Lista stref z wyszukiwaniem / filtrami / sortowaniem oraz pozycjonowaniem (drag & drop)
- Edytor „all-in-one”: ustawienia ogólne + kody + cenniki na jednej stronie
- Import CSV z raportem błędów
- Eksport CSV pełnej konfiguracji
- Przykładowy plik CSV w zestawie
Podejście techniczne
- Zgodność z PrestaShop 1.7.7, 8.x i 9.x
- Obsługa multistore
- Obsługa wielojęzyczna (tłumaczalne nazwy stref)
- Brak override’ów core PrestaShop
- Wykorzystanie
id_carrier_reference(odporne na zmiany przewoźników) - Zoptymalizowane zapytania + cache w pamięci (dopasowanie kod → strefa)
Wymagania
- PrestaShop: minimum 1.7.7.0 (zgodność 1.7.7 → 9.x)
Ważne ograniczenie: obsługiwane są wyłącznie kody pocztowe numeryczne. Kraje z kodami alfanumerycznymi (np. Wielka Brytania, Kanada, Holandia) nie są wspierane.
Instalacja
Metoda 1 — przez Back Office (zalecana)
- Przejdź do Moduły > Menedżer modułów
- Kliknij Wgraj moduł
- Wybierz
wepresta_shipping_cost_by_zip.zip - Poczekaj na zakończenie instalacji
- Kliknij Konfiguruj
Metoda 2 — przez FTP
- Rozpakuj archiwum
- Wgraj folder
wepresta_shipping_cost_by_zip/do/modules/ - W back office: Moduły > Menedżer modułów
- Znajdź moduł i kliknij Zainstaluj
- Kliknij Konfiguruj
Co robi instalacja
- Tworzy 4 tabele:
wep_zip_zone,wep_zip_zone_lang,wep_zip_range,wep_zip_delivery - Rejestruje wymagane hooki
- Dodaje zakładkę „Shipping by Zip Code” w sekcji Wysyłka
- Inicjalizuje konfigurację domyślną
Uwaga: moduł nie tworzy przewoźników. Modyfikuje koszty istniejących przewoźników na podstawie kodu pocztowego.
Konfiguracja
Dostęp:
- Moduły > Menedżer modułów > Konfiguruj
- lub Wysyłka > Shipping by Zip Code
Ustawienia globalne
- Włącz moduł: aktywuje/dezaktywuje kalkulację wg kodu pocztowego
- Zachowanie domyślne (gdy brak dopasowania strefy):
- Użyj stawek standardowych: PrestaShop stosuje stawki natywne (zalecane na start)
- Zablokuj wysyłkę: przewoźnicy nie pojawią się w checkout
Zarządzanie strefami
Dostęp: Wysyłka > Shipping by Zip Code
Utwórz strefę
- Kliknij Dodaj nową strefę
- Uzupełnij:
- Nazwa strefy (wielojęzyczna)
- Aktywna (Tak/Nie)
- Wysyłka wyłączona (Tak/Nie)
- Kliknij Zapisz
Dodaj kody pocztowe
W edytorze strefy, sekcja Kody pocztowe:
- Wybierz kraj
- Dodaj:
- Listę kodów (oddzielone przecinkami):
75001, 75002, 75003
- lub zakres:
- od
75001do75020
- od
- Listę kodów (oddzielone przecinkami):
- Kliknij + Dodaj
Obsługiwane są tylko kody numeryczne.
Skonfiguruj przewoźników i ceny
W sekcji Przewoźnicy i cenniki:
- Wybierz przewoźnika (lub Wszyscy przewoźnicy)
- Wybierz typ:
- Waga (kg) lub Cena (wartość koszyka)
- Ustaw próg:
- min / max
- Wpisz opłatę
- Opcje:
- Procent (jeśli włączone, opłata jest % koszyka)
- Darmowa dostawa
- Za darmo od (próg kwoty koszyka)
- Kliknij + Dodaj regułę cenową
Import / eksport CSV
Format CSV
- Separator: średnik
; - Kodowanie: UTF-8
Główne kolumny:
zone_name(wymagane)country_iso(wymagane)postal_code_from(wymagane)postal_code_to(opcjonalnie: puste = pojedynczy kod)carrier_reference(wymagane)calculation_type:weight/price(wymagane)range_from,range_to,price(wymagane)is_percentage,is_free,free_from_amount(opcjonalnie)
Import
- Wysyłka > Shipping by Zip Code
- Importuj CSV
- Wybierz plik
- Importuj i sprawdź raport (OK / zaktualizowane / błędy)
Przydatne zachowania:
- Istniejąca strefa o tej samej nazwie jest ponownie używana (bez duplikatów)
- Istniejące zakresy nie są duplikowane
- Identyczna reguła cenowa jest aktualizowana
Eksport
- Kliknij Eksportuj CSV
- Plik pobierany ma ten sam format co import
System priorytetów
Każda strefa ma pozycję (sortowalną). Jeśli kod pocztowy pasuje do wielu stref, używana jest strefa z najniższą pozycją.
Kolejność dopasowania:
- Dopasowanie dokładne (pojedynczy kod)
- Dopasowanie zakresowe
- Jeśli jest wiele dopasowań, decyduje pozycja strefy
Multistore
Moduł wspiera multistore:
- Strefy i cenniki są widoczne zależnie od kontekstu (wszystkie sklepy / grupa / sklep)
- Strefa jest przypisana do aktywnego kontekstu sklepu w momencie tworzenia
- Aby zastosować identyczną konfigurację w wielu sklepach: eksport/import CSV
Działanie po stronie klienta
W checkout moduł działa w tle:
- Klient wpisuje adres (z kodem pocztowym)
- PrestaShop wyświetla przewoźników
- Moduł dostosowuje koszty zgodnie z dopasowaną strefą
Klient zobaczy:
- koszty dopasowane do kodu pocztowego
- potencjalnie mniej przewoźników, jeśli strefa jest „niedostarczalna”
- darmową dostawę, jeśli skonfigurowano
Typowe scenariusze
Terytoria zamorskie / wyspy / obszary odległe
Utwórz osobną strefę (np. 97100 → 97490) z wyższymi stawkami niż obszar główny.
Darmowa dostawa lokalna
Utwórz strefę „lokalną” (pobliskie kody) z darmową dostawą, zachowując standardowe stawki dla reszty.
Blokada dostawy w obszarach nieobsługiwanych
Utwórz strefę „niedostarczalną” i włącz Wysyłka wyłączona, aby ukryć przewoźników.
Stawki procentowe
Przydatne dla koszyków o wysokiej wartości: np. 3% wartości koszyka, a potem za darmo od progu.
FAQ
Czy moduł tworzy przewoźników?
Nie. Korzysta z istniejących przewoźników i modyfikuje kalkulację kosztów na podstawie kodu pocztowego.
Co jeśli żadna strefa nie pasuje?
Zależnie od ustawień globalnych:
- PrestaShop zastosuje stawki standardowe
- albo wysyłka zostanie zablokowana (przewoźnicy ukryci)
Czy obsługuje alfanumeryczne kody (UK, CA)?
Nie, tylko kody numeryczne.
Czy zadziała z One Page Checkout?
Tak. Koszt jest liczony po stronie serwera przez getOrderShippingCost(), zgodne z checkout standardowym i OPC.
Rozwiązywanie problemów
Moduł nie jest widoczny w menu Wysyłka
- Sprawdź, czy jest zainstalowany i włączony
- Wyczyść cache: Parametry zaawansowane > Wydajność > Wyczyść cache
- Sprawdź uprawnienia pracowników
Koszty nie zmieniają się w checkout
- Moduł włączony?
- Czy istnieje aktywna strefa pasująca do kodu?
- Czy są reguły cenowe dla tej strefy i przewoźnika?
- Czy progi obejmują wagę/wartość koszyka?
- Cache wyczyszczony?
Przewoźnik znika w checkout
- Strefa ma włączone Wysyłka wyłączona
- Zachowanie domyślne = Zablokuj wysyłkę i brak dopasowania strefy
- Brak reguły cenowej dla tego przewoźnika w dopasowanej strefie
Changelog
Wersja 1.0.0
- Nielimitowane strefy pocztowe
- Pojedyncze kody + zakresy liczbowe
- Cenniki wg wagi lub wartości koszyka
- Procent od wartości koszyka
- Darmowa dostawa (per próg / próg kwoty)
- Blokada wysyłki per strefa
- Priorytety stref
- Import / eksport CSV
- Multistore + wielojęzyczność
- Zgodność PrestaShop 1.7.7 → 9.x
Wsparcie
- Wsparcie przez stronę modułu (PrestaShop Addons) lub panel klienta WePresta
- Typowy czas odpowiedzi: 24–48 godzin roboczych
Przed kontaktem przygotuj:
- wersję PrestaShop
- wersję PHP
- jasny opis problemu
- zrzuty ekranu
- logi PrestaShop (jeśli dostępne)
Licencja
Academic Free License (AFL 3.0).
Copyright © WePresta. Wszelkie prawa zastrzeżone.