v2.6.0 Dernière version

Nouveau

Le module tient désormais son propre journal : chaque cycle de synchronisation y est tracé avec un identifiant, sa provenance — tâche planifiée, écran, webhook, API — et son bilan (durée, produits traités, erreurs, images). Une demande d'assistance commence maintenant par des faits au lieu d'une série de questions

Nouveau

Une ligne est écrite au DÉMARRAGE de chaque cycle, avant tout travail. C'est le point décisif : sans elle, un planificateur à l'arrêt et un planificateur qui tourne sans rien avoir à faire laissent exactement la même absence de trace. Avec elle, « dernier cycle planifié : il y a quatre jours » devient une réponse

Nouveau

Nouveau bouton « Télécharger le journal (CSV) » : vous téléchargez et vous joignez le fichier à votre message. Il est volontairement borné et contient exactement ce qui est affiché à l'écran — aucun contenu de commande, aucune donnée personnelle de vos clients

Nouveau

Connexion Shopify : une page de confirmation s'affiche, une seule fois, à la prochaine reconnexion de votre boutique — elle affiche l'adresse de votre Dolibarr et demande une confirmation avant toute transmission ; les reconnexions suivantes depuis la même adresse redeviennent silencieuses comme avant

Sécurité

Sécurité : vos identifiants Shopify (jeton, clés API) ne s'affichent plus en clair dans l'écran de configuration, l'export de diagnostic masque désormais tout champ sensible quel que soit son nom, et une licence peut désormais être révoquée proprement en cas de besoin

Amélioration

Le journal s'écrit sur une connexion séparée à la base : sa trace subsiste même lorsque l'opération qu'elle décrit échoue et annule ses propres écritures. Autrement dit, l'échec le plus intéressant est justement celui qui laisse une trace

Amélioration

Cette version intègre aussi dix lots de travaux antérieurs restés non publiés : durcissement de la récupération de connexion Shopify, plafond de tentatives de liaison de licence, bornage de la revalidation de licence et visibilité de son échec, retrait de données personnelles des journaux applicatifs du site

v2.5.7

Correction

