Regola fiscale predefinita automatica alla creazione prodotto
Installare e configurare l'assegnazione automatica del gruppo di imposte a ogni creazione di prodotto in PrestaShop.
A cosa serve questo modulo
Da PrestaShop 1.7, un prodotto appena creato non ha alcuna regola fiscale: il campo Regola fiscale della scheda Prezzi resta su «Nessuna imposta» finché non lo cambi a mano. In un catalogo attivo la dimenticanza è dietro l’angolo — e un prodotto pubblicato senza IVA falsa sia il prezzo IVA inclusa mostrato nel negozio sia la tua contabilità.
Questo modulo applica automaticamente il gruppo di imposte che scegli a ogni prodotto creato, senza alcun intervento. Una modalità «riempi solo quando vuoto» garantisce che una regola già scelta non venga mai sovrascritta.
Prerequisiti
- PrestaShop da 8.0 a 9.x
- PHP da 7.4 a 8.3
- Almeno un gruppo di imposte attivo configurato in Internazionale > Imposte > Regole fiscali
Il modulo non crea alcuna regola fiscale. Si limita ad applicare una regola già esistente nel tuo negozio. Se il tuo elenco di regole fiscali è vuoto, creane una prima di installare il modulo.
Installazione
- Scarica l’archivio ZIP dal tuo account cliente DataFirefly.
- Nel back office di PrestaShop, vai su Moduli > Gestore moduli.
- Clicca su Carica un modulo in alto a destra, poi rilascia il file ZIP.
- A installazione completata, clicca su Configura.
Importante: finché non scegli un gruppo di imposte nella configurazione, il modulo resta volutamente inattivo. È una sicurezza per evitare che applichi una regola indesiderata subito dopo l’installazione.
Configurazione
La pagina di configurazione presenta due impostazioni.
Gruppo di imposte da applicare
Un menù a tendina elenca tutti i gruppi di imposte attivi del tuo negozio (ad esempio «FR TVA 20%»). Scegli quello da applicare per impostazione predefinita ai nuovi prodotti.
La prima voce dell’elenco è «Non fare nulla (disattivato)». Selezionala se vuoi sospendere temporaneamente il modulo senza disinstallarlo.
Sovrascrivi il valore esistente
Questo interruttore determina il comportamento del modulo quando un prodotto possiede già una regola fiscale al momento della creazione.
- Sì (predefinito): il gruppo configurato viene sempre applicato, qualunque sia il valore esistente.
- No: il gruppo viene applicato solo se il prodotto non ha alcuna regola fiscale. Un valore già impostato non viene mai modificato.
Imposta questa opzione su No se duplichi regolarmente prodotti già configurati correttamente: le copie manterranno così la regola fiscale del prodotto di origine.
Clicca su Salva per confermare. Il modulo è attivo immediatamente.
Come funziona
Il modulo si aggancia all’hook actionObjectProductAddAfter, attivato da PrestaShop subito dopo l’inserimento di un nuovo prodotto nel database. Scrive quindi il campo id_tax_rules_group nelle tabelle product e product_shop.
Compatibilità con la pagina prodotto v2
La nuova pagina prodotto di PrestaShop 8 funziona in modo diverso dalla precedente: appena clicchi su Nuovo prodotto, PrestaShop crea immediatamente un prodotto temporaneo (a volte chiamato «prodotto fantasma») ancor prima che tu abbia digitato qualcosa. Quel prodotto compare nel catalogo solo dopo il primo salvataggio.
È proprio in quel momento che il modulo interviene. La regola fiscale viene quindi scritta nel database prima ancora che il modulo sia visualizzato, e la scheda Prezzi mostra direttamente il gruppo corretto.
Nota tecnica. L’hook actionProductAdd, nonostante il nome, non viene attivato durante una normale creazione di prodotto: il core di PrestaShop lo richiama solo quando un prodotto viene duplicato. Per questo motivo il modulo usa l’hook generico actionObjectProductAddAfter, che copre correttamente tutti i casi di creazione.
Scrittura mirata nel database
Il modulo aggiorna esclusivamente la colonna id_tax_rules_group, tramite una query SQL diretta. Non richiama Product::update(), evitando così di attivare inutilmente gli hook di aggiornamento su un prodotto ancora vuoto. Nessun altro campo del prodotto viene toccato e non viene aggiunto alcun override del core.
Casi di creazione coperti
| Metodo di creazione | Regola applicata |
|---|---|
| Creazione manuale nel back office (pagina prodotto v2) | Sì |
| Duplicazione di un prodotto esistente | Sì (disattivabile tramite l’opzione di sovrascrittura) |
| Importazione CSV | Sì |
| Creazione tramite Webservice / API | Sì |
| Prodotti già esistenti prima dell’installazione | No — il modulo agisce solo alla creazione |
Il modulo non corregge retroattivamente i prodotti già presenti nel tuo catalogo. Per quelli, usa la modifica in blocco nativa di PrestaShop o un modulo di aggiornamento massivo.
Multistore
Il campo id_tax_rules_group è specifico per ogni negozio. Il modulo scrive quindi il valore nella tabella product e anche in product_shop, sull’ambito di negozi corrispondente al contesto di creazione del prodotto.
Il gruppo di imposte scelto nella configurazione è invece comune a tutta l’installazione. Se i tuoi negozi necessitano di regole fiscali differenti, applica quella più frequente e correggi manualmente le eccezioni.
Risoluzione dei problemi
La regola fiscale non viene applicata ai nuovi prodotti
Verifica nell’ordine:
- È davvero selezionato un gruppo? Apri la configurazione del modulo: se l’elenco mostra «Non fare nulla (disattivato)», il modulo è inattivo per scelta progettuale. Scegli un gruppo e salva.
- L’hook è registrato correttamente? Se hai aggiornato il modulo dalla versione 1.0.0, l’hook utilizzato è cambiato. Copiare i file non basta: disinstalla e reinstalla il modulo dal Gestore moduli affinché PrestaShop registri il nuovo hook.
- Hai svuotato la cache? Vai su Parametri avanzati > Prestazioni e svuota la cache.
- Il gruppo di imposte esiste ancora? Se il gruppo selezionato è stato nel frattempo eliminato, il modulo non fa nulla, per sicurezza. Selezionane un altro.
Un prodotto duplicato perde la sua regola fiscale originale
È il comportamento previsto quando l’opzione Sovrascrivi il valore esistente è attiva: il gruppo predefinito viene riapplicato alla copia. Imposta l’opzione su No affinché le duplicazioni mantengano la regola del prodotto di origine.
Il prezzo IVA inclusa non si aggiorna nel modulo
Il prezzo IVA inclusa viene calcolato lato browser a partire dalla regola fiscale selezionata. Ricarica la pagina del prodotto: poiché la regola è correttamente salvata nel database, la scheda Prezzi mostrerà il gruppo giusto e ricalcolerà il prezzo.
Disinstallazione
Dal Gestore moduli, clicca su Disinstalla. Il modulo elimina le sue due chiavi di configurazione e si sgancia dagli hook. Questo modulo non crea alcuna tabella, e le regole fiscali già applicate ai tuoi prodotti vengono conservate così come sono.
Cronologia delle versioni
1.1.0
- Passaggio all’hook
actionObjectProductAddAfterper coprire la creazione dalla pagina prodotto v2 (prodotto temporaneo) - Compatibilità confermata con PrestaShop 8 e 9
1.0.0
- Versione iniziale: assegnazione automatica del gruppo di imposte alla creazione
- Gruppo predefinito e modalità di sovrascrittura configurabili