Sequential Order Numbers for WooCommerce: Top Plugins & Custom Setup (2026)
When customers place orders in your WooCommerce store, each purchase gets a unique identification number. But here’s the problem most store owners run into: WooCommerce order numbers are not always sequential.
Instead of seeing a clean sequence like #1001, #1002, #1003, you might see #1001, #1005, #1012. This creates confusion, raises concerns about missing orders, and can cause major headaches with accounting and tax compliance.
So why does this happen—and more importantly—how do you fix it? Let’s get straight to the solution first.
Quick Fix: Make WooCommerce Order Numbers Sequential
The fastest way to fix non-sequential order numbers in 2026:
- Install a plugin like Sequential Order Numbers for WooCommerce by WebToffee (Recommend).
- Go to WooCommerce → Settings → Sequential Order Numbers.
- Set your Starting Number (e.g., 1001).
- Choose your Format (add prefixes like “WS-” or date tags).
- Save Changes. Your future orders will now follow a perfect sequence.
Step-by-step process of creating sequential order numbers for WooCommerce
Go to Plugins>>Add New from your WordPress admin panel and type in the plugin name. Install and activate.

Now we need to go to WooCommerce>>Settings and jump to the new dedicated tab for setting sequential order numbers for WooCommerce.

Before we dig deep into the order number format settings, let’s check what we have in the default settings.
Order number length
The default order number length is set to 1. If your order number is 5, it will show 5. If you set the order number length to, let’s say, 7, it will add six 0s before the actual order number. E.g.,0000005.
Start Number
The start number is set to 1 by default. Therefore, your next order will get P.O. number 1. If you set it to, for example, 50, your next order will get the purchase order number 50 and then sequentially increase to 51, 52, 53, etc.
Let’s create a couple of new orders and check if WooCommerce sequential order numbers are applied or not.

Voilà! It’s done. Now you have sequential order numbers for WooCommerce.
Order number format settings
From the Order number format dropdown, you can choose four different formats.

- [Number] – We have already used this one. It only creates P.O. numbers. If your start number is 100, your P.O. numbers will be like – 100, 101, 102…
- [Prefix][Number] – You can add a custom prefix before the purchase order number. For example, if your start number is 100 and you set this prefix – WS, your P.O. numbers will be like – WS 100, WS 101, WS 102…

- [Date][Number] – You can set and display dates with your order number. This can help you quickly track which orders were made in which month. For example, if you set the date format [M], which will show the current month and starting number is 100, your P.O. number sequence will look like this – Jun 100, Jun 101, Jun 102…

The plugin offers the following predefined date formats.

- [Prefix][Date][Number] – You can combine all of the above order number formats into one. For example, with the previous prefix and date format, your order number sequence should be like this – WT Jun 100, WT Jun 101, WT Jun 102…

Pro features
There are some added features in the pro version of this plugin.
In addition to the previous four order number formats, you get to choose from 6 more different order number formats, a total of 10 formats in the pro version of this plugin.
Another incredibly helpful feature in the pro version is the Reset sequential order number option. You can reset the order of the order numbers based on the chosen interval. If you choose monthly, the order sequence will start over at the start of each month.
For example, if you have selected monthly from the Reset sequential order number dropdown and your starting number is 1 then your sequential order numbers for WooCommerce will be like – Jan 1, Jan 2, Jan 3, and for the next month it will be like – Feb 1, Feb 2, Feb 3…
This helps you find exactly how many orders you received in a month within minutes.
You can create a separate order number sequence for free orders with the pro version of this plugin.

You can set a different prefix and start numbers for the free orders.
Why are sequential order numbers important for WooCommerce?
A purchase order number is one of the essential parts of an invoice. Hence, it carries significant importance for both you and your customers in the purchase process.
Even though WooCommerce functions without them, a consecutive numbering system is essential for:
- Easy Tracking: Quickly locate orders during support requests.
- Legal & Tax Compliance: Many countries require sequential invoice numbers for audits.
- Accurate Records: Instantly spot if an order is missing or skipped.
- Inventory Management: Evaluate stock flow based on order volume at a glance.
Why are WooCommerce Order Numbers Not Sequential?
WooCommerce doesn’t generate order numbers independently; it uses the WordPress database system.
WordPress stores almost everything—blog posts, pages, images, and orders—in a single table called wp_posts. Every time you create anything in WordPress, it grabs the next available ID.
The “Sequence Break” Example:
| Action | ID / Order Number |
|---|---|
| Customer Order | #1001 |
| You upload a Product Image | #1002 (ID used by image) |
| You save a Blog Post draft | #1003 (ID used by post) |
| Next Customer Order | #1004 |
Because IDs #1002 and #1003 were “taken” by the image and the blog post, your order sequence appears to jump from #1001 to #1004.
Note: Even with the adoption of High-Performance Order Storage (HPOS), WooCommerce maintains this ID system for backward compatibility with thousands of plugins.

