v2.5.3 Ultima versione

Correzione

Correzione Multicompany: sulle installazioni in cui Doli2Shop è configurato su un'entità diversa dalla prima, nessun webhook veniva accettato. Il punto di ingresso girava sempre nella prima entità e lì non trovava il segreto di firma: ordini, prodotti e spedizioni non arrivavano più, senza alcun messaggio di errore, e nulla veniva conservato per essere ripetuto

Correzione

Correzione Multicompany: le foto dei prodotti non arrivavano mai a Shopify. Dolibarr archivia i documenti in una sottocartella che porta il numero dell'entità, che il modulo non riconosceva — la schermata di diagnostica annunciava «nessun prodotto con almeno una foto» mentre l'ERP le mostrava

Correzione

Correzione Multicompany: l'IVA degli ordini importati veniva calcolata con la scheda azienda della prima entità anziché con quella dell'azienda interessata

Correzione

Correzione Multicompany: le corrispondenze di pagamento predefinite (carta, bonifico, assegno, PayPal…) non venivano mai create su un'entità secondaria. Ora vengono impostate per entità e non sovrascrivono mai una corrispondenza da voi modificata

Correzione

Correzione, tutte le installazioni: per ogni prodotto e a ogni sincronizzazione veniva scritto un avviso secondo cui la foto non era indicizzata, anche quando lo era perfettamente — e ogni prodotto veniva letto due volte dal disco

Correzione

Correzione, tutte le installazioni: le foto dei vostri prodotti venivano duplicate a ogni notifica di Shopify — bastava un cambio di prezzo o di giacenza per depositarne un'altra copia. Un cliente aveva quattro esemplari della stessa immagine su un solo prodotto, tre dei quali creati lo stesso giorno. Per i duplicati già accumulati è disponibile una schermata di pulizia: mostra ciò che verrà eliminato prima di agire e non tocca mai una foto caricata da voi

Miglioramento

Nuovo documento, in cinque lingue: la procedura di messa in produzione per collegare Doli2Shop a un Dolibarr che contiene già il vostro storico commerciale — il caso di un negozio migrato su Shopify da PrestaShop, WooCommerce o Magento. Indica inoltre, esplicitamente, ciò da cui non protegge

v2.5.2

Correzione

Correzione critica: su alcune installazioni, la connessione a Shopify doveva essere ristabilita manualmente ogni giorno. Il negozio predefinito conservava due copie delle proprie credenziali e il rinnovo automatico ne aggiornava soltanto una; poiché un token Shopify è monouso, la copia dimenticata scadeva. Ora entrambe le copie vengono mantenute allineate

Correzione

Correzione: l'etichetta di ogni variante veniva sostituita dal titolo del prodotto principale a ogni aggiornamento proveniente da Shopify, anche per una semplice modifica di prezzo o di giacenza. Le etichette vengono ora ricalcolate come alla creazione, e lo strumento di riparazione le ritrova anche quando sono già state collegate una prima volta

Correzione

Correzione: nella schermata dei webhook, il pulsante di salvataggio non aveva alcun effetto — l'elenco degli eventi monitorati non poteva essere modificato. Un difetto di struttura della pagina impediva l'invio del modulo

Correzione

Correzione: la schermata di sincronizzazione dei prodotti e l'attività pianificata non consideravano lo stesso perimetro. Un prodotto collocato in una sottocategoria veniva sincronizzato senza mai comparire sulla schermata, che segnalava «nessun prodotto». Entrambe condividono ora la stessa definizione, e una nuova data di messa in servizio consente di escludere gli ordini precedenti al passaggio a Shopify

Correzione

Correzione: sulle installazioni con più negozi, i contatori della schermata di sincronizzazione contavano ogni prodotto tante volte quanti erano i negozi in cui era presente. I totali visualizzati diminuiranno quindi: ora sono corretti

Correzione

Correzione: l'importazione degli ordini storici non indicava mai il proprio stato — «completata» rimaneva sempre su no, le statistiche restavano vuote e modificare la data di inizio in corso d'opera non aveva effetto. L'importazione riporta ora il proprio avanzamento e non può più dichiararsi completata dopo un errore

Miglioramento

Miglioramento della robustezza: una richiesta mal formata inviata al servizio di fatturazione riceve ora una risposta di errore chiara invece di un errore del server, e nessun messaggio tecnico interno viene restituito al chiamante

v2.5.0

Nuovo

