← LemonBoxtal

JOURNAL DES VERSIONS

Tout ce qui a changé
dans LemonBoxtal.

Achetez vos étiquettes transporteur depuis Dolibarr

Version en cours 1.2.2 Dolibarr 18 et supérieur

[1.2.2] - 2026-09-15

Corrigé

  • Le script de rattrapage utilise deux chemins d’inclusion explicites afin que son paquet respecte également le contrôle automatique de DoliStore.

[1.2.1] - 2026-09-15

Corrigé

  • Le script de rattrapage des numéros de suivi localise désormais Dolibarr aussi bien lorsque le module est installé dans htdocs/custom/ que directement dans htdocs/.

[1.2.0] - 2026-09-15

Corrigé

  • Les écrans du module suivent enfin le thème de votre Dolibarr. Ils décidaient de leurs couleurs d’après le réglage clair/sombre du système d’exploitation de la personne devant l’écran — un réglage qui ne dit rien du thème choisi dans Dolibarr. Sur un poste en mode sombre, l’assistant d’expédition et les cartes de colis se peignaient donc en sombre au milieu d’une Dolibarr restée claire, avec le texte du thème par-dessus : à peine lisible. Le module emprunte désormais les couleurs du thème actif, quel qu’il soit, et suit le mode sombre de Dolibarr quand c’est l’instance qui le demande.
  • Le jaune Lemon ne s’impose plus à votre Dolibarr. L’accent des étapes, des bandeaux de récapitulatif, de l’onglet d’offre actif et du point relais retenu reprend la couleur de votre thème. Le jaune ne subsiste que sur le bloc « À propos de Lemon » de l’écran de configuration.

Modifié

  • Un menu « Expédition », et vos envois Boxtal dedans. LemonBoxtal regroupe désormais les expéditions, les réceptions et vos envois Boxtal dans un menu Expédition dédié, au lieu de laisser sa liste seule au bas de Produits | Services. Les entrées d’origine ne sont jamais retirées : c’est un second chemin, pas un déménagement. Réglable dans la configuration du module (Affichage ▸ « Menu Expédition porté par LemonBoxtal »).
  • Si LemonTrack17 est installé, c’est lui qui porte ce menu, et LemonBoxtal se contente d’y ranger ses envois, entre les Expéditions et les Réceptions. Jamais deux menus Expédition côte à côte. Le relais se fait tout seul : installer ou retirer LemonTrack17 suffit, sans avoir à réactiver LemonBoxtal, et l’ordre d’installation des deux modules n’a pas d’importance.
  • Personne ne perd l’accès à ses envois. Si LemonTrack17 tient le menu mais que vous n’avez pas le droit de le voir, l’entrée « Envois Boxtal » reste là où elle a toujours été, sous Produits | Services.
  • Vos clés API Boxtal ne dépendent plus du cycle de vie du module. Elles n’étaient pas effacées, mais elles étaient déclarées parmi les constantes installées par le module : une seule ligne mal recopiée aurait suffi à les vider à la première désactivation. Elles en sont sorties.

[1.1.0] - 2026-09-10

À la mise à jour : désactivez puis réactivez le module. Cette version ajoute une colonne en base (date de notification). La migration est automatique, sans perte, et rejouable — mais elle ne s’exécute qu’à l’activation. Remplacer les fichiers seuls laisserait la table incomplète.

Ajouté

  • Le numéro du transporteur est annoncé aux autres modules. Boxtal ne le rend pas au moment de la commande : il arrive plus tard, quand le transporteur a validé. Dès que LemonBoxtal l’apprend, il le dit — un module de suivi de colis peut s’y brancher sans que LemonBoxtal ait à le connaître, et sans que rien ne change si personne n’écoute. L’envoi rattaché directement à une facture ou à un devis est annoncé lui aussi, sans qu’aucune expédition ne soit fabriquée pour lui servir de support.
  • Rattrapage des envois antérieurs : scripts/republish-trackings.php réannonce les numéros déjà connus, ceux obtenus avant que l’annonce n’existe. Rejouable sans risque.

