Pianificare le variazioni di prezzo in PrestaShop: prodotti, categorie e limiti dell'automazione
Ultimo aggiornamento: 1 luglio 2026. Verificato rispetto al comportamento nativo dei prezzi in PrestaShop e ai moduli mypresta.rocks rilasciati mprdynamicscheduleddiscounts 1.1.0 e mprmasspriceupdate 1.1.0.
Autore: team editoriale mypresta.rocks. Sviluppiamo moduli PrestaShop e gestiamo direttamente negozi PrestaShop, quindi questa guida si basa sul comportamento reale del back office nativo e sul codice dei moduli rilasciati, non solo sulla teoria dei prezzi.
"Posso programmare tutti i miei prezzi perché cambino il primo giorno del mese prossimo?" A volte sì. A volte no. L'errore è trattare ogni modifica di prezzo come lo stesso lavoro.
In PrestaShop, la pianificazione dei prezzi si divide in tre casi diversi: uno sconto temporaneo, una modifica permanente del prezzo base e una regola di attivazione basata su vendite o stock. Usa lo strumento nativo per il primo caso. Usa un editor massivo per le modifiche permanenti dei prezzi. Usa l'automazione solo quando la regola dipende dall'età dello stock, dallo storico vendite o da un controllo cron.
Confronto rapido
| Operazione sui prezzi | Nativa in PrestaShop? | Usa questo | Limite da ricordare |
|---|---|---|---|
| Un prodotto scontato per un intervallo di date | Sì | Prodotto > Prezzi > Prezzo specifico | È uno sconto temporaneo, non una riscrittura del prezzo base. |
| Sconto per categoria, marca o catalogo per un intervallo di date | Sì | Regola prezzo catalogo | La regola crea uno strato di sconto. I prezzi base dei prodotti restano invariati. |
| Aumento o riduzione permanente del prezzo base oggi | Non in modo pulito in una singola schermata nativa con anteprima | Mass Price Updater, importazione o script controllato | Stai modificando prezzi prodotto salvati. Anteprima e dati di rollback sono importanti. |
| Modifica permanente del prezzo base programmata per una data futura | Nessun pianificatore nativo in una sola schermata per prezzi base in massa | Operazioni programmate di Mass Price Updater | Il job viene eseguito da cron e salva snapshot di rollback prima di modificare le righe. |
| "Dopo la 100ª unità venduta, cambia il prezzo" | No | Automazione personalizzata basata sul conteggio vendite | La "quantità minima" di PrestaShop indica la quantità nel carrello corrente, non le unità vendute nel tempo. |
| Nessuna vendita da X giorni e stock sopra N | No | Smart Dynamic & Scheduled Discounts | Servono storico ordini, controlli stock, prezzo minimo, anteprima, cron e scadenza. |
| Finestra di sconto ricorrente nel weekend o giornaliera | Non come regola catalogo nativa ricorrente | Smart Dynamic & Scheduled Discounts | Nel modulo le finestre ricorrenti possono essere giornaliere, settimanali, mensili o personalizzate. |
Inizia dando un nome al lavoro
- Promozione programmata: una riduzione temporanea del prezzo con data di inizio e fine. Il prezzo originale torna quando la finestra temporale si chiude.
- Modifica permanente del prezzo base: il prezzo prodotto salvato cambia e resta cambiato. È un caso comune dopo variazioni dei costi dei fornitori.
- Automazione con trigger: il prezzo reagisce alle vendite o allo stato dello stock, per esempio quando non ci sono vendite recenti e la merce resta ancora in magazzino.
Gestiamo direttamente negozi PrestaShop. Gli errori sui prezzi che creano problemi di solito sono piccoli: una regola catalogo lasciata attiva troppo a lungo, uno scaglione quantità interpretato come trigger sulle vendite totali, oppure un aggiornamento del prezzo base fatto senza dati di rollback. Per questo questa guida separa gli strati di sconto dalle modifiche ai prezzi salvati.
Metodo nativo 1: pianificare un prodotto con Prezzi specifici
Per un prodotto e una finestra temporale, non installare nulla. Usa la schermata dei prezzi del prodotto.
- Apri Catalogo > Prodotti.
- Modifica il prodotto.
- Apri la scheda Prezzi.
- Aggiungi un Prezzo specifico.
- Imposta Quantità minima su
1, a meno che non si tratti di uno sconto quantità. - Scegli un prezzo fisso o una riduzione.
- Imposta le date Da e A.
- Salva e testa la pagina prodotto durante la finestra temporale.
Specific Price example
Product: Example Jacket
From quantity: 1
Available from: 2026-08-08 00:00:00
Available to: 2026-08-11 23:59:59
Reduction: 20 percent
Use this for:
"Questo prodotto sarà scontato del 20% il prossimo fine settimana."
Quindi? È il percorso nativo a rischio più basso quando lo sconto riguarda un solo prodotto. PrestaShop controlla già l'intervallo di date durante il calcolo del prezzo.
Metodo nativo 2: pianificare uno sconto categoria con Regole prezzi catalogo
Quando lo sconto copre un gruppo di prodotti, usa una regola prezzo catalogo. La dicitura esatta nel back office cambia tra PrestaShop 1.7, 8 e 9, ma l'idea è la stessa: definisci la regola di prezzo, poi definisci le condizioni.
- Apri Catalogo > Sconti.
- Crea una Regola prezzo catalogo.
- Dalle un nome chiaro, includendo campagna o stagione.
- Imposta Quantità minima su
1, a meno che tu non voglia uno scaglione quantità nel carrello. - Imposta l'intervallo di date.
- Scegli tipo e valore della riduzione.
- Aggiungi condizioni come categoria, produttore, attributo, caratteristica, fornitore o fascia di prezzo, in base alla versione e alla schermata PrestaShop.
- Salva la regola e controlla un prodotto dentro e uno fuori dal set di condizioni.
Catalog Price Rule example
Name: Weekend Outdoor 15 percent
From quantity: 1
From: 2026-08-07 00:00:00
To: 2026-08-10 23:59:59
Reduction: 15 percent
Conditions:
Category = Outdoor
Use this for:
"Questo fine settimana tutti i prodotti della categoria Outdoor sono scontati del 15%."
La parte importante: una regola prezzo catalogo resta uno strato di sconto. Non riscrive i prezzi base salvati dei tuoi prodotti.
La trappola della "quantità minima"
PrestaShop usa la quantità minima durante il calcolo del prezzo corrente. In parole semplici: quante unità ci sono nel carrello corrente o nella riga d'ordine. Non è un contatore delle vendite totali nel tempo.
- "Acquista 5 o più, risparmia il 10 percento": i Prezzi specifici nativi possono gestirlo.
- "Dopo aver venduto 100 unità in totale, aumenta il prezzo": non è nativo.
Non leggerlo come una promessa di funzionalità per i nostri moduli attuali. Un trigger "dopo la 100ª unità cumulativa venduta" non è incluso nei moduli discussi qui. Appartiene a una fase successiva di automazione, perché rimborsi, resi, combinazioni e stato multinegozio influenzano tutti il conteggio.
-- Concept only: a cumulative sales trigger needs order history,
-- not the current cart quantity used by from_quantity.
SELECT
od.product_id,
SUM(
od.product_quantity
- COALESCE(od.product_quantity_refunded, 0)
- COALESCE(od.product_quantity_return, 0)
) AS net_units_sold
FROM ps_order_detail od
INNER JOIN ps_orders o ON o.id_order = od.id_order
WHERE o.valid = 1
AND o.id_shop = 1
AND od.product_id = 123
GROUP BY od.product_id;
Una vera automazione dovrebbe controllare quali colonne per quantità rimborsate o rese esistono nella tua versione PrestaShop prima di eseguire una query del genere. Il valutatore delle giacenze ferme rilasciato fa proprio questo tipo di controllo delle colonne, consapevole della versione, per la propria logica sull'ultima vendita.
Le modifiche permanenti del prezzo base sono un altro lavoro
Se il tuo fornitore aumenta i costi e vuoi che ogni prodotto di una categoria salga dell'8 percento dal 1 agosto, una regola prezzo catalogo è lo strumento sbagliato. Non vuoi uno strato di sconto temporaneo. Vuoi che il prezzo base salvato cambi secondo una pianificazione.
Mass Price Updater 1.1.0 gestisce questa esigenza come job programmato. Nel codice, il modulo crea una riga in mprmasspriceupdate_job, aspetta fino a run_at, poi aggiorna tramite cron i campi prezzo in product e product_shop. Prima di modificare le righe prezzo, scrive i dati di rollback in mprmasspriceupdate_job_snapshot.
- Scegli l'ambito: tutti i prodotti, categoria, produttore o fornitore.
- Scegli il campo: prezzo base o prezzo all'ingrosso.
- Scegli la formula: aumento percentuale, riduzione percentuale, aumento fisso o riduzione fissa.
- Visualizza in anteprima i prodotti e i nuovi prezzi.
- Imposta data e ora della pianificazione.
- Lascia che cron esegua il job, poi usa la schermata Operazioni programmate per stato e rollback.
Scheduled base-price job example
Module: mprmasspriceupdate 1.1.0
Scope: category
Scope ID: 12
Field: price
Formula action: increase_percent
Formula value: 8
Run at: 2026-08-01 00:05:00
Preview required before scheduling: yes
Rollback table: mprmasspriceupdate_job_snapshot

