Order Number
v1.0.0
Order Number
- Mises à jour et support inclus pendant 12 mois
- Clé de licence livrée immédiatement par email
- Garantie satisfait ou remboursé 30 jours
- Documentation complète incluse
- Compatible avec les thèmes Hyvä
- Installation prête pour Composer
Order Number
Magento numérote les commandes 000000123 et les factures de la même façon, une séquence par store view. La comptabilité veut INV-2026-00042, l'entrepôt veut retrouver le numéro de commande sur le bon de livraison, et la remise à zéro annuelle doit tomber le 1er janvier à l'heure de la boutique, pas du serveur. Wimakeit_OrderNumber donne à chaque document de vente son format et son compteur, et n'attribue jamais deux fois le même numéro.
Il remplace aussi Amasty Custom Order Number : une commande importe ses réglages, ses valeurs par défaut et ses compteurs, et la numérotation reprend là où elle s'était arrêtée.
À qui ça s'adresse
- Marchands dont le comptable ou l'ERP impose une numérotation de factures (préfixe, année, compteur continu)
- Boutiques multi-sites qui veulent un compteur par website ou par store view, ou un compteur commun
- Boutiques qui veulent que bons de livraison et notes de crédit reprennent le numéro de commande (
CDE26000042→LIV26000042) - Projets qui quittent Amasty Custom Order Number à l'occasion d'une montée de version Magento ou Mage-OS
Bénéfices clés
- Un format par document — commandes, factures, expéditions et notes de crédit ont chacune leur format, construit avec
{counter},{yyyy},{mm},{dd},{store},{rand}, et pour les documents{order_id}et{country_code}. Un format vide garde la numérotation native de Magento pour ce document. - Des compteurs qui redémarrent à l'heure — jamais, ou chaque année, mois ou jour, dans le fuseau de la store view, heure d'été comprise. Communs à toute l'installation, ou propres à un website ou à une store view.
- Factures sans trou — les compteurs de factures, expéditions et notes de crédit avancent dans l'enregistrement même du document : un enregistrement en échec rend le numéro. Deux factures créées à la même seconde ne se bloquent pas et ne partagent pas de numéro.
- Jamais de doublon — un numéro déjà présent dans les tables de vente est sauté. Une faute de frappe dans un format (
{conter}) ou un caractère qui casse les URL et les références de paiement est refusé à l'enregistrement. - Checkout jamais bloqué — toute erreur de numérotation retombe sur le numéro natif de Magento et est journalisée.
- Migration Amasty en une commande —
wimakeit:order-number:import-amasty --dry-runmontre ce qui sera copié : les réglages à leur scope d'origine, les valeurs par défaut d'Amasty jamais enregistrées, et chaque compteur avec sa dernière valeur. Les valeurs invalides sont listées, pas ignorées en silence.
Compatibilité
- Magento 2.4.6+ / Mage-OS 3.x
- PHP 8.1 à 8.5
- Nécessite
wimakeit/module-core^3.0 - Aucun code frontend : fonctionne de la même façon avec Luma, Hyvä ou un frontend headless, pas de
setup:static-content:deployà prévoir - Admin et messages traduits en français (fr_FR)
Installez ce module via Composer. Assurez-vous que votre auth.json est configuré avec vos identifiants Wimakeit.
$ composer require wimakeit/module-order-number:^1.0.0
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile
Installation notes
The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.
Required dependency
This module requires wimakeit/module-core ^3.0. Composer will pull it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.
What the installation changes
- One table is created:
wimakeit_order_number_counter(one row per document type, counter scope and period). - Sales tables are not altered. Numbers already issued never change.
- No JavaScript and no static file:
setup:static-content:deployis not needed for this module.
Nothing changes until you type a format
The module is off by default, and every Number Format is empty. An empty format keeps Magento's own numbering for that document, so you can enable the module and give a custom number to invoices only.
bin/magento config:set wimakeit_order_number/general/enabled 1
bin/magento config:set wimakeit_order_number/invoice/format 'INV-{yyyy}-{counter}'
bin/magento cache:clean config
Restart queue consumers after changing a format: settings are read once per process.
ACL permissions
After installation, the following ACL resource is available under System → Permissions → User Roles:
| Resource | Default |
|---|---|
Wimakeit_OrderNumber::config (edit module configuration, under Wimakeit) | granted to Administrator role only |
Configuration
Stores → Configuration → Wimakeit → Order Number. Formats and counters can be set at default, website or store view scope.
General
| Setting | Default |
|---|---|
| Enable Custom Numbers | No |
Order
| Setting | Default |
|---|---|
| Number Format | empty (Magento's numbering) |
| Counter Start | 1 |
| Counter Step | 1 |
| Counter Padding | 6 |
| Restart the Counter | Never |
| Separate Counter for this Website (website scope) | No |
| Separate Counter for this Store View (store view scope) | No |
Invoice, Shipment, Credit Memo
Each has the same settings as the order, plus:
| Setting | Default |
|---|---|
| Based on the Order Number | No |
| Prefix (when based on the order number) | empty |
| Part of the Order Number Replaced by the Prefix | empty (the prefix goes in front) |
Format rules
| Rule | Value |
|---|---|
| Placeholders | {counter} {yyyy} {yy} {mm} {m} {dd} {d} {hh} {store} {rand}; documents also {order_id} {country_code} |
| Mandatory | {counter} or {rand} |
| Allowed characters | letters, digits, . _ - / # |
| Maximum length | 36 characters; padding up to 12 |
A format breaking a rule is refused on save, with the reason.
Command line
bin/magento wimakeit:order-number:counter:list
bin/magento wimakeit:order-number:counter:set invoice 341 [--website=6 | --store=7]
counter:set sets the last value issued: the next number takes it plus the step. Changing Counter Start in the admin does not move an existing counter, this command does. Use it to continue the numbering of a previous system.
Migrating from Amasty Custom Order Number
bin/magento wimakeit:order-number:import-amasty --dry-run # 1. shows what will be copied, writes nothing
bin/magento module:disable Amasty_Number # 2. Amasty rewrites the sequence itself
bin/magento wimakeit:order-number:import-amasty # 3. import
bin/magento wimakeit:order-number:counter:list # 4. check
- Settings are copied at the scope they were saved at, and Amasty's built-in defaults are written at default scope for the settings never saved.
- Counters keep their last value. A counter whose date cannot be read is placed in the current period: no number can be issued twice, a yearly restart may be missed once.
- A value this module refuses is listed and the command exits with an error: fix it in the admin.
- Not imported: Timezone offset (dates follow the store view's timezone) and Use Separate Connection (not needed). Settings stored in
app/etc/config.phporenv.phpare not read; the command warns when they exist. - Re-runnable. Amasty's tables are only read; drop them once Amasty is removed.
Worth knowing
- Gapless documents, serialised. An invoice, shipment or credit memo counter stays locked until the document is saved. Mass invoicing runs one save at a time per counter scope.
- Orders behave like Magento's sequence. The order number is reserved on the quote: an abandoned payment leaves a gap.
- Restart and date. With a yearly restart, put
{yy}or{yyyy}in the format. Without it the counter runs into numbers already issued: they are skipped, never issued twice, and after 5 skips in a row Magento's own number is used and a critical entry is logged. - Precedence. When both the website and the store view have a separate counter, the store view's counter is used.
{rand}is 4 digits. It keeps numbers apart; it is not a secret.- A numbering failure never blocks the checkout or an invoice: Magento's number is used and the error is logged.
Cron jobs
None.
- Version
- v1.0.0
- Support
- 12 mois
- Dernière mise à jour
- 15 oct. 2026
- Magento
- Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
- PHP
- PHP 8.1 PHP 8.2 PHP 8.3
- Hyvä
- Compatible
- Package
-
wimakeit/module-order-number
Vérifier la compatibilité
Indiquez votre stack pour vérifier la compatibilité du module.
Vous avez trouvé un bug ? Faites-nous-en part.
Un court formulaire s'ouvre dans un nouvel onglet — le nom du module et votre langue sont déjà pré-remplis. Décrivez ce que vous avez tenté, ce qui n'a pas fonctionné, et nous vous répondrons sous un jour ouvré.
Signaler un bug pour Order NumberBesoin d'aide ?
Notre équipe est disponible pour vous accompagner dans l'intégration.