Modifié

  • Prévenir le destinataire ouvre l’écran d’envoi d’e-mail de Dolibarr. Le mini-formulaire du module est remplacé par l’écran du cœur : modèle d’e-mail modifiable, pièces jointes, copie et copie cachée, éditeur de texte, et l’envoi apparaît dans l’agenda du document comme n’importe quel autre e-mail.
  • Modèle « Colis expédié » livré avec le module, modifiable dans Outils > Modèles d’e-mails. Il utilise les substitutions __BOXTAL_TRACKNUM__, __BOXTAL_TRACKURL__, __BOXTAL_CARRIER__, __BOXTAL_REF__, __BOXTAL_RELAY__ et __BOXTAL_COLLECTDATE__, disponibles dans tout modèle d’e-mail ou de document du document porteur. Le modèle installé n’est jamais réécrit : votre formulation vous appartient.
  • Numéro de suivi affiché de la même façon partout : le numéro du transporteur, cliquable vers la page de suivi Boxtal, sur l’expédition comme sur la facture ou le devis. Tant que le transporteur n’a pas rendu son numéro, le lien de suivi reste proposé seul.
  • Menu « Envois Boxtal » déplacé sous Produits | Services, à la suite des Expéditions, là où Dolibarr range la logistique.
  • Environnement effacé de l’affichage courant. « Production » sur chaque ligne et chaque fiche n’apprenait rien. La colonne de la liste laisse la place au destinataire prévenu ; un envoi de bac à sable, lui, reste signalé par un badge sur sa référence et par une ligne sur sa fiche — c’est le cas anormal qui doit se voir.

Ajouté

  • Date d’envoi de la notification conservée. La fiche et la liste indiquent si le destinataire a été prévenu — et quand. On cherche cette information le jour où le client rappelle, pas au moment où on envoie le mail.
  • Onglet Boxtal sur les fiches facture et devis, avec le même badge d’état que sur l’expédition. Un envoi porté par une facture n’était visible que par le bouton de la barre d’actions : rien n’indiquait qu’une étiquette avait été achetée.

Corrigé

  • Colonne « Destinataire prévenu » homogène : elle affiche toujours « Oui » ou « Non » ; quand l’heure d’envoi est connue, elle apparaît sur une seconde ligne au lieu de remplacer la réponse.
  • Le lien de suivi ne menait nulle part sur l’écran d’un envoi porté par une expédition. La méthode du cœur getUrlTrackingStatus() ne renvoie pas une adresse mais une balise de lien complète, qui se retrouvait insérée comme adresse.
  • Bouton « Actualiser le statut » désaligné dans la barre d’actions, et son libellé plus fin que celui des boutons voisins.

[1.0.0] - 2026-09-08

Première version publiée. Le module cote, commande et suit un envoi Boxtal depuis une expédition, une facture ou un devis, et il est en vente sur hellolemon.fr.

Mode d’emploi embarqué — 6 septembre 2026

  • Configuration et mode d’emploi réservés aux utilisateurs internes habilités, même si un droit du module a été attribué à un compte externe.
  • Onglet Mode d’emploi accessible dans admin/howto.php, avec compatibilité des anciens liens admin/help.php.
  • Guide actualisé pour les trois étapes, les contacts, les cartes colis, le domicile par défaut et la notification de suivi pour tous les modes de livraison.
  • Consignes de dépannage précisées pour éviter de racheter un transport dont l’étiquette tarde.

Préparation en trois étapes — 6 septembre 2026

  • Préparation, transport et vérification finale dans un formulaire unique, avec récapitulatif et retours sans perte des saisies.
  • Bouton d’achat présenté à la confirmation ; les paramètres propres à une offre sont demandés à l’étape transport. Le chiffrage des frais de port suit le même parcours.
  • Une modification des adresses, du contenu, de la date ou des colis invalide la cotation ; consulter une étape précédente conserve le choix.
  • Après l’achat, la fiche reste consacrée aux étiquettes, au suivi et à la notification.