L'automazione delle giacenze ferme richiede più delle date
Le giacenze ferme non sono solo "scontare il prodotto X tra due date". La regola che i merchant intendono di solito è condizionale:
IF product has no valid sale for 30 days
AND stock quantity is greater than 3
AND no active discount already applies
AND the final price stays above the floor
THEN apply a clearance discount
PrestaShop nativo non combina questi controlli per te. Smart Dynamic & Scheduled Discounts 1.1.0 aggiunge l'automazione per giacenze ferme con record di regole, record di ambito, record di applicazione, record di esecuzione e log in queste tabelle:
mprdsd_automation_rule
mprdsd_automation_rule_scope
mprdsd_automation_application
mprdsd_automation_run
mprdsd_automation_log
Il modulo non scrive righe native ps_specific_price per questa automazione e non sovrascrive i prezzi base dei prodotti. Genera target interni di campagna, poi lo sconto viene applicato durante il calcolo del prezzo PrestaShop tramite actionProductPriceCalculation. Questo mantiene il rollback più pulito: rimuovere i target generati interrompe lo sconto automatico senza provare a ricostruire i prezzi nativi.
Dead-stock rule example
Rule name: Warehouse clearance - slow movers
Active: yes
No Sale Days: 30
Stock Threshold: 3
Discount Type: Percentage
Discount Value: 15
Price Floor: Minimum margin percent
Floor Value: 20
Exclude Already Discounted Products: yes
Scope:
Include category: Clearance candidates
Exclude product: protected-margin SKU
Dry-run preview shows:
scanned
would discount
would expire
eligible
skipped
base price
discount
floor
final price
Dry-run writes: 0


