Custom Order Number for WooCommerce Pro plugin allows you to have sequential and customizable order numbering. Using this plugin, you can add prefixes and suffixes to the custom order numbers, define a custom width, enable order tracking by order ID, and much more.
These settings are available on the Custom Order Numbers Options page. To go to this page navigate through WooCommerce -> Settings -> Custom Order Numbers -> General.
This page is divided into 3 parts –
- Custom Order Numbers Options
- Tools, and
- Reset Settings
Custom Order Numbers Options page
Let us understand each of them in detail:
Custom Order Numbers Options
1. WooCommerce Custom Order Numbers
When you enable this option, you are enabling the Custom Order Numbers for WooCommerce Pro plugin. After you have installed and activated this plugin, enable this option by ticking the checkbox to start using it for setting custom order numbers.
2. Order numbers counter
This setting will allow the admin to select one of the options to be set for the WooCommerce order numbers. This includes 3 options like Sequential, Order ID, and Pseudorandom – crc32 Hash (max 10 digits) as shown below:
3 options to set the order numbers counter
2. a) Sequential
When you select the Sequential option from the dropdown, the WooCommerce order numbers will be sequential.
You will have to set the next order sequence number in the setting ‘Sequential: Next order number.’ Once it is set, the sequence will follow. For example, if you have added the next number as 2, then this is how the order numbers for placed orders will appear in the sequence of #1, #2, #3, and so on, where #1 is the first order and the next order is #2.
In the below image, #1 Jignesh Palega order was placed first so the sequence starts from there.
After that, another order was placed by Jignesh Paleja for $150 so the order number is #2.
Lastly, this customer placed another order for $50 so the order number became #3.
Sequential counter selected
2. b) Order ID
If you select the option Order ID, the order numbers will be based on the Order IDs.
You will find these order IDs located in the URL of the Edit order page. For instance, an order is placed by Gitanjali Chokshi for $160. The Order ID given to it is # 451.
Select the order.
On the Edit order page, you will see the order ID number in the URL. Therefore, the order number assigned to this order is correct which is # 451 as shown below:
Similarly, other orders will also get order numbers based on their order IDs as shown below:
Order ID option selected
2. c) Pseudorandom – crc32 Hash (max 10 digits)
If you select the option Pseudorandom – crc32 Hash (max 10 digits), the order numbers will be set based on random numbers.
The numbers will not be in any sequence nor will they follow Order IDs. They will be any 10 random numbers.
Pseudorandom option selected
Please note that by default, this option is set to Sequential.
3. Sequential: Next order number
This option is applicable only if the Sequential counter is enabled which means ignore this setting if the Order numbers counter is not set to Sequential. If the sequential counter is enabled, the number you enter in this field will be assigned to the next new order on the Order page.
Say you enter number 1 in this field, and then the next WooCommerce order number for an order will start with 1.
Once the order is placed with order number 1, the Sequential: Next order number’s field will display 2, which will be the next order number to be assigned to the next confirmed order.
The Next order number appears automatically
This automatic sequence of numbers appears in the field because you have set the Order numbers counter to Sequential. The default value set for this option is 1. Use the Renumerate Orders tool to recount the existing orders.
4. Sequential: Reset counter
There are 5 options available to reset the sequential counter. These are Disabled, Daily, Weekly, Monthly and Yearly as shown below:
Options to reset the sequential counter
The default value for this setting is Disabled which means you have the option to reset the counter disabled and continue with the sequential counting. But there are times when you feel the number of orders is more and keeping a log of them might get difficult with enormous order numbers. So you can select Daily, Monthly, and Yearly as per your requirements.
If you select Daily, then the counter will reset to the Reset Value added every day. If you select Weekly, then the counter will reset every week. Similarly, if it is set to Monthly or Yearly, the counter will reset every month or year respectively. If you select an option other than Disabled, you can add a Reset counter value. So whenever the counter is reset, it will pick up this value and the next new order will get this value assigned for the WooCommerce order number.
For instance, say the Sequential: Reset counter is set to Daily, and the Reset counter value is added as 1.
Adding reset counter value
This means every day, the order number of a new order will start with 1 and go in sequence till the end of the day and the same will repeat daily.
Note – Sequential: Reset counter will not be considered when Sequential order numbering is disabled and Reset counter value will not be considered when Sequential: Reset counter is disabled.
5. Select a day on which the weekly reset counter should run
This setting would be valid only if you have chosen the ‘Weekly’ option in the ‘Sequential: Reset counter’. In this setting, you can set the day on which the weekly reset will begin. For example, if you select Tuesday, then every week, on Tuesday, your order numbers will be reset. Next, you can set the reset value counter value. For example, if you choose 2, then every Tuesday, a new order will start with 2 and go in sequence till the next Tuesday.
Adding weekly reset values
This option will be ignored if you have selected ‘Disabled’ in the Sequential: Reset Counter’ setting.
6. Order number custom prefix
This option allows you to set a custom order number prefix which can be any combination of characters or patterns. It will appear before the custom order number and its default value is set to None. If you add a prefix to the custom order numbers then this will change the prefixes of all the existing orders and it will also reflect in the newly placed orders.
For instance, say you add the prefix WPN in this setting.
Custom prefix added
Now when you check the Orders page, all order numbers will contain the prefix as WPN as shown below:
Order numbers with prefix
7. Order number date prefix
Similar to the Order number custom prefix option, you can add a date prefix to the custom order number with this setting. This can be any date format like mdy (month-day-year), Y-m-d (year-month-day), etc. You can use a date format that is created with any of the characters available in the PHP ‘date’ function.
Its default value is None and whichever date prefix we add here will be added to all the existing orders and for all the next order numbers. For instance, say we add value mdy in the Order number date prefix option:
Order number date prefix added
Now check the Orders page. It will show all orders with this date prefix as shown below:
Adding a date prefix to custom order numbers
As you can see, the date prefix added to custom order number #3 which is the first displayed order, reads as #1214183 where the date – 14th December 2018 is displayed in mdy format as entered in this setting.
8. Order number width
This option will allow you to set the width of the custom order number. This width is the minimum length of the order number without prefix and if the number is less than the specified width, zeros will be added to its left side. The default value for this option is set to 0.
Let’s understand this with an example. Say you set the width of the custom order number to 5 in the Order number width option.
Order number width set to 5
This means the minimum length of the order number should be 5, so a custom order number #1 will appear as #00001:
Custom order number width set to 5
This width excludes any prefix selected for the custom order number. Therefore if we opt to add the prefix WPN to the order number whose width is set to 5, then it will appear as #WPN00001:
Custom order number with prefix
When you set a width to the order number in this option then it will be applicable to all the existing orders as well as the ones that appear on the Orders page.
9. Order number custom suffix
As we discussed in point 6 about adding a prefix to the custom order numbers, this option will allow you to set a suffix to the order numbers. It can contain any combination of characters or patterns and its default value is set to None. If you add a suffix to the custom order numbers, then it will be added after the order number, and the prefixes of all the existing orders will be changed as well.
For instance, say you added a suffix KKT9 in the Order number custom suffix option.
Custom suffix added as KKT9
Now if you go to the Orders page, you can see all the order numbers with a suffix as KKT9 added after the order number:
Custom order numbers with suffix
10. Order number date suffix
Similar to the Order number date prefix option, this setting allows you to add a date suffix to the custom order number. You can use a date format that is created with any of the characters available in the PHP ‘date’ function.
The default value for this option is None. The date suffix that we add here will be added to all the existing orders along with newly created orders. For instance, say we add suffix Y-m-d in Order number date suffix option
Order number date suffix added
Now check the Orders page. It will show all orders with this suffix as shown below:
Adding a date suffix to custom order numbers
This shows a date suffix in date format Y-m-d is added after the order number. Hence it appears as #32018-12-14.
11. Prefix/Suffix as per user roles
With this setting, you can add prefix and/or suffix to an order number according to a specific user role. This would mean that based on the User Role selected by you, you will be able to have a custom order number with prefix and/or suffix which is specific to that user role.
Prefix/Suffix as per user roles setting
When you click on the ‘+Add Role’ button, you will be displayed different fields such as Select a user role, Prefix, and Suffix as shown here:
Different fields of Prefix/Suffix as per user roles setting
When you click on the Select a user role field, a dropdown with different user roles such as Guest, Admin, Editor, etc will be displayed as shown here:
Select a user role dropdown options
Let us go with the ‘Guest’ user role. If you want, you can even select multiple user roles here. For instance, along with the Guest user role, you can add the ‘Customer’ user role as well.
Choosing two different user roles
For now, let us just go with one User role which is ‘Guest’. Next under the prefix and suffix fields, you can enter the prefixes and suffixes that you like. Let us go with KKT9 as our prefix and WPN as our suffix:
Prefix/Suffix as per user roles setting after filling details
If you wish to add more such different prefixes and/or suffixes based on user roles, you can click on the ‘+Add more roles’ button which will open new fields for you to fill as shown here:
+Add more roles setting
If you wish to delete any of these settings, you can click on the Trash icon at the end of each user role.
Now, let’s say a Guest user by the name of ‘Tanisha Mehta’ has placed an order on your site. When you go to your Orders Page, this order will display the custom order number that was set by you for guest users as shown here:
Prefix/Suffix as per user roles setting applied on the Orders Page
12. Different Prefix/Suffix for free orders
With this setting, you can simply create different custom order numbers for free orders. You can do this by setting different prefixes and suffixes for free orders. First, enable the setting by ticking the ‘Different Prefix/Suffix for free orders’ checkbox.
Different Prefix/Suffix for free orders setting
Enter the Prefix and Suffix. For instance, you can go with TYC under the Free Order number custom prefix field. Under Free Order number custom suffix, you can go with CON.
Different Prefix/Suffix for free orders setting after filling details
Once done, click on the ‘Save Settings’ button.
On the frontend, when the customer gets a chance to place a free order, then their order number will displayed as such once it is placed:
Order Received Page of a Free Order
Similarly, on the backend, the admins will be able to see the order number by going to WooCommerce > Orders.
Admin View of the Free Order
13. Order number template
As the name suggests, it is a display form of an order number. This means you can decide how an order number will be assigned for an order using a template.
Default Order Number Template
You can form your template using replaceable values such as prefix, date prefix, number, suffix, date suffix, and SKU.
For example, if you want a custom order number to have the product’s SKU, followed by the prefix then your order number and then a suffix ending with a date suffix.
You will add merge codes for it and create a template.
The product’s SKU will be added to the product edit page by going to Products > Select the Product > Edit > Product data metabox > Inventory > SKU.
Add the product SKU. In this case, since the product is a ‘Beads Rakhi’, you can enter the SKU br.
Setting up the product SKU
You will now go back to WooCommerce > Settings > Custom Order Numbers > General page and fill in these details
Filling in custom template details
You have added the prefix – WPN, suffix – KKT9 and date suffix – mdy (month year day) on the Custom Order Numbers Options page in their respective settings. Then add the Order number template as {sku} {prefix} {number} {suffix} {date_suffix} in the field.
Order number template added
These merge codes will be replaced with their respective values and the custom order number will displayed on the Orders page for the already placed orders as shown below:
Display of custom order number using Order number template
This shows a custom order number with the product SKU -br, prefix – WPN, order number – 344, the suffix – KKT9 and date suffix – 052317 (May 2023 17th). Hence it appears as #br WPN 344 KKT9 052317.
Now, let’s say that your customer has placed an order with 2 different products. Naturally, the product SKU will be different for both of these products. The customer has added a product called Art and a product called Beads Rakhi to their cart.
Products that were added to the order
Then the order number will have the following SKU:
Order Template with multiple SKU products
Since the product Art was first added to the cart, its SKU will be considered in the order number.
The default order number template is {prefix}{date_prefix}{number}{suffix}{date_suffix}. You can create any template using the merge codes that best suit your business requirements.
14. Select orders to apply new settings to
Now that you have created a template for your Order number template, you can choose to set this template for various orders. In this option called ‘Select order to apply new settings to,’ you will find a dropdown option with the following settings –
‘Select the order to apply new settings to’ option
Please note that the store admin should carefully understand these four options and then select one if they wish to apply the new settings. Any new changes made in the custom order number settings are irreversible once applied.
14. a) To all new orders only
If you select ‘To all new orders only’ the newly created template with prefix and/or suffix will be added to all the new orders only. For example, if your previous template was {prefix}{number}{suffix} and now you’ve created a new template such as {prefix}{number}{suffix}{date_suffix} you will find the change added directly to your orders. The custom order numbers of the old orders will be retained.
‘To all new orders only’ option
14. b) To orders from a certain order number
If you choose ‘To orders from a certain order number’ your newly created template with prefixes and/or suffixes will be added to all the order numbers that are after the certain order number that you have selected to apply these settings to. You will have to enter this specific Order Number under the setting ‘Enter an Order Id from which you want to apply these new settings’.
Here, you will have to add in a past Order Id. For example, let’s say that your earlier template was {prefix}-{number}-{suffix} (i.e- #VKT-000127-TTPB). And now you have decided to change the template to {prefix}-{number}-{suffix}-{date_suffix} (#WPN-000127-KKT9-29-01-21). You wish to make this template change from the Order Id #WPN-000127-KKT9-29-01-21 onwards. Then, in this option called ‘Enter an Order Id from which you want to apply this new settings’ you will enter the original Woo Order ID. You will find this Order Id in the URL of its Edit Order Page. In this case, when we visit #VKT-000127-TTPB’s Edit Order Page, the latter half of the Url shows ‘post.php?post=127&action=edit’.
URL of the Edit Order Page
Here the number 127 represents the original Woo Order Id. Once you have found this Order Id, you should enter it in the option ‘Enter an Order Id from which you want to apply this new settings’. Here’s how it will look-
Adding in the original Woo Order Id
Once this is done, you can save your settings. As an end result, your Orders Page will appear like this-
Orders Page with ‘To orders from a certain order number’ setting applied
14. c) To orders from a specific date
If you choose ‘To orders from specific date’ then your template settings will be applied to all the orders following the specific date that’s been chosen by you. You will add the specific date under the option called ‘Select a Date to apply this new settings from’. Herein, you can use the date picker to choose any of the past dates.
For example, let’s say your current template is {prefix}-{number}-{suffix}-{date_suffix} and that’s why your Orders Page appears like this-
Now, you wish to change the template as well as add a new prefix and suffix to it. You have changed your current template to {prefix}-{number}-{suffix} and changed the prefix from WPN to TYC and the suffix from KKT9 to TTPB. Here’s how it will appear-
After this, you will have to choose the specific date from which these new settings will be applied to. Under ‘Select orders to apply new settings to’ choose ‘To orders from specific date’ from the drop-down menu. Once you have selected this, just below it, you will get the option to pick the date under ‘Select a Date to apply this new settings from’. Here you can use the date picker to select any of the past dates or the current day’s date for applying these new settings.
Date picker for ‘To orders from specific date’ setting’.
Here, we have applied a past date, i.e. 30th January 2021. Thus, after saving the settings, your Order Page will appear like this-
Orders Page after applying the ‘To orders from specific date’ setting
14. d) To all orders
When you select the ‘To all orders’ option then your settings will be applied to all the orders regardless of their Date or Order Id. All of your past orders will also adapt to these new settings. For example, let’s say you have applied two different settings (i.e two different templates) and as a result, your Orders Page looks like this-
Orders Page with different settings
Now, if you wish to have a singular cohesive template for all of these orders, you can create your new template like this-
Creating a new template for all the orders
Under ‘Select orders to apply new settings to’ you will choose ‘To all orders’. After saving these settings, your Orders Page will appear like this-
Orders Page after applying the ‘To all orders’ setting
If the volume of orders is high (in excess of 50000 or so), then doing this action may take a few minutes for the new custom order number to be applied to all the orders.
Please note that this setting needs to be used with extreme caution and we recommend using it only after understanding how it fully works. This is because once the changes are done in the custom order number settings, they are irreversible. As a result, the new custom order number will be applied to all the previous orders too.
15. Enable order tracking by custom number
When Enable order tracking by custom number option is ticked on the Custom Order Numbers Options page, the orders can be tracked by custom order numbers as well. If it is disabled, then the orders will not be tracked by custom order numbers.
Enable order tracking by custom number option
For the order tracking, first, you need to create a page named Order Tracking using the shortcode [woocommerce_order_tracking]. After that, you will be able to track the Order ID on the Order Tracking page. The customer then needs to add the Order ID which is their custom order number and Billing email address on the Order Tracking page as shown below:
Adding details for tracking an order
Once the customer adds these details, click on the Track button and the order details of that order gets displayed on the same page as shown below:
Tracking order details
Thus customers can easily track their own orders and view the order details from the Order Tracking page using custom order numbers and billing email addresses. This option is set as enabled by default.
16. Search on the Orders page with the custom order number
In order to search for a particular order from the long list of orders that you already have on the Orders Page, you can use the search box. For this, you can go to WooCommerce -> Orders. On the right-hand side corner, you will find the search box. Here, you can simply enter the custom order you wish to search.
For example, if you wish to find the custom order named #WPN-00125-KKT9 Tanisha Mehta you can simply type the custom order number in the Search field of the Orders Page. After typing the custom order number you can click on Search Orders as shown below-
As you can see, the searched custom order number 00125-KKT9 in the search field displays the respective order #WPN-00125-KKT9 Tanisha Mehta. The search is done by not only the order number but also by the suffix. Your custom order numbers search can hence be done by not only the order number but also by prefix, suffix, date, and other values that are part of your template. You can combine these values or type the whole custom order number in the search field as well. You can even search the custom order using the customer’s name on the billing address. Here’s an example-
17. Manual order number counter
When enabled, this option will add an Order Number meta box to the edit page for all orders. You can manually edit the order number by adding the meta box value.
Enable the Manual order number counter option
This is possible only when the Order numbers counter is set to Sequential.
Order numbers counter set to sequential
For example, say you have just installed the Custom Order Numbers for WooCommerce Pro plugin and before that, you had 50 WooCommerce orders placed. Hence, the last order number is #50.
When a new order is placed after the plugin is installed, it will show order number #1. With the help of the Manual order number counter setting, you can change this order number to #51 so that the continuation of order numbers is maintained.
Manually adding the order number
As you can see, the Order number is set to 51 in the meta box on the Edit order page of Order #1. Click Update to save this action. Now when you go to the Orders page, the latest order will appear as #51 and not #1 as shown below:
First order was changed to #51
18. Hide the “Renumerate Orders” admin menu for roles
This setting allows you to hide the Renumerate Orders submenu under the WooCommerce menu for specific users. You can do so by selecting the user roles from the drop-down of the Hide ”Renumerate Orders” admin menu for roles option. The entered user roles will not be able to see the Renumerate Orders sub-menu in the WooCommerce menu, thus restricting them from using this option.
Let us understand this with an example. Say you do not wish to permit a shop manager to use the Renumerate Orders tool and so you want to hide that option in the menu. Simply go to Hide ”Renumerate Orders” admin menu for roles option and select Shop Manager role from the drop-down as shown below:
Selecting the Shop Manager role
Before hiding the Renumerate Orders menu for the Shop Manager role, it would appear as shown below:
Renumerate Orders option appears on the menu
But when you opt for hiding the Renumerate Orders option from the menu for the Shop Managers role, the option will not appear in the WooCommerce menu as shown below:
The Renumerate Orders option does not appear on the menu
This way you can assign permission to different roles for using the Renumerate Orders option. The default value is set to None.
19. Hide the “Custom Order Numbers” admin settings tab for roles
This option allows you to hide the Custom Order Numbers tab for specific users. You can do so by selecting the user roles from the drop-down for whom you do not want to grant permission to access the Custom Order Numbers tab. The drop-down has all the user roles listed.
Like the above option, say you do not want Shop Managers to access the Custom Order Numbers tab. So from the Hide ”Custom Order Numbers” admin settings tab for roles drop-down, select Shop Manager as shown below:
Selecting the Shop Manager role
This will hide the Custom Order Numbers tab from the WooCommerce -> Settings page as shown below:
Custom Order Numbers tab is hidden
When the permission is not restricted, the Custom Order Numbers tab appears on the WooCommerce -> Settings page as shown below:
The Custom Order Numbers tab is not hidden
This way you can hide the display of the Custom Order Numbers tab on the WooCommerce -> Settings page for different user roles. The default value is set to None.
Note – The Custom Order Numbers tab cannot be hidden for admins.
Renumerate Orders Tool
This option allows you to remunerate all the existing orders. When you click on the Renumerate Orders Tool button, you are taken to the Renumerate Orders page where you can click the Renumerate orders button as shown below:
Renumerate Orders page
It is a one-click process for renumerating all existing orders. For more details on this, you can refer to our next post.
Reset Settings
1. Reset section settings
This setting allows you to reset all the values added in the Custom Order Numbers options section to the default ones. Simply tick the Reset section settings checkbox and click the Save changes button as shown below:
Reset Settings option
This will reset all the values to the default values under the Custom Order Numbers tab.
For instance, say the existing custom order number for the new order is #WPN1SCR as shown below:
Existing custom order number
Now tick the Reset section settings. This will reset the order number to its default value which is 1, which means without any prefixes and suffixes as shown below:
Original order number
Note – The changes made to the order numbers due to the settings added on the Custom Order Numbers Options page reflect on all orders whether placed before or after the Custom Order Numbers for WooCommerce Pro plugin was installed.
Therefore when you choose to reset the settings, the WooCommerce order numbers and Custom order numbers will reset to their default values.
2. Reset Usage Tracking
The Reset Usage Tracking setting allows you to opt out of sending us your non-sensitive diagnostic data and usage information. You can simply opt out by selecting this option.
Reset Usage Tracking Setting
Once you do this, you will find our banner on your admin dashboard. The banner would look like this-
Usage Tracking Banner
If you choose to share your data by clicking the ‘Allow’ button on the banner, you will receive a 20% discount on your next purchase from our site.
Effect on order numbers when new orders are placed
Once you place an order, the changes implemented for WooCommerce order numbers are reflected in different sections. You can notice that, as per the settings added on the Custom Order Numbers Options page, the changes will appear on the Order Received page, My Account page and in the Email.
Let us understand these with examples.
Order Received page
To learn about the changes implemented on order numbers due to the settings added in the backend, let us take an example of the Order number custom prefix and Order number date prefix options. Say you add the Order number custom prefix as SCR and the Order number date prefix as Y-m-d on the Custom Order Numbers Options page as shown below:
Settings added in the backend
Now when you check the Order Received page after an order is placed, you will see the order number is displayed with the added custom prefix and date prefix as shown below:
Order Received page
This shows that the new custom order number for the placed order is displayed as SCR2108-12-191 where the prefix is SCR, the date prefix is 2018-12-19 and the order number is 1.
My Accounts page
Let us add settings for the Order number custom suffix and Order number date suffix as SCR and Y-m-d respectively:
Settings added in the backend
When an order is placed, these changes will reflect on the order numbers on the My Accounts page of the Customer side as shown below:
Changes on My Accounts page
This shows the order number has changed to #1SCR2018-12-19 because the custom suffix – SCR and date suffix – Y-m-d were added.
Email Confirmation
Similarly, when a custom width for an order number is set to 3 and a custom template is changed to {prefix}{number}{suffix}, this will reflect on the email as well.
Email confirmation
Hence the custom order number appears as #WPN001SCR because of the settings added in the backend.
So that’s it, these are all the available options for the Customer Order Numbers page. Customize them as per your needs or requirements, feel free to contact our support team if you have any questions.