Parcours d’expédition — 6 septembre 2026

  • Préparation des colis remplacée par des cartes directement modifiables : nombre et poids total visibles, ajout, duplication et retrait explicites. Plus de découpage implicite du contenu en cartons.
  • Poids proposé depuis les quantités réellement expédiées et les unités des produits ; poids manuel prioritaire et articles incomplets signalés. Les dimensions des articles restent des indications, celles du colis restent à vérifier.
  • Domicile affiché en premier par défaut, avec préférence configurable. Les cartes et recherches de dépôt inutiles sont masquées.
  • Notification du suivi disponible pour tous les modes de livraison et destinataire saisi conservé avec chaque nouvel envoi. Les colonnes de destinataire sont ajoutées à la réactivation, sans modifier les anciens envois.

Contact destinataire — 6 septembre 2026

  • Choix d’un contact du tiers sur les écrans d’envoi et de frais de port : prénom, nom et coordonnées repris séparément de la société. Contact de livraison proposé en priorité ; saisie libre conservée.
  • Respect des droits de lecture, des contacts privés et du périmètre du tiers. Un changement de contact impose une nouvelle cotation et ignore les anciennes réponses de recherche de points relais.
  • Correction du choix d’un point de dépôt lorsque la recherche de son nom échoue.

Complément d’audit — 6 septembre 2026

  • Une réponse d’achat incertaine conserve la réservation : une relance ne peut plus provoquer un second achat automatique.
  • Permissions REST et périmètres tiers/commerciaux renforcés ; documents, colis et transactions isolés entre expéditions, factures et devis.
  • Plusieurs PDF d’un envoi récupérés et proposés séparément ; reprise des récupérations incomplètes et messages d’attente explicites.
  • Remplacement des frais de port transactionnel, poids corrigés et migrations contrôlées, rejouables sans perte des données existantes.
  • Préparation des colis plus lisible, aucun faux colis à zéro, actions désactivées sans clés ou droit et notification décrivant une préparation sans présumer la prise en charge.
  • Recette des sources réussie sur Dolibarr 18 à 24 avec MariaDB 10.11. Aucun achat ou envoi de message réel ; services Boxtal et PostgreSQL non certifiés.

Mise à niveau

  • Les tables llx_lemonboxtal_shipment et llx_lemonboxtal_parcel gagnent le document porteur (element_type, fk_element) et une clé d’idempotence. Après remplacement des fichiers, désactivez puis réactivez le module en deux opérations séparées pour jouer la migration : dans un seul passage, la désactivation suivie de l’activation est sans effet et retourne pourtant « OK ».
  • La contrainte d’unicité se déplace : elle portait sur l’expédition seule, elle porte désormais sur l’expédition ou sur la clé d’idempotence. Rien à faire, la migration s’en charge.

Ajouté

  • Envoi depuis une facture. Une expédition Dolibarr ne sait porter que des lignes de commande : un flux devis → facture directe n’a donc aucune expédition possible, alors que l’étiquette reste nécessaire. L’envoi se rattache alors à la facture, et le PDF va dans ses documents. Depuis une facture issue d’une commande, le parcours reste l’expédition native, plus riche (stock, numéro de suivi natif, onglet).
  • Plusieurs étiquettes par facture : dix appareils pour dix établissements font dix envois. Le garde-fou anti-double-achat ne porte donc plus sur le document mais sur l’intention d’achat — un double-clic est refusé, un second envoi délibéré passe.
  • Offres en onglets par mode de livraison (domicile, point relais, entreprise), et choix du point relais en fenêtre ouverte depuis la ligne d’offre, au lieu d’un bloc qui repoussait la page.
  • Carte des points de dépôt, comme pour le retrait, avec un champ « chercher autour de » : la société n’est pas toujours là d’où l’on dépose réellement le colis.
  • Saisie des colis repensée : une ligne de saisie, un bouton « Valider ce colis », et la table de ce qui part réellement en dessous. Identique sur l’écran d’envoi et sur le chiffrage au devis.
  • La valeur déclarée se pré-remplit avec le total HT du document porteur quand il n’y a pas de commande d’origine.

