Numérotation des commandes personnalisée : installation et aide

Démarrage rapide

  1. Téléversez et installez mprordernumber, puis cliquez sur Configurer.
  2. Ouvrez Numérotation des commandes > Générateur de format.
  3. Dans Générateur de format, saisissez {YYYY}-{NNNNNN} dans Modèle et ORD- dans Préfixe, puis examinez l’aperçu.
  4. Réglez Réinitialisation du compteur sur "Annuel" et Portée du compteur sur Compteur global de la boutique ; enregistrez le modèle et les paramètres du compteur.
  5. Dans la section Paramètres, laissez l’option Activer la numérotation personnalisée des commandes activée et ne renseignez Définir le prochain numéro que pour poursuivre une séquence existante.
  6. Passez une commande de test et comparez sa référence avec Références générées.
  7. Passez une deuxième commande de test et vérifiez que le compteur augmente.

Nécessite PrestaShop 1.6.1 ou une version ultérieure et PHP 7.1 ou une version ultérieure.

Manuel de configuration

Installer et ouvrir Numérotation des commandes

Téléversez et installez mprordernumber via "Modules" > "Module Manager". Cliquez sur Configurer pour ouvrir le tableau de bord. Utilisez "Improve" > Numérotation des commandes pour accéder à Tableau de bord, Générateur de format, Références générées et Paramètres. Sur les versions plus anciennes, utilisez l’écran équivalent de téléversement des modules.

Nécessite PrestaShop 1.6.1 ou une version ultérieure et PHP 7.1 ou une version ultérieure.

L’installation crée le stockage des compteurs, des références clients et des références générées. Elle élargit orders.reference et order_payment.order_reference à VARCHAR(64) si nécessaire. L’utilisateur de la base de données doit pouvoir créer des tables et modifier ces colonnes. L’intégration pour les anciennes versions comprend override/classes/order/Order.php ; vérifiez "Integrity" et les overrides Order existants après l’installation.

Configurer le format

Ouvrez Générateur de format. Saisissez votre modèle dans Modèle, utilisez les balises disponibles, examinez l’aperçu en direct et enregistrez. Le modèle défini à l’installation est {YYYY}/{MM}/{NNNNNN}.

Le champ Modèle se modifie dans Générateur de format. L’onglet actuel Paramètres > "Format" contient Préfixe et Suffixe, sans champ supplémentaire pour le modèle de commande.

Pour une référence annuelle telle que ORD-2026-000042 :

Pattern: {YYYY}-{NNNNNN}
Prefix: ORD-
Suffix: empty
Counter Reset: yearly
Counter Scope: global

Pour une séquence mensuelle avec le pays :

Pattern: {COUNTRY}-{YYYY}-{MM}-{NNNNNN}
Counter Reset: monthly
Counter Scope: global

Enregistrez le modèle et les options du compteur avec leurs commandes respectives. Un aperçu ne réserve pas de numéro.

Configurer les paramètres et les compteurs

Onglet Paramètre Valeur par défaut Utilisation
Paramètres généraux Activer la numérotation personnalisée des commandes Oui Désactivez pour rétablir la génération habituelle de références aléatoires pour les nouvelles commandes.
"Format" Préfixe Vide Texte statique avant le modèle résolu.
"Format" Suffixe Vide Texte statique après celui-ci.
"Séquence" Définir le prochain numéro Vide Valeur positive du compteur utilisée une seule fois. Laissez vide pour continuer.
"Séquence" Portée du compteur Compteur global de la boutique Sélectionnez une séquence commune à la boutique ou une séquence par client.
"Règles de réinitialisation" Réinitialisation du compteur "Annuel" Choisissez Jamais, "Annuel", "Mensuel" ou Quotidien.

Les commandes du préfixe, du suffixe, de la portée, de la réinitialisation et du prochain numéro figurent aussi dans les paramètres du compteur de Générateur de format. Définir le prochain numéro est utilisé puis vidé lors de la génération du compteur concerné. Cela ne renumérote pas les commandes existantes. Évitez de définir une valeur dont la référence résultante existe déjà.

Les règles de réinitialisation exigent des balises de date dans le modèle :

Réinitialisation Éléments requis dans le modèle
Jamais Une balise de compteur
"Annuel" {YYYY} ou {YY}, plus un compteur
"Mensuel" L’année et {MM}, plus un compteur
Quotidien L’année, {MM} et {DD}, plus un compteur

