Modifier une commande PrestaShop avec DataFirefly Order Editor
Installer le module, régler les états modifiables et le traitement des factures, puis modifier produits, adresses, transporteur et remises d'une commande validée.
Présentation
DataFirefly Order Editor ajoute un éditeur sur la page de chaque commande du back-office, juste sous le bloc Produits. Il permet de modifier une commande validée comme un panier : ajouter ou retirer des produits, changer une déclinaison, corriger une quantité ou un prix, changer d’adresse ou de transporteur, retirer ou ajouter une remise. Chaque modification est recalculée par le moteur de panier de PrestaShop, et la facture est annulée par un avoir puis réémise, ou mise à jour selon votre choix.
Le module fonctionne sur PrestaShop 8.0 à 9.x. Il est traduit en français, anglais, espagnol, allemand, italien, néerlandais, polonais et portugais.
Installation
- Dans Modules > Gestionnaire de modules, cliquez sur Installer un module et déposez le fichier
dforderedit-1.0.0.zip. - À l’installation, le module donne ses droits aux profils qui peuvent déjà modifier les commandes (par exemple SuperAdmin, Commercial, Logisticien).
- Ouvrez une commande : le bloc Éditeur de commande apparaît sous le bloc Produits.
Un profil sans le droit de modifier les commandes ne voit pas l’éditeur. Pour l’ouvrir à un nouveau profil, donnez-lui le droit de modification sur les commandes, puis cochez les droits du module dans Paramètres avancés > Équipe > Permissions.
Configuration
La page de configuration du module propose cinq réglages :
- États de commande modifiables : l’éditeur n’est proposé que pour les commandes dans ces états. Les états Annulé, Remboursé et Erreur de paiement sont exclus par défaut.
- Traitement de la facture par défaut : avoir et nouvelle facture (recommandé, obligatoire en France), ou mise à jour de la facture existante avec le même numéro. Ce choix se change à chaque modification.
- Remettre en stock les quantités retirées par défaut.
- Prévenir le client par e-mail par défaut.
- Ajouter une note privée à la commande après chaque modification.
Modifier une commande
Ouvrir l’éditeur
Sur la page de la commande, cliquez sur Modifier cette commande. Tant que vous n’avez rien validé, la commande n’est pas touchée : le bouton Réinitialiser annule toutes les modifications en cours, et le navigateur vous prévient si vous quittez la page avec des modifications non appliquées.
Produits
- Ajouter un produit : tapez un nom, une référence, un EAN ou un ID dans la recherche (plusieurs mots possibles, dans n’importe quel ordre). Les flèches et la touche Entrée permettent de choisir au clavier. Pour un produit à déclinaisons, choisissez la déclinaison dans la liste qui s’affiche.
- Changer la déclinaison : la liste indique le stock de chaque déclinaison. Le prix de la nouvelle déclinaison est repris automatiquement et reste modifiable.
- Corriger la quantité ou le prix : le prix payé par le client est conservé par défaut. Le lien Appliquer le prix catalogue reprend le prix actuel pour ce client (groupe, prix spécifiques, remises quantité).
- Saisie HT ou TTC : le bouton au-dessus du tableau choisit le mode de saisie. Il suit par défaut l’affichage des prix du groupe du client. Un prix saisi TTC est converti en HT, qui reste la référence de la commande.
- Retirer une ligne : l’icône corbeille barre la ligne, l’icône flèche l’annule.
Adresses
Choisissez une autre adresse du client dans la liste, ou cliquez sur Modifier les champs de cette adresse pour corriger une rue ou un code postal. Une adresse modifiée est enregistrée comme nouvelle adresse liée à cette seule commande : les commandes passées et le carnet d’adresses du client ne changent pas. Si le pays change, la TVA des produits et du port est recalculée.
Réductions
Décochez une réduction pour la retirer de la commande. La recherche ajoute une règle panier existante par nom ou par code. Le lien Ajouter une remise libre crée une remise en montant TTC ou en pourcentage avec le libellé de votre choix, sans passer par le catalogue des règles panier. Cette remise est enregistrée comme une règle panier désactivée, réservée au client et déjà consommée : elle ne peut pas être réutilisée au panier.
Transport
La liste des transporteurs ne propose que ceux qui peuvent livrer le panier modifié à l’adresse choisie, avec leur prix et leur délai. Trois modes s’appliquent aux frais de port :
- Conserver les frais de port de la commande : le montant HT est gardé, la taxe suit l’adresse si elle change de pays.
- Recalculer avec le transporteur choisi : obligatoire quand vous changez de transporteur.
- Fixer des frais de port (TTC).
Options
- État de la commande après modification : l’état change par l’historique natif de PrestaShop, avec ses e-mails habituels.
- Remettre en stock les quantités retirées.
- Envoyer au client le récapitulatif de la commande modifiée, dans sa langue.
- Facture : avoir et nouvelle facture, ou mise à jour de la facture existante.
- Note interne, enregistrée dans l’historique des modifications.
Nouveaux totaux et validation
Quelques instants après chaque changement, la barre fixée en bas de l’écran affiche le total TTC avant et après, l’écart, et le reste à payer par le client ou le trop-perçu à lui rembourser. Le lien Détails ouvre le comparatif ligne par ligne (quantités, prix, taux de taxe), les réductions, les adresses et tous les totaux. Les alertes s’affichent au-dessus : stock insuffisant, règle panier dont le minimum n’est plus atteint, transporteur qui ne livre plus.
Cliquez sur Appliquer les modifications : la confirmation liste les lignes touchées, les réductions, le changement de transporteur, les documents qui seront créés et le nouvel état. Cliquez sur Confirmer et appliquer, la page se recharge sur la commande à jour.
Facture et avoir
Mode avoir et nouvelle facture (par défaut)
- Le PDF de la facture est archivé tel qu’il était, avant toute écriture.
- Un avoir annule la facture pour son montant total. Son PDF est archivé lui aussi.
- Une nouvelle facture est émise avec le numéro suivant. Les lignes, les réductions, le transporteur et les paiements y sont rattachés.
Le lien de téléchargement de la facture annulée, dans le back-office comme dans le compte client, renvoie toujours son PDF d’origine. La facture annulée n’est plus proposée dans le formulaire d’ajout de paiement.
Mode mise à jour
Les montants de la facture existante sont mis à jour et elle garde son numéro, comme le fait PrestaShop nativement. Le PDF d’avant la modification est tout de même archivé. Une commande qui a plusieurs factures passe toujours par le mode avoir et nouvelle facture.
Si aucune facture n’a encore été émise, il n’y a rien à régénérer : seule la commande est mise à jour.
Paiements et remboursements
Le paiement déjà reçu reste sur la commande. Quand le nouveau total est plus élevé, PrestaShop affiche le reste dû comme pour tout paiement partiel. Quand il est plus bas, le trop-perçu s’affiche dans l’éditeur et le remboursement se fait avec votre prestataire de paiement.
Quand une commande passe ensuite dans un état payé, PrestaShop ajoute normalement un paiement pour chaque facture non soldée. Le module empêche ce paiement fictif sur les factures annulées par un avoir.
Stock
Le stock est ajusté par différence. Une quantité passée de 2 à 3 consomme une unité, une ligne retirée remet sa quantité en stock si l’option est cochée, une déclinaison échangée rend l’ancienne et consomme la nouvelle. Les quantités réservées sont recalculées à la fin.
Lignes verrouillées
- Ligne remboursée ou retournée : ni modifiable ni supprimable, pour ne pas fausser les avoirs existants. Les autres lignes de la commande restent modifiables.
- Ligne personnalisée (texte, fichier envoyé par le client) : elle peut être retirée mais pas modifiée. Le texte de la personnalisation est affiché sous la ligne et les fichiers du client ne sont jamais touchés.
- Produit supprimé du catalogue : la ligne peut seulement être retirée.
Historique et traçabilité
L’historique, sous l’éditeur, liste chaque modification : date, employé, lignes, réductions, adresses, transporteur et état modifiés, total avant et après, note interne, et liens vers les PDF archivés. Une note privée résume aussi la modification dans les messages de la commande.
À la désinstallation, l’historique et les PDF archivés sont conservés pour que les factures annulées restent identifiées si le module est réinstallé.
Pour les développeurs
actionOrderEdited: hook natif de PrestaShop, appelé avecorderaprès chaque modification.actionDfOrderEditAfter: appelé avecorder,id_dforderedit_log,changes(lignes, réductions, adresses, transporteur, totaux) etid_order_slips.
Le recalcul passe par un panier temporaire jamais rattaché à une commande et supprimé à la fin. L’aperçu est calculé dans une transaction annulée.
Dépannage
L’éditeur n’apparaît pas sur la commande
Vérifiez que l’état de la commande fait partie des états modifiables dans la configuration, et que le profil de l’employé a le droit de modifier les commandes ainsi que le droit de voir le module.
Le transporteur ne peut pas livrer le nouveau panier
Le poids, le montant ou la zone sortent des tranches du transporteur. Choisissez un autre transporteur dans la liste ou fixez les frais de port à la main.
Le prix d’une ligne n’a pas pu être fixé exactement
Une règle du catalogue (réduction de groupe, par exemple) s’applique par-dessus le prix saisi. Vérifiez le prix dans les détails avant de confirmer.
Commande issue d’un panier multi-transporteur
Quand un panier a été découpé en plusieurs commandes, les règles panier sont recalculées sur la seule commande modifiée. Un avertissement le rappelle dans l’aperçu.