Corrigé

  • Les libellés renvoyés par Boxtal étaient parfois déjà encodés en entités HTML (« Type d’emballage utilisé ») et s’affichaient tels quels. Ils sont normalisés à la frontière de l’API.
  • Les messages d’erreur des appels de cotation partaient encodés et s’affichaient avec leurs entités.
  • « Renseignez les champs signalés en rouge » sans dire lesquels : le contrôle amène maintenant sur le premier champ manquant, le nomme, et le rouge est plus visible.
  • Sur la configuration, « Tester la connexion » et « Synchroniser » n’emportaient pas les clés saisies : une clé fraîchement tapée était perdue au rechargement sans avoir été enregistrée. Les deux boutons enregistrent d’abord, et un bouton « Enregistrer » est disponible sous les clés.

Retiré

  • La tare n’est plus ajoutée au poids déclaré. Le poids saisi est celui envoyé à Boxtal. Un colis plus lourd que déclaré reste redressé et refacturé par le transporteur.
  • Le bandeau d’avertissement permanent en production et la fenêtre de confirmation à la commande : la case à cocher, vérifiée côté serveur, est la seule barrière qui protège vraiment. Le bandeau de test, lui, reste.

[0.1.0] - 2026-07-16

Mise à niveau

  • La colonne insurance de llx_lemonboxtal_quote est créée par la migration du module : après remplacement des fichiers, désactivez puis réactivez LemonBoxtal (deux opérations séparées) pour la jouer. Sans elle, l’enregistrement d’un chiffrage échoue.

Ajouté

  • Première version de LemonBoxtal : coter, commander et suivre un envoi Boxtal (ex-EnvoiMoinsCher) depuis une expédition Dolibarr.
  • Onglet « Boxtal » sur la fiche expédition, avec badge d’état sur le libellé de l’onglet — lu depuis le cache local, aucun appel réseau au chargement d’une fiche.
  • Cotation multi-transporteurs : comparaison des offres (~15 transporteurs) avec prix HT/TTC, mode de livraison (domicile, point relais, entreprise) et mode de dépôt, sans aucun contrat transporteur à signer.
  • Calibrage des colis à partir d’un catalogue de cartons personnalisable (dimensions, poids maximum, tare) : répartition par poids proposée automatiquement, ajustable à la main. Trois formats courants sont pré-remplis à l’activation.
  • Choix du point relais sur carte (OpenStreetMap) parmi les points éligibles renvoyés par Boxtal pour l’offre choisie.
  • Commande de l’envoi : le formulaire est généré à partir des champs réellement exigés par l’offre retenue, les numéros de téléphone français sont convertis automatiquement au format international attendu par Boxtal.
  • Étiquette PDF déposée dans l’onglet Documents de l’expédition, et numéro de suivi renseigné automatiquement sur l’expédition (lien de suivi natif de Dolibarr).
  • Notification du destinataire par e-mail : numéro de suivi et, pour une livraison en relais, adresse et horaires du point choisi.
  • Boutons d’accès depuis les fiches commande et facture vers l’envoi Boxtal de l’expédition liée.
  • Liste des envois Boxtal dans le menu Commercial.
  • Tâche planifiée de rattrapage des étiquettes dont le PDF n’était pas encore disponible au moment de la commande (désactivée par défaut).
  • Garde-fous production : le module démarre en sandbox et n’en sort jamais tout seul ; en production, bandeau d’avertissement permanent et confirmation explicite à chaque commande (achat ferme, non annulable par API) ; droit « commander » distinct du droit « consulter » et décoché par défaut.
  • Clés API chiffrées en base, jamais réaffichées en clair ; conservées à la désactivation du module.
  • Lien direct vers la gestion de l’envoi sur le site Boxtal (annulation, réclamation) et vers la page de suivi public.