Novità: ogni flusso di sincronizzazione (prodotti, giacenze, prezzi, ordini) ha ora una propria direzione configurabile — da Dolibarr a Shopify, da Shopify a Dolibarr, o entrambe. Decidete voi, flusso per flusso, quale sistema fa riferimento

Nuovo

Novità: un'API di controllo consente di avviare e seguire le sincronizzazioni dai vostri strumenti

Miglioramento

Il modulo è ora disponibile in cinque lingue: francese, inglese, tedesco, spagnolo e italiano

Correzione

Correzione critica: l'attività pianificata di recupero delle spedizioni non si avviava più affatto, senza lasciare la minima traccia in Dolibarr — soltanto il registro del server la conservava. Un controllo automatico impedisce ora il ripresentarsi di questo tipo di guasto silenzioso

Correzione

Correzione: altre due attività pianificate fallivano per un motivo affine, tra cui il controllo dello stato dei webhook — che si guastava proprio nel momento in cui registrava un incidente, ossia quando serviva di più

Correzione

Correzione: i prodotti con varianti generavano una trentina di avvisi a ogni sincronizzazione delle immagini

v2.4.8

Correzione

Correzione critica: consultare una pagina poteva rendere inutilizzabili i pulsanti di un'altra. Le chiamate interne del modulo rinnovavano il token di sicurezza della sessione, e la pagina Stato ne attiva uno per negozio all'apertura: su un'installazione con tre negozi, la semplice consultazione di quella pagina bastava a far respingere in silenzio i clic della pagina Webhook

Correzione

Correzione: trenta azioni distribuite su nove pagine di amministrazione potevano essere respinte senza messaggio né traccia quando il token di sicurezza veniva rifiutato — tra cui il collegamento di un numero di licenza a un negozio, che poteva quindi fallire senza alcuna indicazione. Tutte mostrano ora un errore esplicito

Correzione

Correzione: una sincronizzazione poteva spegnere i webhook degli altri negozi

v2.4.7

Correzione

Correzione: nella schermata dei webhook compariva «Configurazione salvata» senza che lo stato cambiasse. Visualizzazione e salvataggio non consultavano la stessa riga del database: si disattivava un webhook, la pagina confermava e nulla si muoveva

Correzione

Correzione: la disattivazione rimuove ora ogni abbonamento interessato e non più soltanto il primo trovato — una riga gemella non può più far riapparire un webhook appena rimosso. L'attivazione riutilizza un abbonamento già presente invece di crearne un altro

Correzione

Le incoerenze eredidate dalle installazioni precedenti al supporto multi-negozio vengono corrette lungo il percorso: una riga rimasta «attiva» senza abbonamento reale viene ripristinata

v2.4.6

Correzione

Correzione: con più negozi collegati, la pagina Webhook mostrava il negozio selezionato ma salvava su un altro — impossibile disattivare un webhook e il pulsante «Salva» sembrava non fare nulla. Visualizzazione e salvataggio condividono ora lo stesso filtro per negozio, e ogni errore viene mostrato per esteso invece di un messaggio vuoto

Correzione

Correzione critica: sulle installazioni con sicurezza rafforzata (token anti-CSRF rinnovato a ogni pagina), tutte le azioni di amministrazione del modulo venivano rifiutate in silenzio — procedura guidata di configurazione compresa. La verifica è ora allineata al cuore di Dolibarr e ogni rifiuto viene sempre segnalato a schermo

Miglioramento

Robustezza: un incidente del database durante il salvataggio dei webhook non produce più una pagina bianca — l'errore viene mostrato con il webhook interessato e i successivi vengono comunque elaborati

v2.4.5

Miglioramento

L'invio delle giacenze a Shopify diventa asincrono: la convalida di una fattura risponde subito, anche se Shopify è lento o irraggiungibile (niente più convalide di diversi minuti). Un'attività pianificata invia le giacenze ogni 5 minuti, raggruppando i movimenti e riprovando automaticamente dopo un errore

Correzione

Correzione critica: su Dolibarr da 18 a 22, il collegamento di un negozio restituiva un errore 500 al ritorno da Shopify e il negozio andava perso — il modulo usava una funzione del core introdotta solo a fine 2025

Correzione

Correzione: sugli hosting in modalità SQL rigorosa i webhook non venivano mai registrati — le date inviate da Shopify erano rifiutate dal database. Ora vengono convertite e memorizzate in ora universale