Les compteurs sont stockés par boutique. Le mot global désigne le compteur commun à la boutique, pas une séquence partagée entre toutes les boutiques. Utilisez {SHOP_ID} si vous devez distinguer visiblement les boutiques. Les réglages de format sont partagés entre les boutiques même si leurs compteurs sont séparés.

Pour une séquence par client, incluez un élément distinctif unique accepté. Par exemple :

Pattern: CUST-{CUSTOMER_REF}-{CUSTOMER_NNNN}
Counter Scope: customer
Counter Reset: never

Les balises distinctives acceptées comprennent {CUSTOMER_REF}, {CUSTOMER_ID}, {CART_ID} et de {RAND6} à {RAND9}. Plusieurs clients peuvent avoir le même préfixe d’adresse e-mail.

Choisir les balises prises en charge

Balises Signification
{YYYY} {YY} {MM} {DD} {QUARTER} {WEEK} Éléments de date au moment de la génération.
{N} à {NNNNNNNN} Compteur dans la portée principale sélectionnée, complété avec des zéros selon le nombre de caractères N.
{GLOBAL_N} et formes complétées Compteur commun à la boutique.
{CUSTOMER_N} et formes complétées Compteur client.
{CUSTOMER_ID} Identifiant du client, si disponible.
{CUSTOMER_EMAIL} Partie de l’e-mail avant @, pas l’adresse complète.
{CUSTOMER_REF} Référence client stockée.
{COUNTRY} Pays issu du contexte d’adresse disponible de la commande ou du panier.
{SHOP_ID} {SHOP_NAME} {CART_ID} Contexte de la boutique et du panier.
{PRODUCT_ID} {PRODUCT_REF} Produit principal du panier sélectionné par le formateur, pas tous les produits de la commande.
{ORDER_REF} Référence de commande existante uniquement lorsqu’un contexte de commande existe. Elle est vide lors de la génération effectuée par ce module avant la création de la commande ; ne l’utilisez pas comme seul élément distinctif.
{RAND2} Deux lettres aléatoires.
{RAND4} Quatre chiffres aléatoires.
{RAND6} à {RAND9} Lettres aléatoires de la longueur choisie.

Le module refuse {ORDER_ID}, {INVOICE_ID}, {DOC_TYPE} et {PAYMENT} pour les références de commande, car la commande n’existe pas au moment de la génération. Un modèle valide nécessite un compteur, des éléments de réinitialisation valides et un aperçu de 64 caractères au maximum, préfixe et suffixe compris. Utilisez {NNNNN} pour compléter sur cinq chiffres ; le formateur n’utilise pas la syntaxe {number:5}.

Comprendre la génération et les journaux

Le module fournit actionGenerateDocumentReference pour le processus natif de génération des références de commande et actionValidateOrder pour relier une entrée d’audit à la commande enregistrée. L’override fourni de Order::generateReference() assure l’intégration pour les anciennes versions. Examinez les conflits si un autre module surcharge également cette méthode.

Le générateur valide le format, consomme uniquement les compteurs requis par ses balises, résout la référence et recherche les doublons dans les commandes existantes, les références de paiement et le journal du module. Les incréments des compteurs utilisent une transaction et le verrouillage des lignes. Une génération échouée, un parcours abandonné ou une commande annulée peut laisser des trous dans la séquence.

Références générées affiche la valeur formatée, le compteur, le modèle, les dates et le contexte de commande/client associé. Le tableau de bord affiche les références récentes et les statistiques des compteurs. Les références de commande déjà enregistrées ne sont pas réécrites.

La référence générée est la référence de commande habituelle de PrestaShop. Les clients la voient partout où les modèles de la boutique utilisent ce champ. Un développeur peut lire $params['order']->reference dans actionValidateOrder pour une intégration ERP une fois la commande créée.

Vérifier et résoudre les problèmes

  1. Enregistrez un format annuel avec une plage de prochains numéros encore inutilisée.
  2. Passez une commande de test avec votre processus de paiement habituel.
  3. Vérifiez la référence de commande, l’e-mail de confirmation et l’entrée dans Références générées.
  4. Passez une autre commande et vérifiez l’incrément attendu.
  5. Si vous utilisez une portée par client, testez avec deux clients et vérifiez l’élément distinctif.

