# Créer ou modifier des statuts de commande personnalisés sur PrestaShop

> Créer un statut sur mesure, masquer un statut existant, ou faire en sorte qu’un statut change automatiquement selon un événement : la gestion des statuts de commande touche à la fois l’affichage, l’e-mail associé, et parfois une erreur 500 quand l’un des deux est mal configuré.

- Source canonique : [https://allaux.fr/prestashop/problemes/statuts-commande-personnalises](https://allaux.fr/prestashop/problemes/statuts-commande-personnalises)
- Langue : FR
- Dernière mise à jour : 2026-08-03

## Réponse directe

> Créez ou modifiez le statut dans Commandes > Statuts : libellé, couleur, envoi d’e-mail et modèle associé se règlent sur cet écran, chaque statut étant une ligne de ps_order_state. Si le passage à ce statut renvoie une erreur 500, le modèle d’e-mail correspondant manque ou est mal formé dans mails/fr/ ; c’est sa génération qui casse, pas le changement lui-même.

## Ce qui se règle depuis le back-office

Les statuts se gèrent dans Commandes > Statuts, où chaque statut peut avoir son propre libellé, sa couleur, et surtout un déclenchement d’e-mail automatique vers le client, avec son propre template. Créer un nouveau statut, associer ou retirer son e-mail, changer sa couleur : tout cela se fait depuis cet écran, sans développement.

Ce qui n’est en revanche pas prévu nativement : masquer un statut existant à certains utilisateurs du back-office, ou le retirer du workflow standard tout en le conservant pour l’historique. Un statut se désactive ou se supprime, il ne se masque pas de façon conditionnelle sans développement.

## L’erreur 500 au changement de statut

C’est un cas fréquent et presque toujours lié à la même cause : le template d’e-mail associé au nouveau statut est manquant, mal formé, ou référence un logo introuvable. Le changement de statut déclenche la génération de l’e-mail, et une variable Smarty non définie dans ce template suffit à interrompre tout le processus avec une erreur 500, même si la logique de changement de statut elle-même est correcte.

Je commence toujours par vérifier le template d’e-mail du statut concerné, dans le dossier mails/ de la langue utilisée, avant de chercher une cause plus complexe.

## Automatiser un changement de statut

Faire changer un statut automatiquement — par exemple dès qu’un numéro de suivi transporteur est renseigné sur la commande — n’existe pas nativement dans PrestaShop. Cela demande d’accrocher du code sur un hook approprié, par exemple au moment de la mise à jour de la commande, pour déclencher le changement de statut selon la condition voulue. C’est un développement ciblé, pas un réglage.

## Écran back-office ou hook sur mesure ?

> Créer, modifier ou associer un e-mail à un statut se fait depuis Commandes > Statuts. Masquer conditionnellement un statut ou automatiser son déclenchement selon un événement demande un développement sur un hook PrestaShop.

## Pages liées

- **Problème d’affichage ou de modèle de facture** — La génération de facture dépend directement du statut marqué comme payé : les deux réglages sont liés. ([/prestashop/problemes/factures-affichage-modele](/prestashop/problemes/factures-affichage-modele))
- **E-mails de confirmation de commande non reçus** — Chaque statut a son propre template d’e-mail : diagnostic complet quand ces e-mails n’arrivent jamais. ([/prestashop/problemes/emails-confirmation-commande-non-recus](/prestashop/problemes/emails-confirmation-commande-non-recus))
- **Erreur 500 ou page blanche sur PrestaShop** — Comment lire les vrais messages d’erreur quand un changement d’état déclenche une erreur 500. ([/prestashop/erreur-500](/prestashop/erreur-500))
- **Développement de module sur mesure** — Automatisation par hook, masquage conditionnel : quand un besoin dépasse l’écran de configuration standard. ([/prestashop/module-sur-mesure](/prestashop/module-sur-mesure))

## FAQ

### Peut-on masquer un statut sans le supprimer ?

Pas nativement pour un usage conditionnel : PrestaShop propose seulement d’activer ou de désactiver un statut globalement. Un masquage selon le profil de l’utilisateur back-office demande un développement.

### Un module qui change automatiquement le statut d’une commande, ça existe ?

Il existe des modules pour des cas précis, comme le paiement ou le transporteur, mais pour une logique propre à un site, je développe généralement un hook dédié plutôt que d’adapter un module générique.

### Pourquoi une erreur 500 apparaît-elle seulement sur certains statuts ?

Parce que chaque statut a son propre template d’e-mail : si un seul de ces templates est cassé, seul le changement vers ce statut précis déclenche l’erreur, les autres continuent de fonctionner normalement.

### Peut-on renommer un statut existant sans risque ?

Oui, renommer le libellé n’a pas d’impact technique. Ce qui demande plus d’attention, c’est de modifier son comportement — couleur d’historique, envoi d’e-mail, statut de facturation associé — car d’autres réglages du site peuvent s’appuyer dessus.