Nuovo

Nuovo strumento «Correzione sconti»: ripara gli ordini importati prima della 2.2.9 il cui sconto percentuale risultava sottostimato — anteprima prima dell'applicazione, solo bozze, traccia di audit preservata

Miglioramento

Collegamento di un negozio: l'errore «Salvataggio delle credenziali non riuscito» indica finalmente la causa reale, e un database incompleto viene segnalato con le istruzioni da seguire (pagine Diagnostica e Stato di salute)

v2.4.4

Correzione

Correzione: i prodotti con varianti importati da Shopify non creavano una vera variante Dolibarr — il collegamento prodotto/variante restava invisibile nell'interfaccia e l'etichetta della variante poteva restare identica a quella del prodotto padre

Nuovo

Nuovo pulsante «Ripara varianti»: collega a posteriori i cataloghi già importati, senza reimportare né duplicare, a lotti e senza rischi in caso di riesecuzione

v2.4.3

Correzione

Correzione: l'importazione di prodotti con varianti falliva quando uno stesso riferimento (SKU) è condiviso tra più prodotti Shopify — il modulo ora riutilizza il prodotto esistente invece di fallire e mostra il motivo di errore completo in caso di altri problemi

Correzione

Correzione: le righe d'ordine provenienti da app di pack/bundle ("componi il tuo pack") non venivano create in Dolibarr — i prodotti fatturabili raggruppati in un bundle ora vengono importati correttamente (i componenti gratuiti a 0 € restano ignorati)

v2.4.2

Correzione

Correzione critica: lo stock di Dolibarr non veniva mai inviato a Shopify (riassortimenti, produzione interna, correzioni manuali) — lo stock Shopify derivava a ogni vendita, fino a valori negativi errati. Ogni movimento di stock Dolibarr è ora sincronizzato in tempo reale verso Shopify (valore assoluto, mai negativo)

Nuovo

Nuovo pulsante "Riallinea lo stock verso Shopify": invia in una volta lo stock Dolibarr di tutti i prodotti mappati — ripara immediatamente i valori Shopify falsati in passato, senza attendere il prossimo movimento di ogni prodotto

Miglioramento

Multi-negozio: lo stock viene inviato a ogni negozio in cui il prodotto è mappato, con le credenziali proprie di ciascun negozio

Miglioramento

Osservabilità: ogni invio di stock è tracciato nel registro delle azioni, e lo stato "ultimo riallineamento" (data, prodotti, errori) è visualizzato nell'amministrazione

v2.4.1

Sicurezza

Conformità Shopify 2026: gestione nativa dei token OAuth scadenti (token di accesso di 60 minuti + token di aggiornamento), richiesti da Shopify entro il 1 gennaio 2027 — rinnovo automatico trasparente, i negozi già connessi migrano con un clic tramite il pulsante "Riconnetti"

Nuovo

Nuova API Collections di Shopify 2026-07: le collezioni create con il nuovo modello (rollout Shopify dal 1 luglio 2026) sono ora visibili e sincronizzate — nessuna sparizione silenziosa

Correzione

Correzione critica: sincronizzazione prodotti/stock resa più affidabile — una variante disattivata a volte restava visibile su Shopify, e le divergenze di stock (a volte negative) non venivano più corrette silenziosamente; gli errori sono ora registrati e mostrati

Miglioramento

Diagnostica istantanea: i test di connessione e stato per negozio vengono ora eseguiti in background, senza rallentare la pagina

Miglioramento

Telemetria più affidabile: il modulo ora comunica il proprio dominio reale e la versione Dolibarr su tutti i canali, eliminando le false installazioni in sospeso

v2.4.0

Nuovo

Multi-negozio: più negozi Shopify configurabili su una singola installazione Dolibarr, con licenza, impostazioni e navigazione propri di ciascun negozio (la contabilità resta sempre unica)

Nuovo

Diagnostica dello stato dettagliata per negozio: connessione e webhook, licenza, contatori di sincronizzazione — ogni negozio viene verificato in modo indipendente

Miglioramento

Selettore negozio più grande e barra di contesto ridisegnata su tutte le pagine di amministrazione multi-negozio

Correzione

Correzione critica: una spedizione rimasta in bozza dopo un errore (magazzino/stock) non veniva mai recuperata automaticamente — ora viene convalidata e chiusa dal processo di recupero periodico

Correzione

