Opłaty Celne DDP / DAP: kompletny przewodnik
Instalacja, konfiguracja i codzienna praca z wyborem DDP / DAP w kasie dla sklepów europejskich wysyłających poza UE: obliczanie opłat, stawki i wymuszanie DDP per kraj, progi de minimis i oznaczenia Incoterm.
Prezentacja i wymagania
Moduł Opłaty Celne DDP / DAP jest przeznaczony dla sklepów z siedzibą w Unii Europejskiej, które wysyłają towar poza UE. Gdy tylko adres dostawy wykracza poza terytorium celne UE, w etapie przewoźnika w kasie pojawia się blok wyboru: klient decyduje, czy uregulować cła i podatki importowe od razu z zamówieniem (DDP), czy przy dostawie u przewoźnika (DAP).
- Zgodny z PrestaShop 8.0 do 9.x, szablon Classic i szablony pochodne.
- PHP 7.4 do 8.3.
- Multisklep i wielowalutowość: opłaty są obliczane w walucie koszyka.
- Wielojęzyczność (FR/EN/ES/DE/IT, dodatkowo dostarczone PT).
- Brak nadpisywania plików: wyłącznie natywne hooki.
Moduł nie odpytuje służb celnych o rzeczywistą wysokość należności: stosuje Twój cennik (stawka procentowa, opłaty stałe, progi), aby przedstawić klientowi wiarygodny szacunek. W trybie DDP to właśnie ta kwota jest fakturowana w sklepie; wysyłkę należy następnie zrealizować w usłudze DDP u swojego przewoźnika.
Instalacja
Zainstaluj moduł jak każdy inny moduł PrestaShop:
- Pobierz archiwum
dfcustomsduty.zipze swojego konta klienta. - W panelu administracyjnym przejdź do Moduły > Menedżer modułów.
- Kliknij Wgraj moduł i wskaż archiwum.
- Po instalacji kliknij Konfiguruj.
Podczas instalacji moduł rejestruje swoje hooki, tworzy tabele (śledzenie wyboru per koszyk, utrwalenie per zamówienie, stawki per kraj) i automatycznie zakłada ukryty produkt wirtualny „Opłaty celne i podatki importowe (DDP)”, bez podatku i zamawialny bez stanu magazynowego. Ten produkt nigdy nie pojawia się w katalogu: służy wyłącznie jako nośnik fakturowania, gdy klient wybierze tryb DDP.
Stawka domyślna po instalacji wynosi 0 procent. Dopóki nie zostanie skonfigurowana (stawka globalna lub stawka per kraj), żadne opłaty nie są obliczane i blok wyboru się nie wyświetla. Jest to zachowanie celowe, aby nie obciążać klientów arbitralną stawką.
Konfiguracja ogólna
Strona konfiguracji skupia ustawienia cennika i wyświetlania:
- Włącz moduł: przełącznik globalny.
- Tryb wstępnie wybrany w kasie: DDP (zalecany) lub DAP. To opcja zaznaczona domyślnie, dopóki klient nie dokona wyboru.
- Stawka domyślna (%): procent stosowany do wartości zamówienia w celu oszacowania cła i VAT importowego. Nadpisywany indywidualnie przez stawki per kraj.
- Stałe opłaty manipulacyjne: kwota stała dodawana do obliczenia, w walucie domyślnej sklepu, netto.
- Próg zwolnienia (de minimis): poniżej tej wartości zamówienia żadne opłaty nie są naliczane. 0 oznacza brak progu.
- Wliczaj koszty wysyłki do podstawy obliczenia: wartość celna (CIF) zwykle obejmuje transport.
- Wyświetlaj informację w koszyku: uprzedza klienta z wyprzedzeniem, że dostawa poza UE wiąże się z opłatami.
- Kraje wymuszające DDP (kody ISO): lista kierunków, rozdzielona przecinkami, dla których tryb DDP jest obowiązkowy. Klient z dostawą do tych krajów nie może przełączyć się na DAP. Wartość domyślna:
US(w Stanach Zjednoczonych cła powinien pokryć sprzedawca). Pozostaw puste, aby wyłączyć wymuszanie globalne. - Kraje terytorium celnego UE (kody ISO): lista rozdzielona przecinkami. Każda dostawa do kraju spoza tej listy jest traktowana jako dostawa poza UE.
Domyślnie lista UE zawiera 27 państw członkowskich oraz Monako (w unii celnej z Francją). Możesz ją swobodnie dostosować, na przykład aby osobno potraktować terytoria o szczególnym reżimie podatkowym.
Podstawa i wzór obliczenia
Szacowane opłaty są obliczane w następujący sposób, w walucie koszyka i netto:
podstawa = suma produktów netto (bez produktu opłat)
+ koszty wysyłki netto (jeśli opcja jest włączona)
opłaty = podstawa × stawka_kraju(%) + opłaty_stałe
Próg zwolnienia jest sprawdzany w pierwszej kolejności: jeśli podstawa jest niższa od progu obowiązującego (progu kraju, jeśli został zdefiniowany, w przeciwnym razie progu globalnego), żadne opłaty nie są fakturowane. Opłaty stałe i progi, przechowywane w walucie domyślnej sklepu, są automatycznie przeliczane na walutę koszyka.
Stawki per kraj docelowy
Pod ustawieniami ogólnymi formularz „Dodaj / zmodyfikuj stawkę per kraj” pozwala doprecyzować cennik kierunek po kierunku:
- Kraj docelowy: wybierany z listy krajów sklepu.
- Stawka (%): zastępuje stawkę globalną dla tego kraju.
- Opłaty stałe: opłaty manipulacyjne właściwe dla tego kraju.
- Próg zwolnienia: specyficzny próg de minimis. Pozostaw 0, aby użyć progu globalnego.
- Wymuś DDP dla tego kraju: czyni tryb DDP obowiązkowym dla tego kierunku (klient nie może wybrać DAP). Sumuje się z globalną listą krajów wymuszających DDP.
Zapisane stawki pojawiają się w tabeli podsumowującej pod formularzem, z kolumną „Wymuszony DDP” (Tak / Nie) i możliwością usunięcia każdego wiersza. Kraj bez dedykowanej stawki automatycznie korzysta z wartości globalnych.
Typowy przykład: dla Stanów Zjednoczonych wpisz próg zwolnienia 800, aby odzwierciedlić de minimis 800 USD. Dla Szwajcarii lub Wielkiej Brytanii ustaw stawkę i próg odpowiadające ich zasadom importowym.
Wymuszanie DDP dla wybranych krajów
Dla niektórych kierunków pozostawienie wyboru klientowi nie jest wskazane: dotyczy to Stanów Zjednoczonych, gdzie cła powinien pokryć sprzedawca. Moduł pozwala wymusić tryb DDP na dwóch poziomach:
- Globalnie, przez pole „Kraje wymuszające DDP (kody ISO)” w konfiguracji ogólnej (domyślnie
US). - Per kraj, przez opcję „Wymuś DDP dla tego kraju” w formularzu stawek per kraj. Kolumna „Wymuszony DDP” w tabeli podsumowującej pokazuje wtedy „Tak”.
Kraj jest uznawany za wymuszający DDP, jeśli figuruje na liście globalnej lub jeśli jego stawka krajowa ma ustawioną odpowiednią flagę. Dla tych kierunków blok w kasie wyświetla już tylko komunikat informujący, że cła należy uregulować wraz z zamówieniem: opcja DAP zostaje usunięta, a tryb DDP jest stosowany automatycznie, nawet jeśli klient wcześniej wybrał DAP.
Jeśli wymusisz DDP dla kraju bez przypisania mu cennika (stawka globalna 0 procent i brak dedykowanej stawki), zamówienie zostaje zapisane jako DDP, ale żadne opłaty nie są fakturowane. W takim przypadku moduł nie wyświetla żadnego oznaczenia celnego (faktura PDF, szczegóły po stronie klienta, blok w panelu administracyjnym), aby nie informować klienta o uregulowaniu ceł, których nigdy nie zapłacił. Zadbaj więc o zdefiniowanie stawki lub opłat stałych dla każdego kraju, w którym wymuszasz DDP.
Doświadczenie klienta w kasie
Gdy dostawa jest realizowana poza UE i obowiązuje cennik, klient widzi w etapie przewoźnika dwie opcje:
Tryb DDP: zapłata teraz
Produkt opłat jest dodawany do koszyka z ceną obliczaną dynamicznie. Kwota wchodzi do sum zamówienia, pojawia się na fakturze i w natywnych e-mailach, a klient nie ma już nic do uregulowania przy odbiorze paczki. To doświadczenie najbliższe zakupom krajowym.
Tryb DAP: zapłata przy dostawie
Do zamówienia nie są dodawane żadne opłaty, ale wyświetlany jest szacunek kwotowy, a klient zostaje uprzedzony, że przewoźnik zażąda od niego ceł, podatków i ewentualnych opłat manipulacyjnych przed wydaniem paczki. Informacja widnieje następnie na jego zamówieniu i fakturze.
Zmiana opcji jest natychmiastowa: koszyk i sumy są przeliczane przez AJAX, a postęp w kasie zostaje zachowany (klient pozostaje w etapie przewoźnika). Dla kraju wymuszającego DDP proponowany jest wyłącznie tryb DDP.
Śledzenie po stronie zamówienia i faktury
Przy zatwierdzeniu zamówienia zapisywane są wybrany tryb, kwota i kraj docelowy. Te informacje są następnie widoczne:
- w szczegółach zamówienia po stronie klienta, z czytelnym przypomnieniem, co zostało uregulowane, a co pozostaje do zapłaty;
- na karcie zamówienia w panelu administracyjnym, w postaci odznaki DDP lub DAP z kwotą i kierunkiem;
- na fakturze PDF, z odpowiednim oznaczeniem Incoterm (DDP: cła uregulowane przy zamówieniu; DAP: cła obciążają odbiorcę).
Gdy zamówienie jest w trybie DDP, ale bez zafakturowanych opłat (kwota 0, na przykład przy wymuszonym DDP dla kraju bez skonfigurowanej stawki), żadne z tych oznaczeń się nie pojawia: ani odznaka w panelu, ani blok po stronie klienta, ani adnotacja na fakturze.
Tłumaczenia
Wszystkie widoczne etykiety (blok w kasie, informacja w koszyku, szczegóły zamówienia, panel administracyjny, adnotacje na fakturze) są przetłumaczone. Moduł jest dostarczany z plikami tłumaczeń dla francuskiego, angielskiego, hiszpańskiego, niemieckiego, włoskiego i portugalskiego. Dowolny tekst możesz też zmienić w Ustawienia zaawansowane > Tłumaczenia > Tłumaczenia modułów w panelu administracyjnym.
FAQ i rozwiązywanie problemów
Blok wyboru się nie wyświetla
Sprawdź trzy rzeczy: moduł jest włączony, adres dostawy faktycznie leży poza skonfigurowanym terytorium celnym UE, a cennik daje kwotę większą od zera (uzupełniona stawka globalna lub stawka kraju, podstawa wyższa od progu zwolnienia). Dopóki stawka pozostaje na 0 procent bez opłat stałych, żaden blok się nie pojawia, z wyjątkiem kraju wymuszającego DDP, gdzie komunikat informacyjny jest wyświetlany nawet bez kwoty.
Kwota wygląda niepoprawnie przy wielu walutach
Opłaty stałe i progi wprowadza się w walucie domyślnej sklepu, a następnie są przeliczane na walutę koszyka według Twoich kursów wymiany. Sprawdź, czy kursy Twoich walut są aktualne.
Czy produkt „Opłaty celne” pojawia się w moim katalogu?
Nie. Jest tworzony z widocznością „nigdzie” i używany wyłącznie jako wewnętrzny nośnik fakturowania w trybie DDP. Nie usuwaj go ręcznie: odinstalowanie modułu robi to czysto.
Czy w trybie DDP muszę wysyłać inaczej?
Tak. W DDP pobrałeś cła od klienta, musisz więc wybrać usługę wysyłki DDP u swojego przewoźnika lub spedytora, który refakturuje Ci faktycznie uiszczone należności. Moduł obsługuje pobranie opłat i informowanie klienta, a nie samo zgłoszenie celne.
Co dzieje się przy odinstalowaniu?
Odinstalowanie usuwa hooki, zmienne konfiguracyjne, tabele modułu i wirtualny produkt opłat. W bazie nie pozostają żadne dane resztkowe.