How WooCommerce Order Numbers Are Generated
WooCommerce uses the WordPress database to generate order numbers.
In WordPress, everything—posts, pages, products, images, and orders—is stored in the wp_posts table. Each item gets a unique post ID.
WooCommerce simply uses this post ID as the order number. That’s why WooCommerce order numbers appear to skip—even though nothing is actually missing.
Let’s try and understand the process by creating a new order.
Go and click WooCommerce>>Orders>>Add order. Put customer details, add some products and create the order.

As soon as you enter the order edit page, you will notice WooCommerce has already assigned an order number to the order even before creating it.

Let’s jump to the WordPress database and check our wp_posts table.

As you can see, the WordPress wp_posts table created a record for the new order and assigned an ID number, and WooCommerce took that same ID and assigned it as the purchase order number.
Let’s create a blog post now. Go to Posts>>Add New and publish the post after entering your contents. Now go back to the wp_posts table and have a look.

WordPress created a new record for the blog article in the table and assigned the next sequential ID.
Even if you or your customer abandons a cart, the wp_posts table will create a record and assign an ID. And that is why purchase order numbers are not in sequential order in WooCommerce.
So from the above example, we understood that the WordPress database generally creates the ID numbers in consecutive sequences. However, anything you create on your website will be assigned a post ID in the database, as we have seen above.
And that’s how the sequence breaks for WooCommerce orders.
Let’s try and create two orders at a time and check the order, and post ID numbers in the database.

Now they are in consecutive sequence. This is because no other type of posts were created in between these orders.
However, we have no control over the order number sequence in the default WooCommerce setup.
So how can we create WooCommerce sequential order numbers? Let’s find out.
Top Sequential Order Number Plugins for WooCommerce (Challan Compatible)
The Challan Invoicing plugin integrates seamlessly with the following tools. Once installed, you can find extended numbering options directly within Challan’s settings to ensure your invoices and packing slips match your store’s sequence.
1. Sequential Order Numbers By WebToffee (Best All-Rounder)
This is the most popular choice for a quick, “set and forget” solution. It is fully HPOS-compatible for 2026.
- Key Features: Auto-resets sequences from #1 upon installation; supports custom prefixes and date formats.
- Best for: Users needing a simple, reliable fix for skipping numbers.
- Price: Free; Pro version starts at $49/year.
2. Custom Order Numbers By Tyche Softwares (Best for Troubleshooting)
Ideal if you need to fix your historical data or require advanced control over your order counter.
- Key Features: Includes a Renumerate Orders tool to fix existing non-sequential IDs. Offers a reset counter (daily/monthly/yearly) and manual order number overrides.
- Best for: Stores migrating from other platforms or fixing “broken” sequences.
- Price: Free; Pro version starts at $59/year.
3. Sequential Order Numbers Pro by SkyVerge (Best for Custom Formats)
A robust, developer-friendly plugin that works automatically upon activation.
- Key Features: Extremely flexible prefixes/suffixes including time-based variables (hour/minute/second). Allows you to start your sequence from any specific digit (e.g., 10001).
- Best for: High-volume stores requiring highly specific identification formats.
- Price: $49/year (Available via WooCommerce Marketplace).
4. Sequential Order Numbers By BeRocket (Best Free Logic)
If you need complex rules without a premium price tag, BeRocket is the strongest free contender.
- Key Features: Create separate sequences based on conditions like payment method, user role, or specific product categories.
- Best for: Stores that need different numbers for “Free” vs. “Paid” orders.
- Price: Free.
Quick at a Glance
| Plugin | Best For | Reset Feature | HPOS Ready? |
|---|---|---|---|
| WebToffee | General Setup | Yes (Pro) | Yes |
| Tyche Softwares | Fixing Old Orders | Yes (Free) | Yes |
| SkyVerge | Official Support | No | Yes |
| BeRocket | Custom Conditions | Yes | Yes |