Correzione di visualizzazione: caratteri accentati codificati in modo errato (doppia codifica) corretti in tutta l'interfaccia di amministrazione

Correzione

Correzione: lo stato della licenza di un negozio poteva restare bloccato su "sconosciuto" — la verifica ora è affidabile e non declassa mai un negozio predefinito

v2.3.2

Correzione

Correzione critica: alcuni ordini non venivano più recuperati da Shopify (regressione introdotta nella 2.3.0) — la sincronizzazione degli ordini torna a funzionare normalmente

Correzione

Correzione: i webhook registrati su una versione API Shopify obsoleta vengono ora ri-registrati automaticamente durante i controlli di stato, per ciascun negozio

Correzione

Correzione: blocco all'attivazione del modulo sulle installazioni multi-negozio (pagina bianca)

Sicurezza

Sicurezza: la connessione di un negozio Shopify non può più avvenire tramite inserimento manuale di un token — solo tramite il flusso OAuth sicuro di Shopify

v2.3.0

Nuovo

Multi-negozio (fondamenta): più negozi Shopify gestiti da una singola installazione Dolibarr con contabilità unica — il negozio esistente viene migrato automaticamente, senza alcuna interruzione del servizio

Nuovo

Nuova interfaccia di amministrazione dei negozi: aggiungere, connettere, gestire webhook e licenza, negozio per negozio

Sicurezza

Sicurezza: la connessione Shopify è ora protetta da chiavi crittografiche (OAuth RSA) invece di un segreto condiviso

Nuovo

Nuovi strumenti di supporto: esportazione del JSON completo di un ordine per accelerare la diagnostica

Nuovo

Gli indirizzi di spedizione e fatturazione sono ora visualizzati direttamente sulla scheda ordine

Sicurezza

Sicurezza: protezione CSRF rafforzata sulle azioni sensibili (configurazione, licenza)

v2.2.9

Correzione

Correzione: sconti percentuali sottovalutati — lo sconto veniva calcolato sulla base imponibile e poi diviso una seconda volta per (1 + IVA) come se fosse un importo IVA inclusa. Gli ordini con codice promozionale percentuale ritrovano l'importo esatto mostrato da Shopify (es. 5% = −151,20 € IVA inclusa, non −126 €)

Miglioramento

Documentazione: tabella delle 4 regole di decremento dello stock di Dolibarr (ordine, fattura, spedizione, chiusura spedizione) e raccomandazione per i negozi misti banco TakePOS + Shopify

v2.2.8

Correzione

Correzione critica: lo stock non veniva decrementato durante l'importazione degli ordini Shopify — il magazzino non veniva trasmesso alla convalida della fattura. Le 4 regole di decremento dello stock di Dolibarr (ordine, fattura, spedizione, chiusura spedizione) sono ora coperte

Correzione

Correzione: la migrazione dei permessi v2.2.4 (cambio di ID del modulo) viene ora eseguita automaticamente all'attivazione — i diritti degli utenti sono preservati durante l'aggiornamento da una versione precedente alla 2.2.4

Correzione

Correzione webhook: URL di callback errato (percorso /custom/ mancante) in assenza di configurazione esplicita, e il parametro dei giorni di conservazione degli eventi è ora rispettato dalla pulizia

Miglioramento

Robustezza: avvisi espliciti nei log quando nessun magazzino può essere risolto, e protezioni contro errori fatali se la sincronizzazione in uscita Dolibarr → Shopify (prevista per la v2.4.x) viene attivata prematuramente

v2.2.7

Correzione

Correzione critica: chiamate all'API documenti con errore 404 su installazioni in sottodirectory — uno slash iniziale sovrascriveva il percorso della sottodirectory (issue #288)

Correzione

Tutti i punti di accesso ai documenti (immagini prodotti e categorie) rispettano ora correttamente la sottodirectory di installazione

Correzione

Corregge le installazioni Dolibarr in sottodirectory (la versione 2.2.6 gestiva già il problema tramite il fallback SQL locale)

v2.2.6

Correzione

Correzione critica: sincronizzazione immagini prodotto resiliente — fallback SQL automatico (llx_ecm_files) quando l'endpoint REST Dolibarr /documents non è raggiungibile (404, timeout, HTML nel body). Le immagini del prodotto vengono ora correttamente sincronizzate in Shopify anche su hosting restrittivi (issue #286)

Correzione

Correzione critica: filtro entity multi-tenant aggiunto alla query SQL delle immagini — evita di esporre immagini di altre entità Dolibarr in installazioni multi-azienda

Correzione

Correzione: chiave di ordinamento errata (filename vs relativename) — ordinamento per posizione ora funzionante

Miglioramento

Cache di istanza delle immagini riduce da 3 a 1 le chiamate SQL+API ridondanti per prodotto durante la sincronizzazione

v2.2.5

Correzione

Correzione critica: funzione verifToken() non caricata su alcuni stack PHP-FPM che bloccava l'OAuth Shopify — 4 file del modulo ora includono esplicitamente il polyfill compatibility.lib.php

v2.2.4

Correzione

Correzione critica: migrazione dell'ID del modulo Dolibarr (436950 → 351003, gamma ufficiale assegnata all'Association P'tite Tête) — migrazione SQL automatica preserva i permessi esistenti

v2.2.3

Correzione

Correzione critica: le pagine di amministrazione (setup, wizard, sincronizzazione prodotti) referenziavano un file CSS inesistente — caricamento del CSS e visualizzazione delle pagine ora corretti

v2.2.2

Nuovo

Gestione delle righe bundle/regalo Shopify (USH Bundles, EasyGift, ecc.) — 3 modalità configurabili: ignora, importa come commento, importa come riga normale

Correzione

Correzione critica: sincronizzazione stock varianti ogni ora invece di 24h

Correzione

Correzione webhook products/delete — query SQL non valida corretta

Correzione

Correzione critica: niente più duplicati creati su Shopify dopo purga di un prodotto con varianti

Correzione

Anti-loop migliorato: protezione inter-processo sync/webhook contro deadlock

Correzione

Falso positivo diagnostico corretto: API Documents 404 su prodotto di test inesistente ora segnalato come avviso anziché errore

Miglioramento

Diagnostica migliorata: rilevamento vecchi percorsi immagini + test loopback server

Miglioramento

Versioni dinamiche ovunque (niente più versioni fisse nell'interfaccia)

Miglioramento

Admin website: nuova sezione 'Migrazioni SQL' che elenca gli script SQL numerati e ne consente l'esecuzione con un clic (tracciamento automatico)

v2.2.1

Nuovo

Sistema di avvisi email proattivo (errori webhook + salute sistema)

Nuovo

Throttling intelligente per tipo con cooldown configurabile

Miglioramento

Audit completo API Shopify 2026-07 — anticipazione breaking changes

Miglioramento

PHPStan livello 6 + copertura test 35% → 71%

Miglioramento

Centralizzazione versione modulo (niente più versioni hardcoded)

Correzione

Rimosse ~1.974 righe di codice morto

Correzione

Compatibilità Dolibarr 23 — audit sistematico e correzioni

v2.2.0

Nuovo

Webhooks in tempo reale Shopify → Dolibarr (ordini, spedizioni, pagamenti)

Nuovo

Wizard di configurazione guidato in 6 passaggi

Nuovo

Dashboard di monitoraggio e salute del modulo

Nuovo

Mappatura spedizione a 2 livelli (titolo + corriere reale)

Nuovo

Interfaccia semplificata: 3 schede invece di 5

Nuovo

Recupero automatico degli ordini persi (CRON rete di sicurezza)

Nuovo

Auto-creazione configurabile di fatture, pagamenti e spedizioni

Miglioramento

Configurazione completa degli ordini nel wizard

Miglioramento

Attivazione automatica di webhooks e CRON al termine del wizard

v2.1.8

Nuovo

Sistema di ticket di supporto integrato multipiattaforma

Nuovo

Riprogettazione completa del sito web con architettura MVC

Nuovo

Modalità degradata per licenze scadute

Nuovo

Internazionalizzazione centralizzata con Twig

Nuovo

Webhook bidirezionali Shopify + trigger Dolibarr in tempo reale

v2.1.7

Nuovo

Shopify Billing API - Architettura dual-channel

Nuovo

Interfaccia di amministrazione web completa

Correzione

Correzione del link della licenza OAuth

Correzione

Sconti non applicati sui servizi

Miglioramento

Miglioramenti della procedura guidata di configurazione

v2.1.6

Nuovo

Audit di sicurezza completo - 86 problemi risolti

Nuovo

Importazione bidirezionale Shopify → Dolibarr

Sicurezza

Protezione CSRF su 15 file

Sicurezza

Punteggio sicurezza 6/10 → 9/10