Correctif critique : sur une boutique Shopify configurée avec plusieurs emplacements/entrepôts, le cycle de re-synchronisation de stock seul (quand le contenu du produit n'a pas changé depuis le dernier envoi) était systématiquement refusé par Shopify. Un intégrateur nous a signalé 141 erreurs sur 158 produits, le stock restant affiché à son ancienne valeur côté Shopify sans qu'aucune mise à jour ne passe. La cause : la quantité de référence était comparée à un stock Shopify toutes localisations confondues, alors que Shopify la compare à la seule localisation configurée pour votre boutique — invisible sur une boutique à un seul emplacement, le défaut apparaît dès qu'un second emplacement existe. Elle est désormais systématiquement lue à l'emplacement réellement configuré pour votre boutique. Après mise à jour, relancez une synchronisation de stock pour les produits précédemment en erreur

Correction

Correctif : un produit à plusieurs déclinaisons ne voit plus toutes ses déclinaisons bloquées par le souci d'une seule — si une déclinaison ne peut pas être resynchronisée sur un cycle donné, les autres déclinaisons du même produit, correctement synchronisées, ne sont plus mises en attente avec elle

Correction

Correctif : un problème réel de configuration d'emplacement Shopify (emplacement supprimé, invalide, ou désactivé — par exemple un ancien entrepôt fermé mais pas supprimé) se signale désormais clairement dans les journaux et le résumé de synchronisation, avec l'action à faire selon le cas. Un identifiant d'emplacement mal renseigné dans la configuration est par ailleurs détecté immédiatement, sans attendre l'appel à Shopify

Correction

Correctif : un ralentissement temporaire imposé par Shopify (limitation de débit, normal sur un catalogue volumineux) n'est jamais confondu avec ce problème de configuration d'emplacement — il continue de suivre le chemin normal, avec une nouvelle tentative au cycle suivant

Correction

Correctif : un article correctement défini avec un stock à zéro n'est plus jamais confondu avec un article dont la quantité n'a pas pu être lue — un stock légitimement nul à l'emplacement configuré est désormais bien envoyé à Shopify

Correction

Correctif : sur une installation à plusieurs boutiques Shopify, le suivi de synchronisation d'un produit reste bien isolé par boutique, sans mélange entre boutiques ; les deux compteurs introduits par cette version sont par ailleurs désormais visibles directement sur l'écran de synchronisation manuelle, sous forme de bandeaux dédiés

Amélioration

Le paquet d'installation repasse sous 2 Mo, installable par l'écran de déploiement de Dolibarr quelle que soit la limite d'upload par défaut

v2.5.6

Correction

Correctif critique, impact comptable : depuis la mise à jour du 18 septembre 2026 (version 2.5.5), une commande Shopify avec une remise globale (code promo ou remise automatique sur plusieurs articles) pouvait être importée avec une remise proche du double de celle réellement accordée. Sur une commande de 2 520,00 € HT remisée de 5 % (126,00 € HT), l'import retenait 245,70 € HT. Le montant de la remise globale est désormais repris directement de la répartition déjà calculée par Shopify pour chaque article, lue une seule fois — le double-comptage devient structurellement impossible

Correction

Correctif : une remise ciblant seulement une partie de vos articles (par exemple « -10 % sur les articles en promotion ») pouvait, dans certains cas, être calculée sur la valeur de tous les articles de la commande plutôt que sur les seuls articles concernés, présent depuis la même mise à jour du 18 septembre

Correction

Correctif : avec certaines applications de remise tierces ou Shopify Functions qui reflètent déjà la remise globale dans le prix affiché par Shopify, le premier correctif de cette version la recomptait quand même une seconde fois. Le calcul ne lit désormais qu'une seule fois chaque répartition, quelle que soit la manière dont Shopify affiche par ailleurs le prix de la ligne

Correction

Correctif : les commandes marketplace (Nature & Découvertes et canaux similaires), qui n'indiquent pas toujours le taux de TVA sur chaque article, pouvaient voir leur remise globale surestimée de 20 % ; le module retombe désormais sur le taux de TVA de votre fiche produit Dolibarr pour ce calcul, comme il le fait déjà pour la ligne elle-même

Correction

Correctif : une commande à TVA mixte (5,5 % et 20 % sur la même commande, par exemple) ventilait toute sa remise globale au taux le plus élevé ; une ligne de remise est désormais créée par taux de TVA réellement concerné

Correction

Une remise annoncée par Shopify mais introuvable dans le détail des articles ne disparaît plus silencieusement : elle est désormais journalisée pour investigation

v2.5.5

Nouveau

Le module tient désormais son propre journal, séparé du journal général de Dolibarr, et un bouton « Télécharger le journal du module » est proposé sur l'onglet Support. En cas de problème, vous le joignez à votre message : le diagnostic commence sur des faits au lieu d'une série de questions. Rotation, archivage et purge sont assurés par Dolibarr lui-même, donc aucun réglage supplémentaire à connaître

Correction

Correction, impact comptable : une remise globale répartie sur les lignes n'était jamais appliquée sur deux chemins d'import — l'import historique et la récupération d'une commande à l'unité, c'est-à-dire le chemin emprunté après la notification d'une nouvelle commande. Une information nécessaire à la décision n'était pas demandée à Shopify, la condition était donc toujours fausse : la commande entrait au prix plein, sans erreur ni avertissement

Amélioration

Un produit laissé sans photo côté Shopify est désormais compté et nommé — à l'écran de synchronisation, dans le compte rendu de la tâche planifiée et dans le journal. Le module renonce à l'envoi quand il ne trouve aucune image côté Dolibarr, pour ne pas effacer vos visuels sans remplacement ; il le disait jusqu'ici dans une ligne technique que personne ne lisait

Correction

Correction : le stock d'une déclinaison sans correspondance de SKU n'était jamais envoyé vers Shopify, et rien ne le signalait. La déclinaison restait indéfiniment à la quantité qu'elle avait au moment où l'écart est apparu — vendable alors qu'elle est épuisée, ou invendable alors qu'elle est en stock — pendant que le rapport annonçait une synchronisation réussie

Amélioration

Les déclinaisons Dolibarr sans variante Shopify, et les variantes Shopify sans déclinaison Dolibarr, sont désormais comptées, listées par produit et signalées comme non synchronisées — dans le rapport de synchronisation comme dans l'écran de diagnostic

Correction

Correction : un produit dont les photos avaient disparu côté Shopify (produit supprimé puis recréé, médias retirés à la main, restauration de sauvegarde) ne les récupérait jamais. Le module se fiait à une empreinte des images de Dolibarr pour conclure que Shopify les détenait déjà, et aucune purge n'effaçait cette empreinte : la bonne procédure, appliquée correctement, ne pouvait pas fonctionner

Amélioration

Les purges effacent maintenant la mémoire d'images, un renvoi sauté est signalé dans le rapport de synchronisation, et une action « forcer le renvoi complet des images » d'un produit est disponible dans la configuration — sans passer par une requête SQL ni par une purge globale

Amélioration

Accessibilité : 52 textes affichés dans nos couleurs de marque n'atteignaient pas le contraste exigé par les règles WCAG AA. Corrigés dans les courriels que nous envoyons, les écrans du site et les feuilles de style du module, par des variantes assombries à teinte conservée

v2.5.4

Sécurité

À partir du 12 novembre 2026, une licence expirée arrête la synchronisation, dans les deux sens — y compris la remontée de vos commandes Shopify vers Dolibarr. Jusqu'ici, seuls le support et les téléchargements étaient suspendus. Si votre licence est active, rien ne change jusqu'à son échéance. La date vient de nos serveurs : s'ils ne répondent pas, rien ne s'arrête

Breaking

Le sens de synchronisation du stock ne vaut plus « les deux sens » par défaut, mais « Dolibarr vers Shopify ». Si vous aviez déjà choisi un réglage explicite, il est conservé tel quel ; sinon, vérifiez l'écran Configuration

Correction

Correction : « Votre licence a expiré » s'affichait alors que c'était notre serveur qui n'avait pas répondu. Une panne de notre côté ne se présente plus comme un problème du vôtre

Amélioration

Vous êtes désormais prévenu avant l'expiration de votre licence, par courriel et par une alerte dans le module qui en affiche la date exacte

Amélioration

Versions de Dolibarr prises en charge : retour à 18.0 → 24.x. La 2.5.3 avait ramené la plage à 23.0, ce qui excluait la 18 — pourtant la seule branche ancienne encore maintenue. Trois cibles sont testées à chaque version (18, 23, 24) ; les versions intermédiaires sont déclarées compatibles sans être testées

v2.5.3

Correction

Correction Multicompany : sur une installation dont Doli2Shop est configuré sur une entité autre que la première, aucun webhook n'était accepté. Le point d'entrée s'exécutait toujours dans la première entité et n'y trouvait pas le secret de signature : commandes, produits et expéditions ne remontaient plus, sans le moindre message d'erreur, et rien n'était conservé pour être rejoué

Correction

Correction Multicompany : les photos produit ne partaient jamais vers Shopify. Dolibarr range les documents dans un sous-dossier portant le numéro d'entité, que le module ne reconnaissait pas — l'écran de diagnostic annonçait « aucun produit avec au moins une photo » alors que l'ERP en affichait

Correction

Correction Multicompany : la TVA des commandes importées était calculée avec la fiche de société de la première entité, et non celle de la société concernée

Correction

Correction Multicompany : les correspondances de paiement par défaut (carte, virement, chèque, PayPal…) n'étaient jamais créées sur une entité secondaire. Elles sont désormais posées par entité, sans jamais écraser une correspondance que vous auriez modifiée

Correction

Correction, toutes installations : un avertissement affirmant qu'une photo n'était pas indexée était écrit pour chaque produit et à chaque synchronisation, y compris lorsqu'elle l'était parfaitement — et chaque produit était relu deux fois sur le disque

Correction

Correction, toutes installations : vos photos produit se dupliquaient à chaque notification de Shopify — un simple changement de prix ou de stock suffisait à en déposer une copie de plus. Un client avait quatre exemplaires de la même image sur un seul produit, dont trois créés le même jour. Un écran de nettoyage est fourni pour les doublons déjà accumulés : il montre ce qui sera supprimé avant d'agir et ne touche jamais une photo que vous avez déposée vous-même

Amélioration

Nouveau document, en cinq langues : la procédure de mise en production pour raccorder Doli2Shop à un Dolibarr contenant déjà votre historique commercial — le cas d'une boutique migrée vers Shopify depuis PrestaShop, WooCommerce ou Magento. Elle indique aussi, explicitement, ce qu'elle ne protège pas

v2.5.2

Correction

Correction critique : sur certaines installations, la connexion à Shopify devait être refaite manuellement chaque jour. La boutique par défaut conservait deux copies de ses identifiants et le renouvellement automatique n'en mettait à jour qu'une seule ; le jeton Shopify n'étant valable qu'une fois, la copie oubliée expirait. Les deux copies sont désormais tenues à jour ensemble

Correction

Correction : le libellé de chaque déclinaison était remplacé par le titre du produit parent à chaque mise à jour venue de Shopify, y compris un simple changement de prix ou de stock. Les libellés se recalculent maintenant comme à la création, et l'outil de réparation les retrouve même lorsqu'elles ont déjà été rattachées une première fois

Correction

Correction : sur l'écran des webhooks, le bouton d'enregistrement n'avait aucun effet — la liste des événements suivis ne pouvait pas être modifiée. Un défaut de structure de la page empêchait l'envoi du formulaire

Correction

Correction : l'écran de synchronisation des produits et la tâche planifiée ne regardaient pas le même périmètre. Un produit rangé dans une sous-catégorie était synchronisé sans jamais apparaître à l'écran, qui annonçait « aucun produit ». Les deux partagent désormais la même définition, et une nouvelle date de mise en service permet d'exclure les commandes antérieures à votre passage sur Shopify

Correction

Correction : sur les installations à plusieurs boutiques, les compteurs de l'écran de synchronisation comptaient chaque produit autant de fois qu'il était présent de boutiques. Les totaux affichés vont donc baisser : ils sont désormais justes

Correction

Correction : l'import des commandes historiques n'indiquait jamais où il en était — « terminé » restait toujours à non, les statistiques restaient vides, et changer la date de début en cours de route n'avait aucun effet. L'import rend maintenant compte de sa progression, et ne peut plus se déclarer terminé alors qu'il a échoué

Amélioration

Amélioration de la robustesse : une requête mal formée adressée au service de facturation reçoit désormais une réponse d'erreur claire au lieu d'une erreur serveur, et plus aucun message technique interne n'est renvoyé à l'appelant

v2.5.0

Nouveau

Nouveau : chaque flux de synchronisation (produits, stocks, prix, commandes) a désormais sa propre direction configurable — Dolibarr vers Shopify, Shopify vers Dolibarr, ou les deux. Vous décidez, flux par flux, quel logiciel fait référence

Nouveau

Nouveau : une API de pilotage permet de déclencher et de suivre les synchronisations depuis vos propres outils

Amélioration

Le module est désormais disponible en cinq langues : français, anglais, allemand, espagnol et italien

Correction

Correction critique : la tâche planifiée de rattrapage des expéditions ne démarrait plus du tout, sans laisser la moindre trace dans Dolibarr — seul le journal du serveur en gardait le souvenir. Un contrôle automatique empêche désormais ce type de panne muette de réapparaître

Correction

Correction : deux autres tâches planifiées échouaient pour une raison voisine, dont le contrôle de santé des webhooks — qui tombait en panne précisément au moment où il enregistrait un incident, donc quand il servait le plus

Correction

Correction : les produits à déclinaisons provoquaient une trentaine d'avertissements à chaque synchronisation d'images

v2.4.8

Correction

Correction critique : consulter une page pouvait rendre inopérants les boutons d'une autre. Les appels internes du module faisaient tourner le jeton de sécurité de la session, et la page Santé en déclenche un par boutique dès son ouverture : sur une installation à trois boutiques, la simple consultation de cette page suffisait à faire rejeter les clics de la page Webhooks, en silence

Correction

Correction : trente actions réparties sur neuf pages d'administration pouvaient être rejetées sans message ni trace lorsque le jeton de sécurité était refusé — dont le rattachement d'un numéro de licence à une boutique, qui pouvait donc échouer sans que rien ne l'indique. Toutes affichent désormais une erreur explicite

Correction

Correction : une synchronisation pouvait éteindre les webhooks des autres boutiques

v2.4.7

Correction

Correction : sur l'écran des webhooks, « Configuration sauvegardée » s'affichait sans que l'état change. L'affichage et l'enregistrement ne regardaient pas la même ligne en base : on désactivait un webhook, la page confirmait, et rien ne bougeait

Correction

Correction : la désactivation retire désormais chaque abonnement concerné et non plus le premier trouvé — une ligne jumelle ne peut plus faire réapparaître un webhook qu'on vient de retirer. L'activation réutilise un abonnement déjà en place au lieu d'en créer un de plus

Correction

Les incohérences héritées des installations antérieures au multi-boutiques sont corrigées au passage : une ligne restée « active » sans abonnement réel est remise à plat

v2.4.6

Correction

Correction : en multi-boutiques, la page Webhooks affichait la boutique sélectionnée mais enregistrait sur une autre — impossible de désactiver un webhook, le bouton « Sauvegarder » semblait sans effet. L'affichage et l'enregistrement partagent désormais le même filtre par boutique, et toute erreur s'affiche en clair au lieu d'un message vide

Correction

Correction critique : sur les installations à sécurité durcie (renouvellement du jeton anti-CSRF à chaque page), toutes les actions d'administration du module étaient rejetées en silence — assistant de configuration compris. La vérification est alignée sur celle du cœur de Dolibarr, et un refus est désormais toujours annoncé à l'écran

Amélioration

Robustesse : un incident de base de données pendant l'enregistrement des webhooks ne provoque plus de page blanche — l'erreur est affichée avec le webhook concerné et les suivants sont traités

v2.4.5

Amélioration

Le push du stock vers Shopify devient asynchrone : la validation d'une facture rend la main immédiatement, même si Shopify est lent ou injoignable (fini les validations de plusieurs minutes). Un traitement planifié pousse le stock toutes les 5 minutes, en regroupant les mouvements et en reprenant automatiquement après un échec

Correction

Correction critique : sur Dolibarr 18 à 22, la connexion d'une boutique renvoyait une erreur 500 au retour de Shopify et la boutique était perdue — le module s'appuyait sur une fonctionnalité du cœur introduite seulement fin 2025

Correction

Correction : sur les hébergements en mode SQL strict, les webhooks ne s'enregistraient jamais — les dates envoyées par Shopify étaient rejetées par la base. Elles sont désormais converties et stockées en heure universelle

Nouveau

Nouvel outil « Recorrection remises » : répare les commandes importées avant la 2.2.9 dont la remise en pourcentage était sous-évaluée — aperçu avant application, brouillons uniquement, piste d'audit préservée

Amélioration

Connexion d'une boutique : l'échec « Échec de l'enregistrement des credentials » indique enfin sa cause réelle, et une base de données incomplète est signalée avec la marche à suivre (pages Diagnostic et État de santé)

v2.4.4

Correction

Correction : les produits à variantes importés de Shopify ne créaient pas de véritable déclinaison Dolibarr — le lien parent/variante restait invisible dans l'interface, et le libellé de la variante pouvait rester identique à celui du produit parent

Nouveau

Nouveau bouton « Réparer les déclinaisons » : rattache a posteriori les catalogues déjà importés, sans réimport ni doublon, par lots et sans risque en cas de relance

v2.4.3

Correction

Correction : l'import de produits à variantes échouait lorsqu'une même référence (SKU) est partagée entre plusieurs produits Shopify — le module réutilise désormais le produit existant au lieu d'échouer, et affiche le motif d'erreur complet en cas d'autre problème

Correction

Correction : les lignes de commande issues d'applications de packs/bundles (« composez votre pack ») n'étaient pas créées dans Dolibarr — les produits facturables regroupés en bundle sont désormais correctement importés (les composants offerts à 0 € restent ignorés)

v2.4.2

Correction

Correction critique : le stock Dolibarr n'était jamais poussé vers Shopify (réapprovisionnements, production interne, corrections manuelles) — le stock Shopify dérivait au fil des ventes jusqu'à des valeurs négatives fausses. Tout mouvement de stock Dolibarr est désormais synchronisé en temps réel vers Shopify (valeur absolue, jamais négative)

Nouveau

Nouveau bouton « Recaler le stock vers Shopify » : pousse en une fois le stock Dolibarr de tous les produits mappés — répare immédiatement les valeurs Shopify faussées par le passé, sans attendre le prochain mouvement de chaque produit

Amélioration

Multi-boutiques : le stock est poussé vers chaque boutique où le produit est présent, avec les identifiants propres à chaque boutique

Amélioration

Observabilité : chaque envoi de stock est tracé dans le journal des actions, et l'état « dernier recalage » (date, produits, erreurs) est affiché dans l'administration

v2.4.1

Sécurité

Conformité Shopify 2026 : gestion native des jetons OAuth expirables (jeton d'accès 60 min + jeton de rafraîchissement), imposés par Shopify d'ici le 1er janvier 2027 — rafraîchissement automatique transparent, les boutiques déjà connectées migrent en un clic via le bouton « Se reconnecter »

Nouveau

Nouvelle API Collections Shopify 2026-07 : les collections créées avec le nouveau modèle (déploiement Shopify depuis le 1er juillet 2026) sont désormais visibles et synchronisées — fini les disparitions silencieuses

Correction

Correction critique : synchronisation produits/stock fiabilisée — une déclinaison désactivée restait parfois visible sur Shopify, et des stocks divergents (parfois négatifs) n'étaient plus corrigés silencieusement ; les erreurs sont désormais journalisées et remontées

Amélioration

Diagnostic instantané : les tests de connexion et de santé par boutique s'exécutent désormais en arrière-plan, sans ralentir l'affichage de la page

Amélioration

Télémétrie fiabilisée : le module remonte désormais son vrai domaine et sa version Dolibarr sur tous les canaux, éliminant les fausses installations en attente

v2.4.0

Nouveau

Multi-boutiques : plusieurs boutiques Shopify configurables sur une seule installation Dolibarr, avec licence, réglages et navigation propres à chaque boutique (comptabilité toujours unique)

Nouveau

Diagnostic santé détaillé par boutique : connexion et webhooks, licence, compteurs de synchronisation — chaque boutique est vérifiée indépendamment

Amélioration

Sélecteur de boutique agrandi et barre de contexte repensée sur toutes les pages d'administration multi-boutiques

Correction

Correction critique : une expédition restée en brouillon après un échec (entrepôt/stock) n'était jamais rattrapée automatiquement — elle est désormais validée et clôturée par le rattrapage périodique

Correction

Correction d'affichage : caractères accentués mal encodés (double encodage) corrigés dans l'ensemble de l'interface d'administration

Correction

Correction : le statut de licence d'une boutique pouvait rester figé sur « inconnu » — la vérification est désormais fiable et ne dégrade jamais une boutique par défaut

v2.3.2

Correction

Correction critique : des commandes n'étaient plus récupérées depuis Shopify (régression introduite en 2.3.0) — la synchronisation des commandes fonctionne à nouveau normalement

Correction

Correction : les webhooks enregistrés sur une version d'API Shopify périmée sont désormais ré-enregistrés automatiquement lors des vérifications de santé, pour chaque boutique

Correction

Correction : blocage à l'activation du module sur les installations multi-boutiques (page blanche)

Sécurité

Sécurité : la connexion d'une boutique Shopify ne peut plus se faire par saisie manuelle d'un jeton — uniquement via le parcours OAuth sécurisé de Shopify

v2.3.0

Nouveau

Multi-boutiques (fondations) : plusieurs boutiques Shopify gérées depuis une seule installation Dolibarr avec une comptabilité unique — la boutique existante est migrée automatiquement, sans aucune interruption de service

Nouveau

Nouvelle interface d'administration des boutiques : ajout, connexion, gestion des webhooks et de la licence, boutique par boutique

Sécurité

Sécurité : la connexion Shopify est désormais protégée par des clés cryptographiques (OAuth RSA) à la place d'un secret partagé

Nouveau

Nouveaux outils de support : export du JSON complet d'une commande pour accélérer le diagnostic en cas de souci

Nouveau

Les adresses de livraison et de facturation sont désormais affichées directement sur la fiche commande

Sécurité

Sécurité : protection renforcée contre les attaques CSRF sur les actions sensibles (configuration, licence)

v2.2.9

Correction

Correction : remises en pourcentage sous-évaluées — la remise était calculée sur la base hors taxes puis divisée une seconde fois par (1 + TVA) comme s'il s'agissait d'un montant TTC. Les commandes avec code promo en pourcentage retrouvent le montant exact affiché par Shopify (ex. 5 % = −151,20 € TTC, et non −126 €)

Amélioration

Documentation : tableau des 4 règles de décrémentation de stock Dolibarr (commande, facture, expédition, clôture d'expédition) et recommandation pour les boutiques mixtes comptoir TakePOS + Shopify

v2.2.8

Correction

Correction critique : stock non décrémenté lors de l'import des commandes Shopify — l'entrepôt n'était pas transmis à la validation de la facture. Les 4 règles de décrémentation Dolibarr (commande, facture, expédition, clôture d'expédition) sont désormais couvertes

Correction

Correction : la migration des permissions v2.2.4 (changement d'ID module) est désormais exécutée automatiquement à l'activation — les droits utilisateurs sont préservés lors d'une mise à jour depuis une version antérieure à 2.2.4

Correction

Correction webhooks : URL de callback erronée (chemin /custom/ manquant) en l'absence de configuration explicite, et le paramètre « Jours de conservation » des événements est désormais respecté par la purge

Amélioration

Robustesse : avertissements explicites dans les logs quand aucun entrepôt n'est résolu, et protections contre les erreurs fatales si la synchronisation sortante Dolibarr → Shopify (prévue v2.4.x) est activée prématurément

v2.2.7

Correction

Correction critique : appels à l'API documents en erreur 404 sur les installations en sous-répertoire — un slash initial écrasait le sous-dossier (issue #288)

Correction

Tous les points d'accès documents (images produits et catégories) respectent désormais le sous-dossier d'installation

Correction

Répare les installations Dolibarr en sous-dossier (la version 2.2.6 dépannait déjà via le fallback SQL local)

v2.2.6

Correction

Correction critique : sync images produit résiliente — fallback SQL local automatique quand l'API REST Dolibarr /documents est inaccessible (404, timeout, HTML dans le body). Images produit restituées dans Shopify même sur hébergeurs restrictifs (issue #286)

Correction

Correction bug entity : filtre multi-tenant ajouté à la requête SQL images — empêche d'exposer des images d'autres entités Dolibarr en installation multi-sociétés

Correction

Correction bug tri images : clé de la map de tri corrigée (filename → relativename) — tri par position désormais fonctionnel

Amélioration

Cache instance images : évite 3 requêtes SQL+API redondantes par produit lors d'une sync

v2.2.5

Correction

Correction critique : fonction verifToken() non chargée sur certains stacks PHP-FPM bloquant l'OAuth Shopify — 4 fichiers du module incluent désormais explicitement le polyfill compatibility.lib.php

v2.2.4

Correction

Correction critique : migration ID module Dolibarr (436950 → 351003, plage officielle Association P'tite Tête) — migration SQL automatique préserve les permissions existantes

v2.2.3

Correction

Correction critique : pages admin (setup, wizard, synchronisation produits) référençaient un fichier CSS inexistant — chargement du CSS et affichage des pages maintenant corrects

v2.2.2

Nouveau

Gestion des lignes bundles/cadeaux Shopify (USH Bundles, EasyGift, etc.) — 3 modes configurables : ignorer, importer comme commentaire, importer comme ligne normale

Correction

Correction critique : rattrapage stocks variants toutes les heures au lieu de 24h

Correction

Correction webhook products/delete — requête SQL invalide corrigée

Correction

Correction critique : plus de doublons créés sur Shopify après purge d'un produit à variants

Correction

Anti-boucle amélioré : protection inter-processus sync/webhook pour éviter les deadlocks

Correction

Correction faux positif diagnostic : API Documents 404 sur produit de test inexistant désormais signalé en avertissement et non en erreur

Amélioration

Diagnostic enrichi : détection ancien chemin images + test loopback serveur

Amélioration

Versions dynamiques partout (plus de versions hardcodées dans l'interface)

Amélioration

Interface admin website : nouvelle section 'Migrations SQL' qui liste les scripts SQL numérotés et permet de les exécuter en un clic avec tracking automatique

v2.2.1

Nouveau

Système d'alertes proactif par email (erreurs webhook + santé système)

Nouveau

Throttling intelligent par type d'alerte avec cooldown configurable

Amélioration

Audit complet API Shopify 2026-07 — anticipation breaking changes

Amélioration

PHPStan niveau 6 + couverture tests 35% → 71%

Amélioration

Centralisation version module (fini les versions hardcodées)

Correction

Suppression de ~1 974 lignes de code mort

Correction

Compatibilité Dolibarr 23 — audit complet et corrections systématiques

v2.2.0

Nouveau

Webhooks temps réel Shopify → Dolibarr (commandes, expéditions, paiements)

Nouveau

Wizard de configuration guidé en 6 étapes

Nouveau

Dashboard monitoring et santé du module

Nouveau

Mapping expédition 2 niveaux (titre + transporteur réel)

Nouveau

Interface simplifiée : 3 onglets au lieu de 5

Nouveau

Rattrapage automatique des commandes manquées (CRON filet de sécurité)

Nouveau

Auto-création facture, paiement et expédition configurable

Amélioration

Configuration complète des commandes dans le wizard

Amélioration

Activation automatique webhooks et CRONs à la fin du wizard

v2.1.8

Nouveau

Système de tickets support intégré multi-plateforme

Nouveau

Refonte complète du website avec architecture MVC

Nouveau

Mode dégradé pour licences expirées

Nouveau

Internationalisation centralisée avec Twig

Nouveau

Webhooks bidirectionnels Shopify + triggers Dolibarr temps réel

v2.1.7

Nouveau

Shopify Billing API - Architecture dual-channel

Nouveau

Interface admin web complète

Correction

Correction OAuth pour le lien de la licence

Correction

Réductions non appliquées sur les services

Amélioration

Amélioration du wizard de configuration

v2.1.6

Nouveau

Audit sécurité complet - 86 issues corrigées

Nouveau

Import Shopify → Dolibarr bidirectionnel

Sécurité

Protection CSRF sur 15 fichiers

Sécurité

Score sécurité 6/10 → 9/10