PS PrestaShop Początkujący

Automatyczna domyślna reguła podatku przy tworzeniu produktu

Instalacja i konfiguracja automatycznego przypisywania grupy podatkowej do każdego nowo tworzonego produktu PrestaShop.

Zaktualizowano Wersja modułu 1.1.0

Do czego służy ten moduł

Od PrestaShop 1.7 nowo utworzony produkt nie ma żadnej reguły podatku: pole Reguła podatku w zakładce Ceny pozostaje na wartości „Brak podatku”, dopóki nie zmienisz jej ręcznie. Przy aktywnym katalogu o przeoczenie nietrudno, a produkt opublikowany bez VAT zafałszowuje cenę brutto wyświetlaną w sklepie oraz Twoją księgowość.

Ten moduł automatycznie przypisuje wybraną przez Ciebie grupę podatkową do każdego tworzonego produktu, bez żadnej interwencji. Tryb „zastępuj tylko, gdy puste” gwarantuje, że już wybrana reguła nigdy nie zostanie nadpisana.

Wymagania

  • PrestaShop 8.0 do 9.x
  • PHP 7.4 do 8.3
  • Co najmniej jedna aktywna grupa podatkowa skonfigurowana w Międzynarodowy > Podatki > Reguły podatków

Moduł nie tworzy żadnej reguły podatku. Jedynie przypisuje regułę, która już istnieje w Twoim sklepie. Jeśli lista reguł podatków jest pusta, utwórz regułę przed instalacją modułu.

Instalacja

  1. Pobierz archiwum ZIP ze swojego konta klienta DataFirefly.
  2. W panelu administracyjnym PrestaShop przejdź do Moduły > Menedżer modułów.
  3. Kliknij Załaduj moduł w prawym górnym rogu, a następnie upuść plik ZIP.
  4. Po zakończeniu instalacji kliknij Konfiguruj.

Ważne: dopóki nie wybierzesz grupy podatkowej w konfiguracji, moduł pozostaje celowo nieaktywny. To zabezpieczenie, które zapobiega przypisaniu niepożądanej reguły zaraz po instalacji.

Konfiguracja

Strona konfiguracji zawiera dwa ustawienia.

Grupa podatkowa do zastosowania

Lista rozwijana prezentuje wszystkie aktywne grupy podatkowe Twojego sklepu (na przykład „PL VAT 23%”). Wybierz tę, która ma być domyślnie przypisywana nowym produktom.

Pierwszą pozycją listy jest „Nic nie rób (wyłączone)”. Wybierz ją, jeśli chcesz tymczasowo zawiesić działanie modułu bez jego odinstalowania.

Nadpisuj istniejącą wartość

Ten przełącznik określa zachowanie modułu, gdy produkt ma już regułę podatku w momencie utworzenia.

  • Tak (domyślnie): skonfigurowana grupa jest zawsze przypisywana, niezależnie od istniejącej wartości.
  • Nie: grupa jest przypisywana tylko wtedy, gdy produkt nie ma żadnej reguły podatku. Już wypełniona wartość nigdy nie jest modyfikowana.

Ustaw tę opcję na Nie, jeśli regularnie duplikujesz produkty już poprawnie skonfigurowane: kopie zachowają wtedy regułę podatku produktu źródłowego.

Kliknij Zapisz, aby zatwierdzić. Moduł działa od razu.

Jak to działa

Moduł podpina się pod hook actionObjectProductAddAfter, wywoływany przez PrestaShop tuż po wstawieniu nowego produktu do bazy danych. Zapisuje wtedy pole id_tax_rules_group w tabelach product i product_shop.

Zgodność z kartą produktu v2

Nowa karta produktu w PrestaShop 8 działa inaczej niż poprzednia: gdy tylko klikniesz Nowy produkt, PrestaShop natychmiast tworzy produkt tymczasowy (nazywany czasem „produktem widmo”), zanim jeszcze cokolwiek wpiszesz. Produkt ten pojawia się w katalogu dopiero po pierwszym zapisie.

To właśnie w tym momencie moduł wkracza do akcji. Reguła podatku trafia więc do bazy jeszcze przed wyświetleniem formularza, a zakładka Ceny od razu pokazuje właściwą grupę.

