Flexi Custom Order Numbers for WooCommerce

Flexi Custom Order Numbers for WooCommerce Pro plugin allows you to have sequential or incrementing order numbers for your orders, rather than random order numbers. Also, you can customise these order numbers and take full control of your online shop’s order numbers.

Installation

↑ Back to top

To start using a product from WooCommerce.com, you can use the “Add to store” functionality on the order confirmation page or the My subscriptions section in your account.

  1. Navigate to My subscriptions.
  2. Find the Add to store button next to the product you’re planning to install.
  3. Follow the instructions on the screen, and the product will be automatically added to your store.

Alternative options and more information at:
Managing WooCommerce.com subscriptions.

Setup and Configuration

↑ Back to top

Flexi 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.

Custom Order Numbers Options page

Let us understand each of them in detail:

Custom Order Numbers Options

↑ Back to top

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

↑ Back to top

When you select the Sequential option, WooCommerce order numbers are generated in a continuous sequence.

For example, if the next order number starts from 4000, then the following orders will appear as:

  • 4000
  • 4001
  • 4002
  • 4003

and so on.

This is the most commonly used option because it keeps order numbers organised and easy to track.

Sequential counter selected

The sequence itself is controlled using the Next Order Number setting discussed below. Please note that the Next Order Number field appears only when the Order Numbers Counter setting is set to Sequential.

The value entered in the Next Order Number field becomes the next order number assigned to a newly placed order.

For example, if the value is set to 4000, then:

  • the next order will receive 4001
  • the following order will receive 4002 and so on.

To renumber existing orders, you can use the Renumber Orders tab.

2. b) Order ID

↑ Back to top

If you select the Order ID option, the WooCommerce internal Order ID will be used as the order number.

Here, 1488 is the WooCommerce Order ID, and the same value will be used as the order number.

This option is useful if you want the displayed order number to match WooCommerce’s original order record ID.

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 #1488 as shown below:

Similarly, other orders will also get order numbers based on their order IDs as shown below:

Once the Order Numbers Counter is set to Order ID, another option called Minimum Digits in Order Number can be used to define the minimum width of the order number.

For example, if the Order ID is 1488 and the minimum digits are set to 8, then the order number will appear as:001488

2. c) Pseudorandom – crc32 Hash (max 10 digits)

↑ Back to top

If you select the option Pseudorandom – crc32 Hash (max 10 digits), each order will receive a unique random number of up to 10 digits.

The numbers will not be in any sequence nor will they follow Order IDs. They will be any 10 random numbers.

For example, an order number may appear as:5839201746

Include Characters

This option is available only when Pseudorandom – crc32 Hash (max 10 digits) is selected in the Order Numbers Counter setting.
Pseudorandom option selected

When enabled, random order numbers may also include alphabetic characters along with numbers. For example:A59X20B71

You also have an option, such as the Minimum Digits in Order Number setting, which can also be used to define the minimum width of the random order number.

3. Auto-Reset Order Count

↑ Back to top

The Auto-Reset Order Count setting allows you to automatically restart order numbering at fixed intervals instead of continuously increasing the same sequence forever. When the counter resets, the numbering will restart from the value configured in the Reset Counter Value field.

The available options are:

  • Disabled
  • Daily
  • Weekly
  • Monthly
  • Yearly

Options to reset the sequential counter

Daily

When set to Daily, the sequential counter resets at the start of each new day.

For example, if your Next Order Number is set to 1, the order numbers for a day may appear as:

00001
00002
00003

On the next day, the numbering will restart again from:

00001

This option is useful when you want to maintain separate order sequences for each day.

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.

Please note that the Auto-Reset Order Count setting works only when the Order Numbers Counter option is set to Sequential. This setting will not affect order numbers generated using the Order ID or Pseudorandom – crc32 Hash counter types.

Weekly

When set to Weekly, the order numbering sequence resets once every week. This option is useful for businesses that manage weekly shipments, fulfillment cycles, or reporting periods.

For example, if the Reset Counter Value is set to 100, the order numbers for a week may appear as:

00100
00101
00102

At the beginning of the next week, the sequence will restart again from:

00100

Adding weekly reset values

Monthly

When set to Monthly, the order numbering sequence resets at the start of every month. This is commonly used by stores that organize orders month-wise for bookkeeping or operational reporting.

For example, orders placed during May may appear as:

05001
05002

At the beginning of June, the numbering sequence will restart from the configured reset value.

Yearly

When set to Yearly, the order numbering sequence resets once every year. This is useful for businesses that prefer restarting order counts for a new financial year or calendar year.

For example, all orders placed during the current year will continue in sequence, and at the start of the next year, the numbering will restart again from the configured reset value.

4. Apply These Settings To

Here, you can choose how and where they should be applied using the apply these settings to the dropdown.

This dropdown provides multiple options to control whether the changes apply to all orders, only new orders, or orders starting from a specific date or a specific order ID.

The settings configured above, such as Order Numbers Counter, Prefixes and Suffixes will be applied based on the option selected in the Apply These Settings To dropdown.

‘Select the order to apply new settings to’ option

Important:
These options should be selected carefully. Once new settings are applied, the changes are irreversible and may affect past orders depending on the option chosen.

We recommend reviewing each option and understanding its impact before saving your settings.

a) To all new orders only

When this option is selected, the changes made to the Order Numbers Counter settings and Prefix/Suffix Rule settings will apply only to newly placed orders.

For example, if your previous template was just {number} 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

b) To orders from a certain order number

When this option is selected, the changes made to the Order Numbers Counter settings and Prefix/Suffix Rule settings will apply starting from a specific WooCommerce Order ID.

After selecting the orders from a certain order number, you will need to enter the original WooCommerce Order ID from which the new numbering settings should begin applying.

.For example, let’s say your store currently has orders using the default WooCommerce order numbers such as 7000, 7001, 7002, and you want the new numbering settings to start applying from the custom order number 7000

To find its original WooCommerce Order ID, open the Edit Order page for order 7000. In the URL, you will see something similar to:

post.php?post=1506&action=edit

Here, 1506 represents the original WooCommerce Order ID.

This is the value that should be entered in the field displayed below the Apply These Settings To setting.

In the prefix and suffix rules tab, set the prefix as TS and the order template as {prefix}-{number}

Now, all orders starting from WooCommerce Order ID 7000 to use a new sequential numbering format beginning from TS-8002.

In this case:

  • orders before WooCommerce Order ID 7000 will retain their existing order numbers
  • the order with WooCommerce Order ID 7000 will receive the order number TS-8002,  TS-8003, TS-8004 and so on.

c) To orders from a specific date

When this option is selected, the changes made to the Order Numbers Counter settings and Prefix/Suffix Rule settings will apply to all orders placed on or after the selected date.

Under this option, you will see a Starting order date field. Use the date picker to choose the date from which the new numbering settings should begin applying.

For example, let’s say your existing orders currently use sequential order numbers such as 005052 and 005053. Now, you want to start using a new numbering format for all orders placed from 14 May 2026 onwards.

To do this, select To orders from a specific date from the Apply These Settings To dropdown and choose 14 May 2026 in the Starting order date field.

Next, go to the Conditional Prefix/Suffix Rules section and change the Order Number Template from {number} to {prefix}-{number}-{suffix}. Then set the prefix as TYC and the suffix as TTPB, as shown below.

After saving the settings, all orders placed before 14 May 2026 will retain their existing order numbers such as 005052 and 005053. Orders placed on or after 14 May 2026 will use the updated numbering format configured in the Prefix/Suffix Rules settings.

 d) To all orders

When this option is selected, the changes made to the Order Numbers Counter settings and Prefix/Suffix Rule settings will apply to all existing and future orders in your store, regardless of their order date or WooCommerce Order ID.

For example, let’s say your existing orders currently use different numbering formats such as1652, 2276968295,TS-1773774411-WPN.

To do this, select To all orders from the Apply These Settings To dropdown.

Next, go to the Conditional Prefix/Suffix Rules section and update the Order Number Template from {number} to {prefix}-{number}-{suffix}. Then set the prefix as TS and the suffix as WPN, as shown below.

Creating a new template for all the orders

After saving the settings, all existing and future orders will use the updated numbering format. Your Orders Page will then display order numbers in a consistent format such as: TS-1001-WPN ,TS-1002-WPN, and
TS-500720-WPN

Orders Page after applying the ‘To all orders’ setting

Please note that this setting only applies the updated numbering format to all orders. It does not regenerate or resequence existing order numbers. To rebuild existing order numbers into a fresh sequential series, you will need to use the Renumber Orders tab.

If your store has a large number of orders (for example, more than 50,000), applying these changes may take a few minutes.

Orders Page with different settings 

After saving these settings, your Orders Page will appear like this-

5. Enable order tracking by custom number

↑ Back to top

When the ‘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.

6. Manual order number counter

↑ Back to top

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

7. Hide the “Renumerate Orders” admin menu for roles

↑ Back to top

This setting allows you to hide the Renumber Orders tab for selected user roles.. 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.

For example, if you do not want Shop Managers to access the Renumber Orders functionality, you can select the Shop Manager role in this setting.

Selecting the Shop Manager role

But when you opt for hiding the Renumber Orders option from the menu for the Shop Managers role, the option will not appear in the tabs 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.

8. Hide the “Custom Order Numbers” admin settings tab for roles

↑ Back to top

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.

9. Renumerate Orders Tool

↑ Back to top

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.

10. Reset Settings

↑ Back to top

1. Reset section settings

↑ Back to top

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

↑ Back to top

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

↑ Back to top

Once an order is placed, the custom order number generated using your Order Number Template and Prefix/Suffix Rules will appear across different customer-facing sections of your WooCommerce store, including the Order Received page, My Account page, and order emails.

After placing an order, the same custom order number will be displayed consistently on the following sections:

Order Received page

↑ Back to top

For example, let’s say you configure the following settings in the backend:

  • Order Number Template: {prefix}{number}{suffix}
  • Prefix: WPN-
  • Minimum Digits in Order Number: 5
  • Suffix: -SCR

With these settings, the generated order number will appear as:

WPN-00001-SCR

Here are the settings configured 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

My Accounts page

↑ Back to top

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

↑ Back to top

The generated custom order number will also appear in WooCommerce order emails sent to customers and store admins.

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.

Conditional Prefix/Suffix Rules for Order Numbers

↑ Back to top

The Conditional Prefix/Suffix Rules for Order Numbers feature allows you to customize WooCommerce order numbers by automatically adding prefixes or suffixes based on different order conditions such as products, categories, payment methods, countries, user roles, and more. This helps store owners easily identify and organize orders using meaningful order number formats.

How to Enable Conditional Prefix/Suffix Rules

↑ Back to top

To start using condition-based prefixes and suffixes for WooCommerce order numbers, enable the Enable Prefix & Suffix Rules option available under the Conditional Prefix/Suffix Rules section.

Order Number Template

↑ Back to top

The Order Number Template defines how your custom WooCommerce order numbers will appear. It lets you control the structure using dynamic placeholders like the order number, product SKU, prefix, suffix, and more. You can create a format that best suits your business needs by combining these placeholders. For example, if your template is set as {sku} {prefix} {number} {suffix}, and you’ve configured the prefix as WPN, order number as 4948, and suffix as KK, the generated order number will be WPN 4948 KK.

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:

Add a Prefix/Suffix Rule for Order Numbers 

Let’s now look at the available Condition types that determine when and how a specific prefix or suffix will be applied to the order number. Conditional Prefix/Suffix Rules for Order Numbers

Each rule includes:

1. Condition Type: 

The criteria (like product, category, etc.) that trigger the conditional prefix/suffix.

1. Product

2. Category

3. Payment Method

4. Country

5. User Role

6. Date

7. Custom

8. Free Orders

2. Condition Value: 

The specific value (e.g., a product name, category, or country) that satisfies the condition type.

3. Prefix:

The custom text that will appear before the order number when the condition is met.

4. Suffix :

The custom text that will appear after the order number when the condition is met.

5. Separate Sequence:

Enable the use of a distinct order number sequence for this condition instead of the global counter. When the separate sequence is enabled, it ensures that each matching condition type follows its own independent sequential numbering, separate from the global WooCommerce order number sequence.

6. Actions:

Options to edit or delete the configured conditional rule.

Condition Type: Product 

This rule applies a specific prefix or suffix to the order number when a particular product is purchased.

If a customer purchases the Protein Shake and the order number is 4942, the final order number will appear as:

Separate Sequence to Apply Independent Order Numbers for Each Rule

↑ Back to top

Some businesses require independent order number sequences per product, event, payment method, or any other condition, instead of one global WooCommerce counter.

The “Separate Sequence” option within each Conditional Rule allows you to achieve exactly that.

  • When the Separate Sequence is Disabled (Global Sequence Shared Across All Rules).
    When disabled, all rules share the same global sequence, so numbering continues across all products or categories, whether they match a rule or not.
    For example: FIT-1000, CAKE-1001, FIT-1002, 1003, CAKE-1004, FIT-1005, etc.

  • When Separate Sequence is Enabled

    When enabled, each conditional rule (e.g., based on a specific product or product category) maintains its own order number counter.


    For instance:


    • FIT-001, FIT-002 for High-Waisted Yoga Leggings (Fitness Apparel)


    • CAKE-001, CAKE-002 for Birthday Cake – Chocolate Truffle (Cake category)


Condition Type: Category

↑ Back to top

This rule adds a prefix or suffix based on the product category of the item(s) in the order.

If the order contains any products from the ‘Cake’ category, then the order number will have the prefix ‘CAKE-‘, as shown below:

Condition Type: Payment Method

↑ Back to top

This rule sets a custom prefix or suffix based on the selected payment gateway.

If the customer selects the ‘Cash on Delivery (COD)’ payment method at checkout and places the order, then the order number will have the suffix ‘-Cash On Delivery’ added to it.

Condition Type: Country

↑ Back to top

This rule assigns a specific prefix or suffix to the order number based on the customer’s billing country selected during checkout.  

If the condition type is set to country with the value of United States (US) and the prefix is configured as ‘{country_name}’, then all order numbers from customers in the US will include this prefix, helping to quickly identify the country of origin for each order.

Condition Type: User Role

↑ Back to top

This rule applies a specific prefix or suffix to the order number based on the user role assigned to the customer who placed the order. This helps differentiate order types based on user segmentation (e.g., Retail vs Wholesale).

If the customer is a Subscriber, and the prefix is set to SUB-, then all orders placed by the Subscriber with that role will show up as 5005SUB-.

Condition Type: Date

↑ Back to top

  This rule allows you to apply a prefix or suffix to order numbers based on the order date. This is useful for archiving, tax year segmentation, or seasonal order management. If you want to add an mdy (month-day-year) prefix to the orders numbers, configure the Date condition with the prefix format mdy.

An order placed on that date would appear as below:

Condition Type: Custom

↑ Back to top

This option lets you apply a custom prefix and/or suffix to all order numbers without using any specific conditions. You can use any combination of characters or patterns, and they will appear before or after the order number. For instance, say you add the prefix WPN in this setting.

 

Now when you check the Orders page, all order numbers will contain the prefix as WPN as shown below:

 

Condition Type: Free Orders

↑ Back to top

This rule applies a prefix or suffix specifically to orders with a total value of zero. For example, promotional or sample orders.

Let’s say, for free orders, you might want to add a suffix like –FR. 


In this case, the order number will be 15007-FR.

This makes it easier to identify and separate out no-cost transactions in your reporting or exports.

Conclusion

↑ Back to top

As your WooCommerce store grows, keeping track of orders across different products, payment methods, and customer groups can become harder. Conditional Prefix/Suffix Rules help you recognize the type of order at a glance, making it easier to sort, track, and manage orders based on your store’s needs.

Set up rules that match your workflow, and use separate sequences when different order types need their own numbering. This way, your order numbers can do more than identify orders. They can help you manage them more efficiently.

FAQ’s

↑ Back to top

View all FAQ’s from here.

Questions & Support

↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Related Products

Offer add-ons like gift wrapping, special messages or other special options for your products.

WooCommerce Subscriptions is a WooCommerce extension that lets customers subscribe to your products or...

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.