Come appare il lato cron
Il task di automazione per giacenze ferme registrato da Smart Dynamic & Scheduled Discounts è evaluate_dead_stock_automation, pianificato come every:1800 nel modulo. Il runner cron condiviso MPR esegue i task in scadenza. Usa l'entry point cron generato nel tuo negozio e mantieni privato il token.
# Example MPR cron runner. Use the cron entry point generated in your shop.
*/5 * * * * php /var/www/html/modules/YOUR_MPR_CRON_MODULE/cron.php --token=YOUR_CRON_TOKEN --context=cron --max-tasks=20
# Registered task checked by the runner:
module=mprdynamicscheduleddiscounts
task_key=evaluate_dead_stock_automation
schedule=every:1800
Quale percorso dovresti scegliere?
- Sconto temporaneo su un prodotto: usa i Prezzi specifici nativi.
- Sconto temporaneo su una categoria o un segmento di catalogo: usa le Regole prezzi catalogo native.
- Modifica permanente in massa del prezzo base: usa Mass Price Updater o un altro processo controllato di modifica massiva con anteprima e dati di rollback.
- Modifica permanente futura del prezzo base: usa le operazioni programmate in Mass Price Updater.
- Svuotamento giacenze ferme basato su assenza di vendite recenti e livello stock: usa Smart Dynamic & Scheduled Discounts.
- Dopo N unità cumulative vendute: trattalo come automazione personalizzata. Non è nativo in PrestaShop e oggi non è un trigger rilasciato in questi moduli.
FAQ
PrestaShop può pianificare modifiche di prezzo in modo nativo?
Sì, per gli sconti temporanei. Usa i Prezzi specifici per un prodotto e le Regole prezzi catalogo per gruppi di prodotti. PrestaShop nativo non ti offre lo stesso flusso in una sola schermata per pianificare una futura modifica permanente in massa dei prezzi base.
"Quantità minima" significa unità vendute nel tempo?
No. Nei Prezzi specifici e nelle Regole prezzi catalogo, "quantità minima" è legata alla quantità nel carrello corrente o nella riga d'ordine. Non è un contatore storico delle vendite.
Posso pianificare uno sconto categoria senza un modulo?
Sì. Usa una Regola prezzo catalogo con intervallo di date e condizione categoria. È il percorso nativo per uno sconto temporaneo su una categoria.
PrestaShop può scontare automaticamente le giacenze ferme?
Non nativamente. Una regola per giacenze ferme richiede storico ordini, quantità stock, ambito, controlli sul prezzo minimo, anteprima, cron e scadenza. Smart Dynamic & Scheduled Discounts aggiunge questa automazione.
Smart Dynamic & Scheduled Discounts modifica i miei prezzi base?
No per l'automazione delle giacenze ferme descritta qui. Applica lo sconto a runtime tramite il calcolo prezzi di PrestaShop e target interni di campagna generati. Per questa automazione non scrive prezzi specifici nativi e non sovrascrive i prezzi base dei prodotti.
Quale modulo dovrei usare per modifiche permanenti dei prezzi base?
Usa Mass Price Updater quando vuoi modificare prezzi base o prezzi all'ingrosso salvati con una formula, visualizzare in anteprima i prodotti interessati, pianificare il job e mantenere snapshot di rollback.