Si le format ne s’enregistre pas, vérifiez les balises inconnues, les éléments de date de réinitialisation, la présence d’un compteur, l’élément distinctif de la portée et la longueur de l’aperçu. Si le processus de commande revient à une référence aléatoire, vérifiez Activer la numérotation personnalisée des commandes, les hooks, les overrides, "Integrity" et les journaux PrestaShop. Les formats invalides à l’exécution et l’épuisement des tentatives d’évitement des doublons ne renvoient aucune référence personnalisée.

Vérifiez les intégrations qui supposent des références de neuf caractères avant d’adopter un modèle plus long. Modifier Définir le prochain numéro ne contourne pas la protection contre les doublons.

Désinstallation

Exportez le journal des références générées et notez la position de votre compteur avant la désinstallation. Celle-ci supprime la configuration du module, les préférences, le menu et les tables de schéma propres au module. La désinstallation standard gère également ses hooks enregistrés et sa contribution d’override. Les nouvelles commandes retrouvent les références natives ; les références déjà stockées dans les commandes et les paiements sont conservées. La procédure de désinstallation ne réduit pas les colonnes natives élargies.

Captures d’écran

Custom Order Numbering, capture d’écran 1

Custom Order Numbering, capture d’écran 2

Custom Order Numbering, capture d’écran 3

Custom Order Numbering, capture d’écran 4

Custom Order Numbering, capture d’écran 5

Custom Order Numbering, capture d’écran 6

Custom Order Numbering, capture d’écran 7

Custom Order Numbering, capture d’écran 8

Custom Order Numbering, capture d’écran 9

Questions

Pas encore de questions sur ce module

Posez vos questions sur l'installation, la compatibilité ou la configuration. Les réponses apparaissent ici.

Problèmes connus

5

Le module ne se chargeait pas sous PHP 7.1

RésoluMis à jour :
Corrigé dans : 1.2.11
Les prérequis des dépendances incluses pouvaient empêcher le chargement sur des installations PHP 7.1 prises en charge.

Des traductions incorrectes s'affichaient

RésoluMis à jour :
Corrigé dans : 1.2.10
Des entrées de traduction endommagées pouvaient afficher des textes d'interface incorrects.

Les références personnalisées longues étaient refusées pour les paiements

RésoluMis à jour :
Corrigé dans : 1.2.8
Une référence de commande personnalisée dépassant la limite par défaut de PrestaShop pouvait échouer à la validation lors de l'enregistrement d'un paiement.

Les références générées restaient sans commande associée

RésoluMis à jour :
Corrigé dans : 1.2.8
Une référence générée en attente d'une commande pouvait ne pas être associée après sa création et rester non attribuée dans l'historique.

Les filtres des listes d'administration fonctionnaient mal

RésoluMis à jour :
Corrigé dans : 1.2.8
Certaines colonnes de liste ne pouvaient pas être filtrées correctement depuis l'administration du module.

Demandes de fonctionnalités

6

Implémenté

Numérotation structurée des commandes

Implémenté
Remplacez les références de commande aléatoires par des références structurées définies dans le générateur de formats.

Compteurs de commande par client

Implémenté
Générez les numéros de commande à partir de la séquence propre à chaque client.

Modèles de compteurs combinés

Implémenté
Utilisez des compteurs globaux et propres à chaque client explicitement définis dans un même modèle de référence de commande.

Mises à jour du module depuis le back-office

Implémenté
Recherchez et installez les mises à jour du module depuis l’administration.

Vérifications de l’installation

Implémenté
Vérifiez l’état de l’installation et réparez les éléments manquants de l’infrastructure du module depuis l’administration.

Langues d’administration supplémentaires

Implémenté
Utilisez les écrans du module traduits en français, allemand, espagnol, italien et polonais.

Journal des modifications

v1.2.92026-09-21

  • AddedSupport explicit scoped order counters
  • AddedAdd customer-scoped order references
  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedAdd install integrity dashboard check
  • FixedWiden order payment reference validation
  • FixedLink generated references with zero order id
  • FixedAlign format builder with admin form layout
Versions précédentes

v1.1.02026-04-20

  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations
  • Improvedsettings form organization with tabbed layout
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

Demo

Testez le module complet avant d'acheter

Achetez la licence plus tard et gardez vos réglages.

  • Votre démo de 30 jours Testez-le sur votre propre boutique pendant 30 jours à partir de la première installation.
  • Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
  • Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
Lancer la boutique de démo

En téléchargeant, vous acceptez les conditions de la démo et la politique de confidentialité.

En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.

Chargement...
Retour en haut