Uwaga techniczna. Hook actionProductAdd, wbrew swojej nazwie, nie jest wywoływany przy zwykłym tworzeniu produktu: rdzeń PrestaShop uruchamia go wyłącznie podczas duplikacji. Dlatego moduł korzysta z generycznego hooka actionObjectProductAddAfter, który obejmuje wszystkie przypadki tworzenia.

Ukierunkowany zapis w bazie

Moduł aktualizuje wyłącznie kolumnę id_tax_rules_group, bezpośrednim zapytaniem SQL. Nie wywołuje Product::update(), dzięki czemu nie uruchamia niepotrzebnie hooków aktualizacji na jeszcze pustym produkcie. Żadne inne pole produktu nie jest modyfikowane i nie jest dodawany żaden override rdzenia.

Obsługiwane scenariusze

Sposób utworzenia Reguła przypisywana
Ręczne utworzenie w panelu (karta produktu v2) Tak
Duplikacja istniejącego produktu Tak (można wyłączyć opcją nadpisywania)
Import CSV Tak
Utworzenie przez Webservice / API Tak
Produkty istniejące przed instalacją Nie, moduł działa tylko przy tworzeniu

Moduł nie poprawia wstecznie produktów już obecnych w katalogu. W ich przypadku użyj natywnej edycji masowej PrestaShop lub modułu do aktualizacji zbiorczej.

Multisklep

Pole id_tax_rules_group jest przypisane do konkretnego sklepu. Moduł zapisuje więc wartość w tabeli product oraz w product_shop, w zakresie sklepów odpowiadającym kontekstowi utworzenia produktu.

Grupa podatkowa wybrana w konfiguracji jest natomiast wspólna dla całej instalacji. Jeśli Twoje sklepy potrzebują różnych reguł podatków, ustaw regułę najczęściej używaną, a wyjątki koryguj ręcznie.

Rozwiązywanie problemów

Reguła podatku nie jest przypisywana nowym produktom

Sprawdź po kolei:

  1. Czy grupa jest wybrana? Otwórz konfigurację modułu: jeśli lista pokazuje „Nic nie rób (wyłączone)”, moduł jest nieaktywny z założenia. Wybierz grupę i zapisz.
  2. Czy hook jest zarejestrowany? Jeśli aktualizowałeś moduł z wersji 1.0.0, używany hook się zmienił. Samo skopiowanie plików nie wystarczy: odinstaluj i zainstaluj moduł ponownie z Menedżera modułów, aby PrestaShop zarejestrował nowy hook.
  3. Czy pamięć podręczna jest wyczyszczona? Przejdź do Zaawansowane > Wydajność i wyczyść cache.
  4. Czy grupa podatkowa nadal istnieje? Jeśli wybrana grupa została w międzyczasie usunięta, moduł ze względów bezpieczeństwa nic nie robi. Wybierz inną grupę.

Zduplikowany produkt traci pierwotną regułę podatku

To oczekiwane zachowanie, gdy opcja Nadpisuj istniejącą wartość jest włączona: kopii przypisywana jest ponownie grupa domyślna. Ustaw opcję na Nie, aby duplikaty zachowywały regułę produktu źródłowego.

Cena brutto nie aktualizuje się w formularzu

Cena brutto jest obliczana po stronie przeglądarki na podstawie wybranej reguły podatku. Odśwież kartę produktu: reguła jest poprawnie zapisana w bazie, więc zakładka Ceny pokaże właściwą grupę i przeliczy cenę brutto.

Odinstalowanie

W Menedżerze modułów kliknij Odinstaluj. Moduł usuwa swoje dwa klucze konfiguracyjne i wypina się z hooków. Moduł nie tworzy żadnych tabel, a reguły podatków już przypisane produktom pozostają nienaruszone.

Historia wersji

1.1.0

  • Przejście na hook actionObjectProductAddAfter, obejmujący tworzenie przez kartę produktu v2 (produkt tymczasowy)
  • Potwierdzona zgodność z PrestaShop 8 i 9

1.0.0

  • Wersja początkowa: automatyczne przypisywanie grupy podatkowej przy tworzeniu
  • Konfiguracja grupy domyślnej i trybu nadpisywania
Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia