Custom Order Numbering — Documentation

Remplacez les références de commande aléatoires de PrestaShop, comme XKBHMQWNY, par des références structurées que votre équipe peut comprendre d’un coup d’œil. Order Number vous permet de créer des références à partir de balises de date, de balises de compteur, du contexte boutique/client, de préfixes et de suffixes, par exemple ORD-2026-000001.

Order Number

Les références de commande natives de PrestaShop sont uniques, mais elles ne sont pas parlantes pour le service client, la comptabilité ou le traitement interne des commandes. Order Number corrige cela en générant une référence formatée lorsqu’une nouvelle commande est créée.

Un format courant peut afficher l’année, le mois et la position de la commande :

ORD-{YYYY}-{NNNNNN}

Exemple d’aperçu :

ORD-2026-000042

Le module prend en charge PrestaShop 1.6 à 9.0 (latest), PHP 7.1+. Nous continuons également à prendre en charge les prochaines versions de PrestaShop.

Custom Order Numbering — Reference format builder

Fonctionnement

Vous définissez un modèle de référence dans le Format Builder du module. Lorsqu’un client passe une commande, le module génère la référence suivante à partir de ce modèle et enregistre une entrée d’audit correspondante.

Sur les versions de PrestaShop qui disposent du hook natif de référence de document, le module utilise :

actionGenerateDocumentReference
actionValidateOrder

Sur les versions plus anciennes où ce hook n’est pas disponible, le module utilise son override inclus Order::generateReference() afin que les nouvelles commandes puissent tout de même recevoir votre référence personnalisée.

Les commandes existantes conservent leurs références actuelles. Le module affecte uniquement les nouvelles références générées après son installation et sa configuration.

Le module élargit également les colonnes de référence de commande afin d’autoriser des références structurées plus longues :

orders.reference        VARCHAR(64)
order_payment.order_reference VARCHAR(64)
Custom Order Numbering — Reference live preview

Installation

  1. Dans votre Back Office, allez dans Modules → Module Manager
  2. Cliquez sur Upload a module et sélectionnez le fichier ZIP
  3. Une fois le module installé, cliquez sur Configure
  4. Ouvrez Improve → Order Numbering

Le module ajoute ces pages au Back Office :

Order Numbering
- Dashboard
- Format Builder
- Generated References
- Settings
Custom Order Numbering — Counter reset settings

Configuration

Modèle de format

Le réglage principal est le modèle utilisé pour construire chaque référence de commande.

Modèle par défaut :

{YYYY}/{MM}/{NNNNNN}

Exemple de sortie :

2026/06/000042

Exemples de modèles courants :

ORD-{YYYY}-{NNNNNN}
{YYYY}/{MM}/{NNNNNN}
SHOP-{SHOP_ID}-{YYYY}-{NNNNN}
{COUNTRY}-{YYYY}-{MM}-{NNNNNN}

Pour une numérotation par client, ajoutez un discriminant propre au client ou aléatoire afin que les références restent uniques globalement :

CUST-{CUSTOMER_ID}-{CUSTOMER_NNNN}
{CUSTOMER_REF}-{CUSTOMER_NNNN}

Préfixe et suffixe

Vous pouvez aussi ajouter un préfixe et un suffixe statiques autour du modèle.

Clés de configuration réelles utilisées par le module :

order_prefix=ORD-
order_format={YYYY}-{NNNNNN}
order_suffix=

Cela produit :

ORD-2026-000042

Réinitialisation du compteur

Choisissez quand le compteur est réinitialisé :

never
yearly
monthly
daily

Si vous choisissez yearly, le modèle doit contenir {YYYY} ou {YY}.

ORD-{YYYY}-{NNNNNN}

Si vous choisissez monthly, le modèle doit contenir une balise d’année et {MM}.

ORD-{YYYY}-{MM}-{NNNNNN}

Si vous choisissez daily, le modèle doit contenir une balise d’année, {MM} et {DD}.

ORD-{YYYY}-{MM}-{DD}-{NNNN}

Portée du compteur

Choisissez la manière dont les compteurs sont comptabilisés :

global
customer

global utilise une seule séquence par boutique.

ORD-{YYYY}-{NNNNNN}

customer permet à chaque client d’avoir sa propre séquence, mais le format doit tout de même contenir une balise client unique ou une balise aléatoire.

C-{CUSTOMER_ID}-{CUSTOMER_NNNN}

Définir le prochain numéro

Utilisez Set Next Number lorsque vous souhaitez que la prochaine commande commence à un numéro précis, par exemple après une migration depuis un autre système de commandes.

order_start_number=5000

La prochaine référence générée utilise cette valeur une seule fois, puis le réglage est automatiquement vidé.

Custom Order Numbering — Reference log dashboard

Balises disponibles

Le Format Builder affiche les balises disponibles pour les références de commande. Les plus utiles sont :

{YYYY}        Full year, e.g. 2026
{YY}          2-digit year, e.g. 26
{MM}          Month, e.g. 06
{DD}          Day, e.g. 16
{QUARTER}     Quarter, e.g. Q2
{WEEK}        ISO week, e.g. 25
{N}           Counter without padding
{NN}          Counter padded to 2 digits
{NNN}         Counter padded to 3 digits
{NNNN}        Counter padded to 4 digits
{NNNNN}       Counter padded to 5 digits
{NNNNNN}      Counter padded to 6 digits
{NNNNNNN}     Counter padded to 7 digits
{NNNNNNNN}    Counter padded to 8 digits
{GLOBAL_NNNNNN}    Global shop counter
{CUSTOMER_NNNN}    Per-customer counter
{CUSTOMER_ID}      Customer ID
{CUSTOMER_EMAIL}   Customer email prefix
{CUSTOMER_REF}     Stable secure customer reference
{COUNTRY}          Delivery country ISO code
{SHOP_ID}          Shop ID
{SHOP_NAME}        Shop name
{CART_ID}          Cart ID
{RAND6}            Random 6-letter code
{RAND9}            Random 9-letter code

Certaines balises de document ne sont volontairement pas disponibles pendant que PrestaShop crée la référence de commande, car la commande ou la facture n’existe pas encore :

{ORDER_ID}
{INVOICE_ID}
{DOC_TYPE}
{PAYMENT}
Custom Order Numbering — Mprordernumber counter settings

Réglages par défaut

Après l’installation, le module démarre avec ces valeurs par défaut :

enabled=1
order_format={YYYY}/{MM}/{NNNNNN}
order_reset_mode=yearly
order_counter_scope=global
order_start_number=
order_prefix=
order_suffix=
Custom Order Numbering — Mprordernumber dashboard counters

Journal des références générées

Chaque référence générée est conservée dans un journal d’audit en lecture seule. Le journal enregistre :

id_order
id_cart
id_customer
id_shop
counter_value
format_pattern
formatted_reference
date_add

Cela vous aide à vérifier quel modèle a été utilisé pour une référence et à relier une référence générée à la commande une fois que PrestaShop a terminé sa création.

Custom Order Numbering — Mprordernumber format builder

Multi-boutique

Les compteurs sont enregistrés par boutique. Dans une installation multi-boutique, chaque boutique possède sa propre id_shop dans la table des compteurs, ce qui lui permet de conserver sa propre séquence de numérotation.

Un modèle multi-boutique utile est :

{SHOP_ID}-{YYYY}-{NNNNNN}

Ou, si chaque boutique représente un pays ou une marque, utilisez un préfixe statique par boutique :

DE-{YYYY}-{NNNNNN}
FR-{YYYY}-{NNNNNN}
Custom Order Numbering — Mprordernumber generated log

Conseils

  • Utilisez {YYYY} dans la plupart des formats afin que l’année soit visible sans ouvrir la commande.
  • Utilisez {MM} si vous réinitialisez les compteurs chaque mois ou si vous souhaitez regrouper les références par mois.
  • Prévoyez suffisamment de chiffres pour votre volume de commandes. {NNNNN} donne cinq chiffres ; {NNNNNN} en donne six.
  • Configurez le modèle avant la mise en production. Vous pouvez modifier le format plus tard, mais les commandes futures auront un aspect différent des anciennes.
  • Pour les compteurs par client, incluez {CUSTOMER_ID}, {CUSTOMER_REF}, {CART_ID}, {RAND6}, {RAND7}, {RAND8} ou {RAND9} afin que les références restent uniques.
  • Gardez les références sous 64 caractères. Le module valide l’aperçu généré par rapport à cette limite.
Custom Order Numbering — Mprordernumber integrity checks

Questions fréquentes

Les commandes existantes recevront-elles de nouvelles références ?

Non. Les commandes existantes conservent leurs références PrestaShop d’origine. Seules les nouvelles commandes utilisent le format personnalisé.

Les clients peuvent-ils voir la nouvelle référence de commande ?

Oui. Il s’agit de la référence de commande PrestaShop normale, les clients peuvent donc la voir partout où la boutique affiche la référence de commande, par exemple dans les pages de compte client, les e-mails de commande et les factures.

Que se passe-t-il si deux commandes sont passées au même moment ?

Le compteur est incrémenté dans une transaction de base de données avec SELECT ... FOR UPDATE, de sorte que chaque commande reçoit sa propre valeur de compteur.

Puis-je inclure le mois dans la référence ?

Oui. Utilisez {MM}.

ORD-{YYYY}-{MM}-{NNNNNN}

Puis-je réinitialiser le compteur chaque mois ?

Oui. Réglez le mode de réinitialisation sur monthly et incluez {YYYY} ou {YY} ainsi que {MM} dans le modèle.

{YYYY}/{MM}/{NNNNNN}

Puis-je réinitialiser le compteur chaque jour ?

Oui. Réglez le mode de réinitialisation sur daily et incluez {YYYY} ou {YY}, {MM} et {DD}.

{YYYY}/{MM}/{DD}/{NNNN}

Chaque client peut-il avoir son propre compteur ?

Oui. Réglez la portée du compteur sur customer et incluez une balise client unique ou aléatoire dans le format.

C-{CUSTOMER_ID}-{CUSTOMER_NNNN}

Que se passe-t-il si la numérotation personnalisée est désactivée ?

PrestaShop revient à sa génération normale de références aléatoires.

Que se passe-t-il si le format n’est pas valide ?

Le module refuse d’enregistrer les formats non valides dans le Format Builder. Si une configuration non valide est rencontrée lors de la création d’une commande, le module consigne le problème et ne renvoie pas de référence personnalisée pour cette commande.

Que se passe-t-il si une commande est annulée ?

La commande conserve la référence qui lui a été attribuée. Le module ne réutilise pas les numéros déjà générés pour des commandes.

Chargement...
Retour en haut