Metody dostawy w Magento 2
Opublikowano: 17 lipca 2026
Metody dostawy są wymagane do działania sklepu - bez aktywnej metody klient nie zakończy checkoutu. Magento dostarcza zestaw natywnych metod (Free Shipping, Flat Rate, Table Rates, In-Store Pickup, UPS, USPS, FedEx, DHL), które uzupełniają moduły zewnętrzne (InPost, DPD, Orlen Paczka - patrz ecomhouse-deliverypoints).
Lista wszystkich metod dostawy
Ścieżka: Stores > Configuration > Sales > Delivery Methods
W jednym miejscu widzisz wszystkie zainstalowane metody dostawy. Każda metoda ma własny blok konfiguracji.
Krok 1. Free Shipping (darmowa dostawa od kwoty)
Ścieżka: Stores > Configuration > Sales > Delivery Methods > Free Shipping
| Pole | Wartość |
|---|---|
| Enabled | Yes |
| Title | Darmowa dostawa |
| Method Name | Standard |
| Minimum Order Amount | 200.00 (PLN - próg kwotowy) |
| Displayed Error Message | Tę metodę można wybrać przy zamówieniach powyżej 200 zł |
| Ship to Applicable Countries | Specific Countries lub All Allowed Countries |
| Ship to Specific Countries | Poland (jeśli powyżej Specific) |
| Show Method if Not Applicable | No |
| Sort Order | 1 (im niższa, tym wyżej w checkoutcie) |
Zapisz.
Free Shipping + Progress Bar: Magento domyślnie nie poinformuje klienta przed koszykiem o darmowej dostawie. Jeśli potrzebujesz pasek postępu informujący klienta "Brakuje Ci 35 zł do darmowej dostawy" zwiększa średnią wartość koszyka o 5 - 15%. Zapytaj moduł ecomhouse-freeshippingprogressbar.
Krok 2. Flat Rate (stała kwota za dostawę)
Ścieżka: Stores > Configuration > Sales > Delivery Methods > Flat Rate
| Pole | Wartość |
|---|---|
| Enabled | Yes |
| Title | Kurier |
| Method Name | Stała stawka |
| Type | Per Order (jedna opłata za całe zamówienie) lub Per Item (opłata × liczba sztuk). |
| Price | 15.00 (PLN) |
| Calculate Handling Fee | Fixed lub Percent (opłata manipulacyjna) |
| Handling Fee | 0.00 |
| Ship to Applicable Countries | Specific Countries |
| Ship to Specific Countries | Poland |
| Sort Order | 10 |
Zapisz.
Krok 3. Table Rates (różne stawki per strefa)
Ścieżka: Stores > Configuration > Sales > Delivery Methods > Table Rates
Najbardziej elastyczna metoda - pozwala definiować różne stawki w zależności od kraju, regionu, kodu pocztowego, wagi koszyka lub kwoty zamówienia.
Konfiguracja
| Pole | Wartość |
|---|---|
| Enabled | Yes |
| Title | Dostawa standardowa |
| Method Name | Table Rates |
| Condition | Weight vs. Destination / Price vs. Destination / # of Items vs. Destination |
| Include Virtual Products in Price Calculation | No |
Import CSV z stawkami
Najszybszy sposób na masowe wprowadzenie stawek - przygotuj plik CSV w formacie:
"Country","Region/State","Zip/Postal Code","Order Subtotal (and above)","Shipping Price"
"POL","*","*","0.00","15.00"
"POL","*","*","200.00","0.00"
"DEU","*","*","0.00","30.00"
"GBR","*","*","0.00","45.00"
Magento weźmie najbardziej specyficzną pasującą regułę - np. dla zamówienia z PL na 250 zł, weźmie wiersz 200.00 z ceną 0.00 (darmowa od 200 zł).
W panelu: Stores > Configuration > Sales > Delivery Methods > Table Rates > Import → wgraj CSV → Save Config.
Scope = Website: Table Rates konfiguruje się per Website (nie per Store View!). Aby zaimportować CSV, przełącz scope w lewym górnym rogu na konkretny Main Website.
Krok 4. In-Store Pickup (odbiór osobisty)
Ścieżka: Stores > Configuration > Sales > Delivery Methods > In-Store Delivery
Wymaga skonfigurowania co najmniej jednego źródła zapasów (Source) w MSI z włączoną opcją Pick-up Location (Stores > Inventory > Sources).
| Pole | Wartość |
|---|---|
| Enabled | Yes |
| Title | Odbiór osobisty |
| Search Radius | 15 (km od adresu klienta) |
| Sort Order | 5 |
Magento wyświetli klientowi w checkoutcie listę punktów odbioru w promieniu 15 km od podanego adresu.
Jest to jednak rzadko używana funkcjonalność w ten sposób. Dla klasycznych punktów odbioru i paczkopunktów stosuje się dedykowany moduły jak np. ecomhouse_deliverypoints, a nie pełną konfiguracje wielomagazynową.
Krok 5. Wyłącz nieużywane natywne metody
Magento ma natywne wsparcie dla UPS, USPS, FedEx, DHL. Jeśli nie używasz tych kurierów, wyłącz je - w przeciwnym razie pojawiają się w checkoutcie jako opcje z błędem ("Method not available"), co źle wygląda.
Stores > Configuration > Sales > Delivery Methods > [UPS / USPS / FedEx / DHL] → Enabled = No.
Polskie firmy kurierskie
Dla rynku polskiego najczęstsze metody (wymagają modułów zewnętrznych):
| Kurier | Sposób instalacji |
|---|---|
| InPost Paczkomaty | Moduł InPost + integracja punktów odbioru |
| DPD Pickup | Moduł DPD + integracja punktów odbioru |
| Orlen Paczka | Moduł Orlen Paczka |
| Poczta Polska | Moduł Poczta Polska / Pocztex |
| Paczkomaty wszystkie | ecomhouse-deliverypoints - zunifikowany picker dla wszystkich w/w. |
Krok 6. Limity wymiarów / wagi
Stores > Configuration > Sales > Delivery Methods - niektóre natywne metody mają ograniczenia per produkt:
- Maximum Package Weight (dla UPS / FedEx).
- Pakowanie: pojedyncze sztuki, paczki łączone.
Dla table rates ograniczenia konfigurujesz w CSV przez wagę (Weight vs. Destination).
Strefy dostaw - strategia
Typowa strategia dla polskiego sklepu B2C:
| Strefa | Strategia |
|---|---|
| Polska | Wszystkie metody dostępne. Free Shipping od 200 zł. Table Rates 15 zł. |
| UE | Tylko kurier (Flat Rate). Brak darmowej dostawy. |
| Reszta świata | Tylko kurier z indywidualną wyceną (Custom). |
Konfiguracja per metoda → Ship to Specific Countries z odpowiednią listą.
Najczęstsze problemy
Checkout nie pozwala wybrać żadnej metody dostawy
Sprawdź:
- Czy jakakolwiek metoda jest włączona (
Enabled = Yes). - Czy kraj klienta jest na liście
Ship to Specific Countriesaktywnych metod. - Free Shipping nie spełnia warunku (
Minimum Order Amount) iShow Method if Not Applicable = No→ metoda znika. - Wyczyść cache:
bin/magento cache:flush.
Table Rates "Method not available"
- Sprawdź scope - Table Rates konfiguruje się per Website, nie per Store View.
- Sprawdź, czy plik CSV został zaimportowany (
Stores > Configuration > Sales > Delivery Methods > Table Rates). - Sprawdź, czy regiony / kody pocztowe w CSV pasują do adresu klienta.
Magento nalicza dostawę z VAT, klient skarży się że "cena bez VAT"
Sprawdź Stores > Configuration > Sales > Tax > Calculation Settings > Shipping Prices - musi być Including Tax dla sklepu B2C (patrz Konfiguracja podatków (VAT)).
Klient z Polski widzi tylko UPS / DHL (zagraniczne metody)
Sprawdź Ship to Specific Countries w każdej metodzie:
- Polskie metody (Free Shipping, Flat Rate, Table Rates dla PL) -
Ship to Specific Countries = Poland. - Międzynarodowe metody -
Ship to Specific Countries = Germany, UK, ...(bez Polski).
Wymagana faktyczna integracja z API kuriera
Magento natywnie pozwala zdefiniować cenę i strefy dostawy, ale nie integruje się z API kuriera (nie generuje listów przewozowych). Do tego potrzebujesz dedykowanego modułu (np. InPost API, Baselinker).
Powiązane
- Metody płatności - konfiguracja płatności (komplementarne)
- Konfiguracja podatków (VAT) - VAT przy dostawie
- Waluta i lokalizacja - Allowed Countries