Customizing Sequential Numbers in Your Invoices (Challan)
Order numbers are most useful when displayed on professional invoices. Using the Challan PDF Invoice & Packing Slip plugin, you can ensure your new sequential numbers appear correctly for customers.
It allows you to:
- Add prefixes and suffixes (e.g., INV-1001-2026)
- Use sequential numbers from supported plugins
- Create fully customized invoices, packing slips, and shipping labels
- Automatically attach invoices to order emails
Creating custom sequential order numbers for WooCommerce with Challan pro (For invoices)
After installing and activating the Challan pro plugin, go to its dedicated menu and click on the Invoice tab.

Scroll down to find the Order Info settings.

As you can see, you can set prefixes as well as a suffix to your order numbers. With the above settings, your order number in your invoice will look like this –

We have already mentioned Challan supports and integrates with WooCommerce sequential order numbers plugins. If you click on the Numbering Type dropdown, you will find the plugin we already have installed and demonstrated above.

Let’s go back to our orders list and pick an order with a sequential order number we created recently after activating the WebToffee plugin.

Click on the Invoice button to download the invoice for that order.

You will find the prefix and suffix along with the WooCommerce sequential order numbers in the invoice.

You can also set different order meta in your invoice with the Challan pro plugin.

We have removed the prefix and suffix and created an order meta with an order number attribute which we want to place before the billing address. Here’s how it looks now.

You can play with the Challan settings to further customize the appearance of your sequential order numbers for WooCommerce inside your invoices and packing slips.
Using Challan to sync your sequential numbers is a great start. To ensure your templates are fully optimized, check out our guide on how to create a Professional Invoice in WooCommerce.
Wrap Up
Non-sequential order numbers are a natural part of how WordPress works, but they aren’t ideal for a growing business. By installing a sequential numbering plugin, you gain better tracking, cleaner records, and full legal compliance.
Ready to professionalize your store? Combine a sequential plugin with Challan Pro to create beautiful, compliant PDF invoices automatically.
Frequently Asked Questions (FAQs)
Why are my WooCommerce order numbers not sequential by default?
WordPress uses a shared ID system in its database (wp_posts table). Every time you create a blog post, upload an image, or save a product, WordPress “claims” a unique ID. Since orders also use these IDs, any activity between two orders creates a “gap” in the sequence (e.g., #101, #105, #110).
Will changing to sequential order numbers break my payment gateway (Stripe/PayPal)?
No. Payment gateways and core WooCommerce functions use the Internal Database ID, while sequential plugins only change the Display Order Number. Your transaction syncing, refunds, and shipping labels will continue to work perfectly.
Does this work with WooCommerce High-Performance Order Storage (HPOS)?
Yes. In 2026, all major sequential plugins (WebToffee, Tyche, SkyVerge) are fully compatible with HPOS. They ensure that even though orders are stored in high-performance tables, your custom numbering sequence remains intact and accurate.
Can I reset my order numbers every year?
Yes. Most premium versions of sequential plugins offer an Auto-Reset feature. You can set your sequence to restart at #1 on a daily, monthly, or yearly basis (e.g., 2026-001, 2027-001). This is highly recommended for fiscal year bookkeeping.
Is it possible to give “Free Orders” a different numbering sequence?
Yes. Plugins like Sequential Order Numbers Pro allow you to create a separate sequence for orders with a $0 value. This helps separate your promotional giveaways from your actual revenue-generating transactions in your reports.
How do I fix order numbers for orders that were placed BEFORE I installed the plugin?
Most free plugins only affect new orders. If you need to fix your historical data, use a plugin with a “Renumerate” tool (like Tyche Software). This will scan your old orders and re-assign them into a clean, consecutive sequence.
Can I include the customer’s country or current time in the order ID?
Absolutely. Using placeholders like [Prefix], [Date], and [Number], you can create highly specific formats such as US-2026-1001 or UK-APR-502. This is helpful for stores managing multi-regional tax compliance.
