# Automatyczna domyślna reguła podatku przy tworzeniu produktu

> 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…

- Strona: <https://www.datafirefly.com/pl/documentation/taxe-defaut-creation-produit/>
- Język: pl
- Zaktualizowano: 2026-07-30
- Inne języki: [fr](https://www.datafirefly.com/documentation/taxe-defaut-creation-produit/index.md), [en](https://www.datafirefly.com/en/documentation/taxe-defaut-creation-produit/index.md), [es](https://www.datafirefly.com/es/documentation/taxe-defaut-creation-produit/index.md), [de](https://www.datafirefly.com/de/documentation/taxe-defaut-creation-produit/index.md), [it](https://www.datafirefly.com/it/documentation/taxe-defaut-creation-produit/index.md), [pt](https://www.datafirefly.com/pt/documentation/taxe-defaut-creation-produit/index.md), [nl](https://www.datafirefly.com/nl/documentation/taxe-defaut-creation-produit/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## 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
