Magento 2 Extensions:Order Number Customizer
Customize your Magento order numbers and all other sales related numbers. The number format can be adjusted completely flexible - use letters, prefixes, suffixes, date/time variables, counters or random numbers to protect sales and hide how much you sell from your competitors.
Interested in this Magento Extension?
Head over to our store to purchase this extension: Order Number Customizer (Magento 2)
Got questions? Feel free to contact us! Contact Form
Setting up the extension
Please refer to our general Extension Installation and Setup Guide for installation instructions.
To enable and configure the module, go to System > XTENTO Extensions > Order Number Customizer. Make sure to enter your license key and enable the module there.
The configuration section is located at System > XTENTO Extensions > Order Number Customizer.
There are four separate, but from the configuration almost identical sections for order number, invoice number, shipment number and credit memo number settings.
|Enable Custom Number||If disabled, no custom number format will be used for this entity. This can be enabled/disabled on a per-website and per-store view level.|
|Number Format||This is the format which will be used for order/invoice/... numbers. You can use letters, numbers as well as variables. For a list of variables, please see below. Always make sure your order/invoice/... numbers are unique somehow. It is recommended to at least use the %counter% variable in the order number to avoid duplicate order numbers, as this variable is unique and incrementing.|
|Counter: Start counting from||This is the %counter% variable that can be used in the custom number format field above. This configures from which number the %counter% variable begins counting. If you use "Reset counter", the %counter% variable will start from the value entered here after being reset.|
|Counter: Increment by||If set to 1, the %counter% variable increases by 1 for every new transaction made. If set to 7, the %counter% variable increases by 7 for every new transaction made.|
|Counter: Number Padding||If you want the %counter% variable to be 6 digits long with zeros at the beginning of the counter, enter 6 in this field. For example if the counter is at 12, it would output 000012 then, so it's always a 6 digit number (6 is the padding).|
|Counter: Reset counter automatically||How often should the %counter% variable be reset? Make sure to have dynamic parts (like the date) in the number format to avoid duplicate order/invoice/... numbers!|
|Counter: Force counter reset now||If set to "Yes", the %counter% variable will be reset when the next increment ID is generated and will then deactivate this option automatically. This means the %counter% variable is just reset for the next increment ID.|
Special fields for invoice/shipment/credit memo settings:
|Same as order number||If enabled, the invoice/shipment/credit memo number will use the order number the transaction belongs to, which means the number used for this transaction is the same as the order number.|
|Prefix||The prefix entered here will be added in front of the number/ID. If the order number is 2014-1245, and you enter INV- as the prefix, the new ID will be INV-2014-1245|
|Replace||If you want to replace something in the order number (which will be used as the new ID/number), you can enter it here. If your order number is ORD-1234 you can enter ORD- here and ORD- would then be replaced when used as the new ID/number.|
The following variables can be used in the number format:
- %d% (day of the month, no leading 0)
- %dd% (day of the month, 2 digits always)
- %m% (month of the year, no leading 0)
- %mm% (month of the year, 2 digits always)
- %yy% (current year, 2 digits)
- %yyyy% (current year, 4 digits)
- %h% (current time: hour, no leading 0)
- %hh% (current time: hour, 2 digits always)
- %ii% (current time: minute, 2 digits always)
- %ss% (current time: seconds, 2 digits always)
- %store_id% (Store ID the order was placed in)
- %counter% (An incrementing number, configuration below)
- %rand3% (Random number between 100 and 999)
- %rand4% (Random number between 1000 and 9999)
- %rand5% (Random number between 10000 and 99999)
- %rand6% (Random number between 100000 and 999999)
- %rand7% (Random number between 1000000 and 9999999)
- %rand8% (Random number between 10000000 and 99999999)
- %rand9% (Random number between 100000000 and 999999999)
Always make sure your order/invoice/shipment/credit memo numbers are unique. If the generated ID already exists, Magentos internal / default increment ID will be used as the increment ID.
- I can't find the configuration section: Please go through the setup guide once again to make sure the extension has been installed.
- I can't enable the extension: Please make sure you're using a valid license key. Read further
No custom order/invoice/etc. numbers are used
- This can have multiple reasons: Order/invoice/... number exists already, or the extension hasn't been enabled.
Configuration cache invalidated
The configuration cache will always get invalidated if something in the system configuration changes - and this is where our module saves its data. But this doesn't cause any problems. The cache being invalidated simply means parts of it are not valid anymore, and Magento will automatically refresh/re-read that part of the cache. There is no need to manually refresh the cache.
- Only admins with access to "System > Cache Management" see this warning. If you remove access for your admin roles (except the main admin of course) to "System > Cache Management" then they won't see this warning.
- Go to System > XTENTO > Order Number Customizer. In the configuration, look for "Developer Settings" and enable "Refresh Configuration Cache" (introduced in module version 2.1.4).
Skipped order numbers
This is not an "issue". It is Magento core logic. Explanation can be found here: https://magento.stackexchange.com/a/37444