Le sujet des commandes dédoublonnées, liées ou commandes doublons avec PrestaShop n’est pas un cas isolé puisque j’ai rencontré le cas sur nombreuses de vos boutique en ligne.
Sommaire
- Quel est le problème des commandes liées ou commandes doublon dans PrestaShop ?
- Comment corriger le bug des commandes doublons / liées dans PrestaShop ?
- Conclusion
- Aller plus loin
Quel est le problème des commandes liées ou commandes doublon dans PrestaShop ?
C’est très simple ! Au lieu d’avoir une seule commande dans le back office, vous avez :
- 2 commandes avec 2 ID différents,
- 2 commandes avec la même référence,
- 2 commandes qui contiennent les produits de la commande initiale répartis de manière aléatoire.
Voici un aperçu d’une commande doublon ou commande liée dans PrestaShop :


Comment corriger le bug des commandes doublons / liées dans PrestaShop ?
Voici les 5 étapes pour corriger le problème / bug des commandes doublons / liées dans PrestaShop 1.6 / 1.7 – c’est aussi le résumé de la vidéo qui suit :
- Connectez-vous à PhpMyAdmin,
- Ouvrez la table ps_orders,
- Editez la structure de la table,
- Modifiez la longueur du champ « reference » de 9 à 14 caractères,
- Enregistrez et savourez !
Pour tous ceux moins familiers avec la gestion des bases de données sous PrestaShop, je vous ai préparé une vidéo tuto simple et efficace :
Une fois que vous aurez suivi les étapes de ce tuto PrestaShop, les références de vos commandes seront désormais sous ce format :

Conclusion
Ce problème peut réellement vous mener la vie dure en tant que marchand pour la gestion de vos commandes. C’est pourquoi ce tuto PrestaShop est là pour vous aider à passer à travers ce problème comme ces autres tutos prestashop d’ailleurs.
Je me dis surtout que si vous souhaitez vous lancer dans la vente en ligne aujourd’hui sans aucune connaissance technique, vous vous risquez à des situations délicates. Mon conseil : entourez-vous des bonnes personnes ou formez-vous 😉
J’espère que cet article vous a plu. Pensez à vous abonnez à la newsletter pour être averti des prochains articles / tutos !
Aller plus loin
Pour compléter cet article, je vais publier d’autres pistes de travail pour aider à solutionner cette situation qui peut avoir différentes causes.
Il y a plusieurs issues, ce topic liste les differents problèmes recensés : https://t.co/L6PcLMvQ8u
Selon certains, ce n’est pas un bug mais une fonctionnalité : ce n’est pas mon avis !— Jeff Viguier (@jfviguier) July 1, 2020
Bonjour Arnaud,
Merci pour cette astuce !
As-tu une explication sur l’origine de ce bug ?
Bonjour Rachel,
Avec plaisir. J’ai constaté sur une boutique avec un grand nombre de commandes que les références se généraient en double d’où l’erreur.
Bonjour et merci par votre solution.
Ce que je ne comprends pas ce pourquoi avec 14 chiffres le bug ne reviendra pas ?
Bonjour Pierre,
Merci pour le commentaire !
Comme déjà dit, j’ai constaté sur une boutique avec un grand nombre de commandes que les références se généraient en double d’où l’erreur.
Pour aller plus loin, voici d’autres ressources :
https://github.com/PrestaShop/PrestaShop/issues/11115
https://github.com/PrestaShop/PrestaShop/issues/20641
Bonne journée 🙂
Bonjour,
Modifier la structure de la colonne « reference » en mettant varchar(14) ne change en rien le nombre de caractères insérés lors de la création d’une commande, puisqu’au niveau du code de presta, ce sont toujours 9 caractères aléatoires qui sont générés ?
Cf la fonction concernée dans la classe order.php :
public static function generateReference()
{
return strtoupper(Tools::passwdGen(9, ‘NO_NUMERIC’));
}
public function orderContainProduct($id_product)
{
$product_list = $this->getOrderDetailList();
foreach ($product_list as $product) {
if ($product[‘product_id’] == (int) $id_product) {
return true;
}
}
return false;
}
Bonjour Francoisparis,
Merci pour votre commentaire.
En effet, la modification en base de données ne fait que modifier le nombre de caractère maximum pour le champ.
J’ai omis de citer la modification de la fonction generateReference comme vous le dites et comme c’est indiqué ici : https://github.com/PrestaShop/PrestaShop/issues/20641
Bonne journée 😉