# dfomnibus-woo — Conformità Direttiva Omnibus WooCommerce

> Il plugin DataFirefly Omnibus Compliance for WooCommerce rende il tuo negozio conforme alla direttiva europea 2019/2161, detta direttiva Omnibus, applicabile dal 28 maggio 2022. Raccoglie lo storico dei prezzi fin…

- Pagina: <https://www.datafirefly.com/it/documentation/dfomnibus-woo/>
- Lingua: it
- Aggiornato il: 2026-08-10
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfomnibus-woo/index.md), [en](https://www.datafirefly.com/en/documentation/dfomnibus-woo/index.md), [es](https://www.datafirefly.com/es/documentation/dfomnibus-woo/index.md), [de](https://www.datafirefly.com/de/documentation/dfomnibus-woo/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfomnibus-woo/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfomnibus-woo/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfomnibus-woo/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

Il plugin **DataFirefly Omnibus Compliance for WooCommerce** rende il tuo negozio conforme alla direttiva europea 2019/2161, detta direttiva Omnibus, applicabile dal 28 maggio 2022. Raccoglie lo storico dei prezzi fin dall'attivazione, calcola il prezzo di riferimento legale applicando le regole che quasi nessuno implementa e ti fornisce il fascicolo da consegnare in caso di controllo.

**Compatibilità:** WordPress 6.2 minimo, WooCommerce 8.0 minimo, PHP 8.0 minimo (compatibile con 8.1, 8.2 e 8.3). Compatibilità HPOS dichiarata. Prodotti semplici e variabili, multivaluta, WPML e Polylang. Nessuna dipendenza esterna, nessun CDN.

## Installazione

1. Scarica l'archivio `dfomnibus-woo-1.0.0.zip` dalla tua area cliente DataFirefly.
2. Nell'amministrazione WordPress vai su **Plugin, Aggiungi nuovo plugin, Carica plugin** e attivalo. WooCommerce deve essere attivo.
3. La raccolta parte subito: vengono create tre tabelle e una prima istantanea viene pianificata entro pochi minuti dall'attivazione.
4. Apri **WooCommerce, Omnibus Compliance** per configurare la visualizzazione e attivare la licenza.

**Tre tabelle create:** `wp_dfwomni_price_history` per le rilevazioni di prezzo, `wp_dfwomni_display_log` per il registro delle diciture servite e `wp_dfwomni_license_cache` per la cache di licenza. Il prefisso `wp_` viene sostituito automaticamente con il tuo.

## Il motore di calcolo

Il calcolo del prezzo di riferimento risiede in un motore senza dipendenze da WordPress, coperto da test unitari. Le regole vengono valutate in questo ordine.

### 1. Serie di riduzioni successive

Quando le promozioni si concatenano senza che il prodotto torni al prezzo non ridotto, il riferimento legale resta il prezzo praticato prima della _prima_ riduzione della serie. Non viene mai ricalcolato a ogni nuova promozione. Il plugin rileva queste catene, congela il riferimento e lo spiega nel backend, ad esempio «riferimento congelato dal 12 ottobre, promozioni successive in corso».

Una serie ha un limite temporale. Oltre 60 giorni per impostazione predefinita, regolabile da 30 a 120 giorni, si considera che il prezzo ridotto sia diventato il prezzo normale del prodotto: torna ad applicarsi la regola generale dei 30 giorni e il rapporto di conformità segnala una promozione permanente.

### 2. Caso normale, finestra ancorata

Il prezzo di riferimento è il più basso praticato nell'intervallo che va da 30 giorni prima dell'inizio della riduzione fino all'inizio della riduzione. La finestra è **ancorata** all'avvio della promozione: non scorre giorno dopo giorno mentre la promozione è attiva, a differenza di un minimo scorrevole che finirebbe per assorbire il prezzo promozionale stesso.

### 3. Prodotto commercializzato di recente

Per un prodotto in vendita da meno di 30 giorni, il riferimento è il prezzo più basso dalla messa in vendita, e la dicitura mostrata in negozio indica la durata reale di commercializzazione, come richiede la norma.

### 4. Dati insufficienti

Se lo storico raccolto non copre la finestra legale per un prodotto che non è recente, non viene restituito alcun riferimento e non viene mostrato nulla. Un riferimento mai realmente raccolto non deve mai essere mostrato né ricostruito a posteriori.

**Conseguenza pratica:** installa il plugin **prima** della tua stagione promozionale, non il giorno stesso. Lo storico non si ricostruisce retroattivamente. È la tua prova e può accumularsi solo in anticipo.

## Raccolta automatica

Due meccanismi lavorano in parallelo.

- **Istantanea quotidiana**: l'attività `dfwomni_daily_snapshot` percorre il catalogo e registra lo stato dei prezzi. Se l'ultima esecuzione risale a più di 24 ore, viene pianificato automaticamente un recupero una tantum `dfwomni_catchup_snapshot`.
- **Cattura per evento**: ogni variazione reale di prezzo viene registrata, che provenga dall'editor prodotto, da una modifica rapida o in blocco, da un'importazione CSV, da un aggiornamento REST o CRUD, da uno strumento di repricing, oppure dall'inizio e dalla fine delle promozioni programmate.

Una riga di storico equivale a una variazione di prezzo reale e i duplicati vengono scartati. I prezzi sono salvati grezzi con il loro contesto fiscale e la loro valuta, mai il prezzo già formattato.

### Rendere affidabile il cron su un negozio con poco traffico

WP-Cron viene eseguito solo al passaggio di un visitatore. Su un negozio poco frequentato, configura un vero cron di sistema:

```
*/15 * * * * wget -q -O /dev/null "https://tuo-negozio.com/wp-cron.php?doing_wp_cron"
```

La bacheca mostra un avviso se l'ultima istantanea risale a più di 48 ore.

## Impostazioni

Scheda **Impostazioni** della pagina WooCommerce, Omnibus Compliance.

- **Mostra il riferimento su**: solo prodotti scontati, che è il minimo legale, oppure tutti i prodotti con storico raccolto, una modalità trasparenza riservata alla licenza Pro.
- **Posizione della riga**: subito sotto il prezzo, oppure dopo il blocco prezzo nel riepilogo prodotto. Scegli la seconda opzione se il tuo tema riscrive il markup del prezzo.
- **Grafico 30 giorni**: propone la curva dei prezzi nella scheda prodotto, in canvas nativo di circa 3 KB e senza script esterni. Funzione Pro.
- **Testi personalizzati**: due modelli, la riga standard con il segnaposto `{price}` e la riga prodotto recente con `{price}` e `{days}`. Lasciali vuoti per usare i testi tradotti inclusi in francese, inglese, tedesco, spagnolo e italiano. Funzione Pro.
- **Esclusioni**: identificativi di prodotti e categorie che non mostrano mai la dicitura, utili per prezzi negoziati o B2B.
- **Soglie di audit**: numero di giorni oltre il quale una promozione viene segnalata come permanente, 60 per impostazione predefinita, ed età massima di una serie di riduzioni successive, 60 per impostazione predefinita.
- **Alla disinstallazione**: casella per eliminare anche lo storico raccolto. Non selezionata per impostazione predefinita, ed è una scelta voluta.

## Bacheca

La scheda **Bacheca** riunisce tre blocchi.

### Stato della raccolta

Numero di rilevazioni raccolte, numero di prodotti monitorati e data dell'ultima istantanea quotidiana, con l'avviso citato sopra se il cron non gira più.

### Rapporto di conformità

Audit calcolato in tempo reale sui tuoi dati più recenti, che elenca i prodotti la cui visualizzazione attuale potrebbe essere contestata durante un controllo. Quattro stati:

- **Riferimento mancante**: il prodotto è in promozione senza riferimento raccolto, lo sconto viene mostrato senza un prezzo precedente difendibile.
- **Promozione permanente**: la promozione dura da troppo tempo, il prezzo ridotto è diventato il prezzo normale e lo sconto annunciato è contestabile.
- **Prodotto recente**: informativo, la visualizzazione indica correttamente la durata reale di commercializzazione.
- **Riferimento congelato (serie)**: promozioni successive in corso, il riferimento non sarà ricalcolato finché il prodotto non torna a un prezzo non ridotto.

### Esportazioni con marca temporale

Due esportazioni CSV generate in streaming, con dominio e marca temporale UTC nel nome:

- **Storico dei prezzi**: tutte le rilevazioni raccolte.
- **Registro di visualizzazione**: quale riferimento è stato realmente servito, quando e su quale scheda prodotto.

Il rapporto di conformità, le esportazioni e il registro di visualizzazione fanno parte della licenza Pro. La raccolta non viene mai limitata.

## Storico dei prezzi

La scheda **Storico dei prezzi** mostra le rilevazioni prodotto per prodotto, con variante, valuta, prezzo regolare, prezzo promozionale, prezzo effettivo e origine della rilevazione. Quando un riferimento è congelato, vengono indicate la data e la ragione del congelamento.

## Pianificatore di congelamento

La tua prima promozione blocca il riferimento della successiva: ogni prezzo praticato nei 30 giorni precedenti una data chiave abbassa lo sconto che potrai annunciare quel giorno. Il pianificatore ragiona a ritroso.

Scegli una data commerciale dall'elenco incluso (Black Friday, Cyber Monday, Natale, saldi invernali ed estivi, San Valentino, festa della mamma e del papà) oppure inserisci una data personalizzata. Il pianificatore ti indica la data limite entro cui la tua ultima promozione deve terminare per preservare lo sconto previsto, e il periodo in cui ogni prezzo praticato alimenta la finestra legale. Un calendario sottoscrivibile raccoglie tutte le scadenze. Funzione Pro.

## Importazione di uno storico esistente

Se un'altra estensione ha già registrato i tuoi prezzi, quei dati sono insostituibili. La scheda **Importazione** analizza la struttura delle tabelle del tuo database, senza basarsi sul nome dell'estensione, e individua quelle che contengono un identificativo prodotto, un prezzo e una data, con rilevamento facoltativo di una colonna di variante. Le tabelle di sistema di WooCommerce e di Action Scheduler vengono ignorate.

La tabella mostra ogni candidata, le colonne rilevate e il numero di righe. L'importazione è idempotente: duplicati e righe inutilizzabili vengono contati separatamente e non inquinano mai il tuo storico. Funzione Pro.

## Licenza

La scheda **Licenza** mostra il piano attuale, la chiave mascherata e la data dell'ultima verifica. Inserisci la chiave ricevuta via e-mail dopo l'acquisto, nel formato `DFWOM-PRO-XXXX-XXXX-XXXX-XXXX`, poi clicca su Attiva.

Acquisto unico, 12 mesi di aggiornamenti, rimborso entro 30 giorni, codice sorgente non cifrato, un negozio per licenza. Se il server di licenze non è raggiungibile, il plugin mantiene tutte le funzioni per 7 giorni e poi torna al livello Free, senza mai rompere il tuo negozio. La raccolta dello storico non si interrompe mai, qualunque sia il piano.

### Cosa sblocca la licenza Pro

- Visualizzazione su tutti i prodotti con storico raccolto, e non solo su quelli scontati
- Testi della dicitura personalizzati
- Grafico dei prezzi su 30 giorni
- Pannello di difesa, rapporto di conformità e registro di visualizzazione
- Esportazioni CSV con marca temporale
- Pianificatore di congelamento
- Importazione di uno storico esistente

Sempre attivi, qualunque sia la licenza: la raccolta completa dello storico, la dicitura sui prodotti scontati e la consultazione dello storico nel backend.

## Risoluzione dei problemi

### Non compare alcuna dicitura

Verifica in quest'ordine:

1. Il prodotto è davvero in promozione? Per impostazione predefinita la dicitura compare solo sui prodotti scontati.
2. Lo storico raccolto copre la finestra richiesta? Su un'installazione recente la risposta è spesso no, ed è il comportamento previsto.
3. Il prodotto o la sua categoria figurano tra le esclusioni?
4. La bacheca segnala un'istantanea troppo vecchia? In tal caso rendi affidabile il cron.

### La dicitura compare in un punto inatteso

Passa la posizione su **dopo il blocco prezzo nel riepilogo prodotto**. Alcuni temi riscrivono il markup del prezzo e assorbono l'inserimento fatto subito sotto.

### L'ultima istantanea risale a più di 48 ore

WP-Cron dipende dal traffico. Configura il cron di sistema indicato sopra, oppure verifica che la costante `DISABLE_WP_CRON` non sia attiva senza un cron di sistema che la sostituisca.

### Il grafico non compare

Il grafico fa parte della licenza Pro e deve essere attivato nelle impostazioni. Verifica inoltre che lo storico del prodotto contenga abbastanza punti negli ultimi 30 giorni.

### L'importazione non rileva alcuna tabella

Il rilevamento è strutturale: una tabella candidata deve contenere una colonna con identificativo prodotto, una colonna prezzo decimale e una colonna data. Le tabelle native di WooCommerce e di Action Scheduler sono escluse di proposito.

## Domande frequenti

### Il riferimento viene ricalcolato a ogni nuova promozione?

No, ed è il punto più frainteso della regola. Finché il prodotto non torna a un prezzo non ridotto, il riferimento resta il prezzo praticato prima della prima riduzione della serie.

### I prodotti variabili sono supportati?

Sì. Il riferimento è calcolato per variante e non a livello di prodotto padre, e la dicitura si aggiorna quando il visitatore cambia variante.

### Che cosa succede alla disinstallazione?

Vengono rimossi le impostazioni, la cache di licenza e la relativa tabella. Lo storico dei prezzi e il registro di visualizzazione restano per impostazione predefinita, perché quei dati non possono essere ricostruiti. Spunta esplicitamente l'opzione di eliminazione nelle impostazioni se vuoi cancellare tutto.

### Il plugin rallenta il negozio?

No. La raccolta scrive una piccola riga per ogni variazione reale di prezzo, la visualizzazione legge un intervallo indicizzato breve con cache, e il grafico è circa 3 KB di codice nativo senza alcuna richiesta esterna.

### La multivaluta è gestita?

Sì. Ogni rilevazione porta con sé la propria valuta, quindi lo storico non viene mai convertito a posteriori.

## Changelog

### 1.0.0 - 10 agosto 2026

- Versione iniziale
- Doppia raccolta: istantanea quotidiana con recupero e cattura per evento delle variazioni di prezzo
- Prezzo di riferimento su una finestra di 30 giorni ancorata all'inizio della riduzione
- Regola delle riduzioni successive con congelamento del riferimento sul prezzo precedente alla serie
- Dicitura dedicata ai prodotti commercializzati di recente, con la durata reale di commercializzazione
- Pianificatore di congelamento e calendario delle scadenze
- Pannello di difesa, rapporto di conformità, esportazioni con marca temporale e registro di visualizzazione
- Importazione strutturale di uno storico prezzi esistente
- Riferimento per variante, rilevazioni multivaluta
- Traduzioni FR, EN, DE, ES, IT, compatibilità WPML e Polylang, compatibilità HPOS
