La direttiva europea 2019/2161, detta “Omnibus”, è applicabile dal 28 maggio 2022. Nel 2026, dopo quattro anni di applicazione e diverse ondate di controlli (DGCCRF in Francia, AGCM e Guardia di Finanza in Italia), la conformità non è più opzionale: le sanzioni arrivano fino al 4% del fatturato annuo per le inadempienze gravi, e le autorità di vigilanza hanno annunciato pubblicamente un’intensificazione dei controlli e-commerce nel 2025-2026 sui saldi, il Black Friday e gli annunci di promozione permanente.
Il problema: la regola Omnibus è semplice da enunciare, complessa da implementare tecnicamente e catastrofica per le promozioni se applicata male. Questo articolo seziona la regola, le trappole che uccidono le promo e la meccanica corretta su PrestaShop.
Cosa dice esattamente la direttiva Omnibus
Il Codice del consumo italiano, modificato dal D.Lgs. 26/2023 che recepisce la direttiva Omnibus, all’articolo 17-bis prevede:
“Ogni annuncio di riduzione di prezzo indica il prezzo precedente praticato dal professionista prima dell’applicazione della riduzione. Il prezzo precedente corrisponde al prezzo più basso praticato dal professionista nei confronti di tutti i consumatori nei trenta giorni precedenti l’applicazione della riduzione.”
Concretamente, si impongono quattro regole:
- Ogni promozione deve mostrare il prezzo di riferimento = prezzo più basso degli ultimi 30 giorni.
- Questo prezzo di riferimento deve essere visibile accanto al nuovo prezzo promozionale.
- Il calcolo è per prodotto e per referenza (combinazione di varianti), non per categoria.
- La percentuale di sconto mostrata deve essere calcolata su questo prezzo di riferimento, non su un prezzo gonfiato.
Le eccezioni e i casi particolari
Saldi ufficiali
La regola Omnibus si applica ai saldi. Il “prezzo di riferimento” mostrato in saldo deve essere il prezzo più basso praticato nei 30 giorni precedenti l’apertura dei saldi — non il prezzo barrato arbitrario dei produttori.
Promozione progressiva
Se applichi -20% la prima settimana, poi -30% la seconda, il prezzo di riferimento resta quello dei 30 giorni precedenti il PRIMO sconto. Il -30% si calcola rispetto al prezzo originale, non rispetto al prezzo promo precedente.
Nuovo prodotto (meno di 30 giorni)
Se il prodotto è in vendita da meno di 30 giorni, si prende il prezzo più basso da quando è stato messo in vendita. La regola non inventa un prezzo precedente — utilizza lo storico disponibile.
Derrate deperibili
Eccezione: prodotti freschi con scadenza ravvicinata. L’Omnibus si applica con flessibilità, ma la tracciabilità resta richiesta.
Prodotti non precedentemente commercializzati al pubblico
Uno sconto iniziale (“prezzo di lancio”) non deve mostrare un prezzo di riferimento. Ma non si può indicare un falso “prezzo barrato”.
La trappola che uccide le promo: il prezzo barrato gonfiato
Prima di Omnibus, molti e-commerciante allineavano il loro prezzo di vendita a un “prezzo di listino produttore” fantasioso e mostravano -50% in permanenza. Pratica morta nel 2022 e attivamente sanzionata nel 2025-2026.
Esempio tipico di un controllo: un negozio mostra un prodotto a 39,90 € con un prezzo barrato a 79,90 € (-50%). L’audit chiede lo storico dei prezzi. Il prodotto non è mai stato venduto sopra i 49,90 €. Sanzione: multa amministrativa, ritiro dell’affermazione promozionale, pubblicazione del controllo.
L’errore di fondo: confondere prezzo consigliato dal produttore (non opponibile) e prezzo di riferimento Omnibus (prezzo realmente praticato).
La meccanica tecnica su PrestaShop
PrestaShop 8 e 9 non gestiscono nativamente il prezzo di riferimento Omnibus. Il modulo catalogo gestisce le “riduzioni” e gli “specific prices”, ma senza storico degli ultimi 30 giorni né calcolo automatico del prezzo precedente reale.
L’implementazione manuale richiede quattro livelli:
1. Tracking dello storico dei prezzi
Una nuova tabella ps_price_history registra ogni modifica di prezzo per id_product e id_product_attribute, con timestamp. Innescata o da hook actionObjectProductUpdateAfter, o da un cron giornaliero che fa snapshot dei prezzi.
CREATE TABLE ps_price_history (
id_history INT AUTO_INCREMENT PRIMARY KEY,
id_product INT NOT NULL,
id_product_attribute INT DEFAULT 0,
id_shop INT NOT NULL,
id_currency INT NOT NULL,
price DECIMAL(20,6) NOT NULL,
date_change DATETIME NOT NULL,
INDEX idx_product_date (id_product, date_change)
) ENGINE=InnoDB;
2. Calcolo del prezzo di riferimento
Al momento di mostrare una promozione, il modulo calcola per ogni prodotto il prezzo più basso degli ultimi 30 giorni:
SELECT MIN(price) AS prezzo_riferimento
FROM ps_price_history
WHERE id_product = :product_id
AND id_product_attribute = :attribute_id
AND date_change >= DATE_SUB(NOW(), INTERVAL 30 DAY)
AND date_change < :promo_start_date;
3. Visualizzazione conforme
Sulla scheda prodotto e nei listing, il blocco prezzo mostra:
- Prezzo promozionale attuale (in grande)
- Prezzo di riferimento degli ultimi 30 giorni, barrato (“Prezzo precedente più basso (30g): 39,90 €”)
- Percentuale di sconto calcolata sul prezzo di riferimento
Opzionalmente, un tooltip o un link “Vedi storico prezzi” migliora la trasparenza (e disinnesca le contestazioni).
4. Tracciabilità per l’audit
In caso di controllo, devi poter produrre lo storico su richiesta. La tabella ps_price_history deve essere conservata almeno 2 anni, idealmente 5. Esportabile in CSV dal back-office.
Gli errori frequenti in produzione
- Calcolare il prezzo di riferimento sul prezzo IVA esclusa invece che IVA inclusa o viceversa. La regola si applica al prezzo pagato dal consumatore — quindi IVA inclusa per il B2C.
- Ignorare le varianti. Il prezzo di riferimento è per referenza fisica, non per prodotto padre.
- Non gestire il multi-valuta. Se vendi in euro e in dollari, lo storico deve essere per valuta.
- Resettare lo storico a ogni aggiornamento di catalogo. Una migrazione o un import massivo può sovrascrivere lo storico. Il modulo deve preservare lo storico passato.
- Mostrare il “prezzo consigliato produttore” al posto del prezzo di riferimento. È l’errore giuridico maggiore.
- Non coprire le pagine categoria e i listing. Se la scheda prodotto è conforme ma la card in categoria mostra un prezzo barrato gonfiato, sei in infrazione.
Il nostro modulo dfomnibus: conformità automatica
Implementare questa meccanica a mano è un progetto di 5-8 giorni di sviluppo, con test su multi-shop, multi-valuta e varianti. Il nostro modulo dfomnibus per PrestaShop 8 e 9 industrializza l’intero stack:
- Tracking automatico dello storico via hook sulla modifica di prezzo (senza cron, in tempo reale).
- Calcolo del prezzo di riferimento Omnibus per prodotto e per variante, con gestione multi-shop e multi-valuta.
- Visualizzazione conforme su schede prodotto, listing categoria, blocchi cross-sell, carrello.
- Tracciabilità auditabile: export CSV dello storico, pronto per l’autorità di controllo.
- Percentuale di sconto ricalcolata sul prezzo di riferimento, mai su un prezzo arbitrario.
- Compatibile con i saldi ufficiali e le promozioni programmate.
- Multilingue FR/EN/ES/DE per i negozi internazionali (la direttiva Omnibus si applica in tutta l’UE).
A 79 €, ti metti in conformità senza toccare il catalogo e senza rischi sulle promozioni future.
Oltre la conformità: la conversione
Paradossalmente, una promozione conforme a Omnibus converte spesso meglio di una promozione gonfiata. Il motivo: i consumatori sono diventati diffidenti di fronte ai prezzi barrati artificiali. Mostrare un prezzo di riferimento verificato e una percentuale onesta rafforza la credibilità. Sui negozi che abbiamo convertito alla conformità stretta, il tasso di click sulle card promozionali si è stabilizzato o è leggermente aumentato.
E soprattutto, la conformità elimina un rischio operativo maggiore: una segnalazione alle autorità (spesso fatta da un concorrente) innesca un audit che può paralizzare la strategia promozionale per mesi.
FAQ
La direttiva Omnibus si applica ai saldi?
Sì, integralmente. Il prezzo di riferimento mostrato in saldo deve essere il prezzo più basso praticato nei 30 giorni precedenti l’apertura dei saldi — non il “prezzo di listino” o il “prezzo consigliato produttore”. Le autorità di vigilanza hanno esplicitamente preso di mira i saldi 2024 e 2025 nei loro controlli e-commerce.
Cosa fare per i prodotti in promozione permanente?
La promozione “permanente” è incompatibile con Omnibus. Se un prodotto è in sconto -30% da tre mesi, il prezzo di riferimento è in realtà il prezzo scontato (perché è il prezzo più basso degli ultimi 30 giorni). Quindi -30% rispetto a… -30% = 0% di sconto reale visualizzabile. O si elimina la comunicazione promozionale, o si alternano periodi promozionali e periodi a prezzo normale.
Il modulo gestisce la retroattività?
Se installi dfomnibus oggi, lo storico parte dalla data di installazione. Per i controlli relativi a promozioni passate (prima dell’installazione), bisognerà produrre lo storico con altri mezzi (backup database, vecchi export CSV). Consigliamo di installare il modulo prima dei saldi o delle grandi operazioni promozionali, non il giorno stesso.
Quale sanzione in caso di non conformità?
Il Codice del consumo prevede sanzioni fino a 5 milioni di euro o al 4% del fatturato annuo per le inadempienze gravi (art. 27 c. 9 D.Lgs. 206/2005, come modificato). In pratica, le sanzioni AGCM sugli e-commerce nel 2024-2025 oscillano tra 10.000 € e 100.000 € secondo gravità e recidiva.
La direttiva Omnibus si applica fuori dall’UE?
No, è una direttiva europea. Ma se il tuo negozio vende a consumatori europei da un paese terzo (UK, Svizzera, US), sei soggetto alla regola per le vendite B2C nell’UE. Il criterio è il targeting del consumatore, non la sede del venditore.
Per approfondire
La conformità normativa nell’e-commerce 2026 si struttura attorno a tre pilastri: GDPR (Consent Mode v2), Omnibus (prezzo di riferimento) e settoriale (age gate, INCO, sicurezza prodotti). Vedi anche la nostra guida GDPR Consent Mode v2 PrestaShop e il recente dossier sulla verifica dell’età nell’e-commerce. Tre livelli indipendenti, da impilare in modo pulito.