Prezzo per Paese, Negozio e Valuta: documentazione
Creare regole, capire il calcolo del prezzo, simulare, ricalcolare, annullare un ricalcolo e automatizzare con il cron.
Prezzo per Paese, Negozio e Valuta applica un coefficiente di margine e un arrotondamento psicologico per mercato, poi scrive il risultato come prezzi specifici nativi di PrestaShop. Questa guida copre installazione, creazione delle regole, calcolo del prezzo, simulazione, ricalcolo, annullamento di un ricalcolo e automazione tramite cron.
Installazione e aggiornamento
Il modulo è compatibile con PrestaShop da 8.0 a 9.x, in negozio singolo o multinegozio.
- Nel back office, apri Moduli > Gestore dei moduli, fai clic su Carica un modulo e seleziona il file ZIP.
- Il modulo crea le sue tabelle, una scheda DF Multi Price sotto Catalogo e un token per il cron.
- Apri la configurazione del modulo per impostare l’applicazione automatica, la dimensione dei lotti e recuperare l’URL del cron.
Arrivi dalla versione 1.0.0? Ricalcola le regole dopo l’aggiornamento, in particolare quelle legate a una valuta diversa da quella predefinita: la 1.0.0 salvava quei prezzi nella valuta sbagliata. Le regole esistenti mantengono il loro comportamento, con «Prezzo per ogni combinazione» e «Mantieni le promozioni attive» disattivate. Attivale in ogni regola se necessario.
Creare una regola di prezzo
Apri Catalogo > DF Multi Price e fai clic su Aggiungi una regola. Il modulo ha quattro blocchi.
Chi vede questo prezzo
- Negozio: un negozio o tutti. Con «Tutti i negozi», i prezzi base vengono letti dal negozio predefinito.
- Paese: la sua IVA serve a calcolare il prezzo IVA inclusa arrotondato. Un visitatore senza indirizzo è associato al paese predefinito del negozio, salvo se la geolocalizzazione è attiva, e cambiare valuta non cambia il suo paese. Una regola per un altro paese raggiunge quindi solo i clienti con un indirizzo in quel paese. Per una regola per valuta, lascia «Tutti i paesi».
- Valuta: crea una regola per valuta per controllare la terminazione in ciascuna. Con «Tutte le valute», il prezzo è espresso nella valuta predefinita e PrestaShop lo converte per le altre, che perdono la terminazione.
- Gruppo clienti: per listini B2B. Gli sconti di gruppo definiti in Clienti > Gruppi continuano ad applicarsi in aggiunta.
Quali prodotti
- Categoria: la categoria con tutte le sottocategorie, o tutto il catalogo.
- Marchio: limita la regola a un marchio.
- Prodotti esclusi: ID prodotto separati da virgole.
- Mantieni le promozioni attive: vedi la sezione dedicata più sotto.
Come si costruisce il prezzo
- Base di prezzo: prezzo di vendita IVA esclusa o prezzo di costo. Con il prezzo di costo, i prodotti che non lo hanno vengono ignorati.
- Coefficiente di margine: prezzo = base x coefficiente. 1,20 aggiunge il 20%. Usa 1 per applicare solo l’arrotondamento.
- Prezzo per ogni combinazione: consigliato. Ogni combinazione riceve il proprio prezzo, impatto incluso. Senza questa opzione, PrestaShop aggiunge l’impatto della combinazione dopo l’arrotondamento e la terminazione si perde.
- Arrotondamento: terminazione più vicina, sempre per eccesso, sempre per difetto o nessun arrotondamento.
- Terminazione psicologica: x,90, x,95, x,99, x,50 o x,00.
- Passo di arrotondamento: arrotonda al multiplo di un passo invece che a una terminazione. Passi disponibili: 0,05, 0,10, 0,20, 0,25, 0,50, 1, 5 e 10. La direzione segue il campo Arrotondamento: con 0,10 e Terminazione più vicina, 23,47 diventa 23,50; con 10 e Sempre per eccesso, 23,47 diventa 30; con 10 e Sempre per difetto, 20. Se è scelto un passo, sostituisce la terminazione. Il prezzo non viene mai arrotondato a zero: vale almeno un passo. «Nessuno» (predefinito) mantiene la terminazione.
- Arrotonda il prezzo IVA inclusa: consigliato in B2C. Disattivalo per listini B2B mostrati IVA esclusa: l’arrotondamento si applica allora al prezzo IVA esclusa.
Salvaguardie
- Prezzo minimo: prezzo mostrato minimo, nella valuta della regola. 0 = nessun minimo.
- Margine minimo sul costo: coefficiente sul prezzo di costo sotto il quale il prezzo non scende mai, ad esempio 1,15. Si applica ai prodotti con prezzo di costo. 0 = disattivato.
- Priorità: i valori bassi vengono eseguiti per primi. Se due regole puntano allo stesso negozio, paese, valuta e gruppo, la prima mantiene il prezzo e l’altra conta un conflitto.
- Attiva: disattivare una regola rimuove i prezzi che ha generato.
Come viene calcolato il prezzo finale
L’arrotondamento ha senso solo sull’importo mostrato al cliente. Il motore segue questa sequenza:
- Prezzo base IVA esclusa (combinazione inclusa se l’opzione è attiva) moltiplicato per il coefficiente.
- Conversione nella valuta della regola al tasso di cambio del negozio.
- Passaggio a IVA inclusa con l’IVA del paese della regola, più l’ecotassa se attiva in PrestaShop.
- Arrotondamento alla terminazione scelta, o al multiplo del passo se è impostato un passo di arrotondamento.
- Prezzo minimo, poi margine minimo, entrambi arrotondati per eccesso.
- Ritorno al prezzo IVA esclusa, salvato nella valuta della regola.
Esempio: un prezzo base di 69,99 € IVA esclusa, un coefficiente di 1,20, un’IVA del 19% e una terminazione x,99 danno 99,99 € IVA inclusa in negozio.
PrestaShop legge un prezzo specifico legato a una valuta in quella valuta, senza conversione. Per questo il modulo lo salva direttamente nella valuta della regola: una regola in sterline mostra l’importo in sterline calcolato dalla regola.
Verificare un prezzo in negozio
Il pannello Verifica un prezzo in negozio, sopra l’elenco delle regole, riproduce il calcolo di PrestaShop per un contesto preciso. Inserisci un ID prodotto, e un ID combinazione se serve, poi scegli il negozio, il paese (per impostazione predefinita quello del negozio), la valuta e il gruppo (Visitatore per impostazione predefinita). Il pannello mostra:
- il paese a cui sono associati i visitatori senza indirizzo e lo stato della geolocalizzazione;
- il prezzo mostrato, IVA esclusa o inclusa secondo il gruppo;
- il prezzo specifico usato da PrestaShop e la sua origine: regola del modulo, prezzo inserito a mano o regola di prezzo catalogo;
- lo stato di ogni regola: applicata, altro contesto (con il negozio, il paese, la valuta o il gruppo a cui punta), prodotto fuori dalla regola, da ricalcolare, promozione mantenuta o sovrascritta da un altro prezzo specifico.
L’elenco delle regole mostra anche un avviso quando una regola punta a un paese diverso dal paese predefinito del suo negozio senza geolocalizzazione, o quando una regola «Tutti i negozi» copre negozi con paesi predefiniti diversi.
Simulare prima di applicare
Nell’elenco delle regole, l’azione Simula apre una finestra che mostra, per i primi prodotti interessati, il prezzo attuale in negozio, il nuovo prezzo e la variazione in percentuale. Nulla viene salvato. I prodotti esclusi appaiono con il motivo: promozione attiva o nessun prezzo base.
L’azione Esporta anteprima CSV genera l’elenco completo (ID prodotto, ID combinazione, riferimento, nome, prezzo attuale, nuovo prezzo, prezzo memorizzato IVA esclusa, stato) in CSV separato da punto e virgola, leggibile in Excel.
Ricalcolare
- L’azione Ricalcola di una regola applica quella regola al catalogo.
- Il pulsante Ricalcola tutte le regole attive della barra degli strumenti esegue le regole in ordine di priorità.
L’elaborazione avviene a lotti con barra di avanzamento e poi un riepilogo:
- Creati, Aggiornati, Invariati: prezzi scritti dalla regola.
- Promozioni mantenute: prodotti lasciati invariati perché in promozione.
- Conflitti: prezzi già gestiti da una regola prioritaria con le stesse dimensioni.
- Ignorati: prodotti senza prezzo base utilizzabile.
- Rimossi: prezzi eliminati o restituiti al commerciante, ad esempio per un prodotto uscito dal perimetro della regola.
Una regola modificata dopo l’ultimo ricalcolo mostra l’indicatore Da ricalcolare nell’elenco. La dimensione dei lotti (da 10 a 500 prodotti) si imposta nella configurazione del modulo.
Annullare un ricalcolo
Ogni ricalcolo, manuale o tramite cron, memorizza lo stato precedente di ogni prezzo che modifica. Per tornare indietro:
- nell’elenco delle regole, usa l’azione Annulla l’ultimo ricalcolo;
- oppure, nella configurazione del modulo, fai clic su Annulla nella cronologia.
L’annullamento elimina i prezzi creati dal ricalcolo, restituisce il valore ai prezzi modificati e ricrea i prezzi rimossi. Funziona in ordine inverso: prima il ricalcolo più recente, poi il precedente, fino a 5 ricalcoli indietro per regola. Un ricalcolo interrotto (finestra chiusa durante l’elaborazione) può essere annullato un’ora dopo l’avvio.
Dopo l’annullamento, la regola mostra Da ricalcolare, perché i prezzi non corrispondono più alle sue impostazioni. Modifica la regola se necessario, simula e ricalcola.
La regola deve essere attiva per annullarne il ricalcolo. I ricalcoli eseguiti con la versione 1.0.0 o 1.1.0 non possono essere annullati: la funzione è disponibile dal primo ricalcolo eseguito con la 1.1.1.
Promozioni e prezzi manuali
PrestaShop applica un solo prezzo specifico per prodotto: vince il più preciso. Un prezzo per paese e valuta nasconderebbe quindi una promozione più ampia. Con Mantieni le promozioni attive, un prodotto con uno sconto attivo (non creato dal modulo) resta invariato e viene ripreso al primo ricalcolo dopo la fine della promozione. Pianifica il cron perché avvenga automaticamente.
Se esiste già un prezzo fisso manuale con le stesse dimensioni della regola, senza sconto né date, la regola lo riprende invece di creare un duplicato. Il valore originale viene conservato e restituito all’annullamento del ricalcolo, alla disattivazione o eliminazione della regola, o alla disinstallazione del modulo. Promozioni e prezzi con altre dimensioni non vengono mai modificati.
Automatizzare con il cron
L’URL del cron, protetto da token, è visibile nella configurazione del modulo:
https://iltuonegozio.com/index.php?fc=module&module=dfmultiprice&controller=cron&token=IL_TUO_TOKEN
Aggiungi &id_rule=3 per ricalcolare una sola regola. Pianifica l’URL presso il tuo hosting, ad esempio ogni notte: i prezzi seguono così le variazioni dei tassi di cambio e dei costi e la fine delle promozioni. Il cron restituisce un riepilogo JSON per regola e ogni esecuzione può essere annullata come un ricalcolo manuale. In caso di fuga del token, rigeneralo nella configurazione: il vecchio URL smette di funzionare.
Applicazione automatica
Se l’opzione è attiva, la creazione o la modifica di un prodotto o di una combinazione applica le regole attive a quel prodotto. Utile per le importazioni regolari.
PrestaShop non esegue gli hook di un modulo per un dipendente senza il permesso «Visualizza» su quel modulo. Mantieni il cron come rete di sicurezza.
Cronologia
La configurazione del modulo elenca gli ultimi 20 ricalcoli: data, regola, origine (manuale o cron), stato, contatori e numero di modifiche registrate per l’annullamento.
Disattivazione, eliminazione e disinstallazione
- Disattivare o eliminare una regola rimuove i prezzi che ha generato e restituisce il valore ai prezzi manuali che aveva ripreso.
- Duplicare una regola crea una copia disattivata, pronta da adattare a un altro mercato.
- La disinstallazione rimuove tutti i prezzi generati e restituisce il valore ai prezzi manuali ripresi.
Risoluzione dei problemi
Un prodotto non viene aggiornato
Verifica che sia attivo nel negozio della regola, che appartenga alla categoria e al marchio mirati e che non sia escluso. Avvia una simulazione: lo stato indica se è in promozione o senza prezzo base. Con la base «Prezzo di costo», serve un prezzo di costo.
Il prezzo mostrato non ha la terminazione corretta
Verifica che «Arrotonda il prezzo IVA inclusa» sia attivo e che il paese della regola corrisponda a quello del cliente. Per una combinazione con impatto, attiva «Prezzo per ogni combinazione». In una valuta diversa da quella della regola, PrestaShop converte il prezzo: crea una regola per quella valuta.
Il prezzo è giusto in euro ma non in un’altra valuta
La regola è impostata su «Tutte le valute»: il prezzo viene salvato nella valuta predefinita e PrestaShop lo converte, per esempio 23,90 € in 27,84 $. La terminazione non viene mantenuta. Il pannello Verifica un prezzo mostra allora lo stesso prezzo specifico nelle due valute. Crea una regola per valuta, con Paese su «Tutti i paesi», e ricalcola.
Una regola per paese non si applica ai visitatori
I visitatori senza indirizzo sono associati al paese predefinito del negozio. Una regola per un altro paese si applica solo ai clienti con un indirizzo in quel paese, o a tutti i visitatori di quel paese se la geolocalizzazione è attiva (Internazionale > Localizzazione > Geolocalizzazione).
La terminazione è sbagliata in un solo negozio
In multinegozio, l’arrotondamento usa l’IVA del paese predefinito del negozio a cui punta la regola. Una regola «Tutti i negozi» si basa sul negozio predefinito: se i tuoi negozi non hanno lo stesso paese predefinito, crea una regola per negozio.
La terminazione non compare sul prezzo IVA esclusa visto dai visitatori
Se il gruppo Visitatore mostra i prezzi IVA esclusa, disattiva «Arrotonda il prezzo IVA inclusa»: la terminazione si applica allora al prezzo IVA esclusa visto dai visitatori.
Il riepilogo mostra conflitti
Un’altra regola con lo stesso negozio, paese, valuta e gruppo gestisce già quei prezzi. Regola le priorità o unisci le due regole.
Il pulsante Annulla non appare
Si può annullare solo l’ultimo ricalcolo di ogni regola, purché sia stato eseguito con la 1.1.1 e rientri negli ultimi 5. Un ricalcolo in corso da meno di un’ora non è ancora annullabile.
Il cron restituisce «Invalid token»
Il token dell’URL non corrisponde più a quello memorizzato. Recupera l’URL aggiornato dalla configurazione.
Su alcuni prodotti compare un badge «-0,00 €»
Non è un problema del tema. PrestaShop 8.1 e successivi calcola lo sconto mostrato sottraendo il prezzo arrotondato a 2 decimali dal prezzo senza sconto, che mantiene 6 decimali. Poiché il prezzo di una regola è salvato IVA esclusa, il ritorno all’IVA inclusa lascia a volte uno scarto di 0,000001 con IVA al 19, 21 o 23%, che il tema mostra come uno sconto di -0,00 €. Dalla versione 1.1.4 il modulo annulla questo scarto sui propri prezzi: aggiorna il modulo e svuota la cache in Parametri avanzati > Prestazioni. Non serve alcun ricalcolo.