Last updated - June 29, 2019
If you have a WooCommerce store, you might have come across irregular orders IDs in your WooCommerce Orders dashboard. While you may think you are missing out on some orders, you are actually not!
So why are WooCommerce Order IDs non-sequential?
WordPress uniquely identifies every element in its system as Post IDs. So in a WordPress database, a page, post, image, category, tag, etc., are given a unique Post ID. The major reason to do this is that it becomes easier for developers to access these entities.
Also read: How to Find Post ID on your WordPress Site?
How are WooCommerce Order numbers generated?
WooCommerce follows the same sequence format, in which its product, category, tag, and attribute values are also uniquely identified with a Post ID. Hence, when you create WooCommerce orders as well as other WordPress entities, like a page, the order IDs become non-sequential in WooCommerce Orders dashboard.
For example, let’s say you receive two WooCommerce orders with order IDs ‘1001’ and ‘1002’. Next, when you create a WordPress page, its post-ID will be ‘1003’. Again, when you receive two WooCommerce orders, the order IDs will be ‘1004’ and ‘1005’. At this point, you might be wondering if you have lost your order with order ID ‘1003’, but you have not. The post-ID ‘1003’ belongs to a WordPress page.
From a website or blog perspective, the order IDs won’t matter in a big way. But if you have an eCommerce business with large inventory management, you would want to keep the order IDs in a proper sequence. This makes classifying and filtering of orders a lot easier.
How to make WooCommerce Order IDs sequentially?
The solution to this problem is Plugins. There are various free and premium plugins available in the market that you can make use to customize the WooCommerce Order IDs.
Let’s explore some of them.
1. WooCommerce Sequential Order Numbers Pro
With this plugin, you can set custom WooCommerce order numbers, order number length, custom prefix, and suffix as well. You can also set a starting number even if you do not have existing orders. In case you have some existing orders, the order ID sequence will start from the current highest order number.
In addition to this, you can also include the current day, month, year, and time in the order ID. This will help in categorizing old orders from the new ones. One exciting feature in this plugin is that it allows you to skip specifying order number for orders only with free products. You can also specify a custom prefix for free products.
2. Custom Order Numbers for WooCommerce
This plugin allows you to specify not just sequential numbers, but random numbers as well. One unique feature of this plugin is the ability to re-numerate existing orders IDs. You can start the order IDs from 1 even if you have a lot of existing orders. You can also set custom prefix, suffix, order number width, template and dates in the order IDs.
Another exciting feature is the Admin tracking feature, that allows store admins to track the order with the new custom order IDs. Also, you can set a reset counter to change the order IDs automatically.
The plugin also has a free version with limited capabilities.
3. YITH WooCommerce Sequential Order Number
This plugin is another good alternative. Just like the previous plugin, this plugin allows you to specify a starting number for progressive numeration of orders and add prefix & suffix for order IDs as well as free products.
One additional feature is that it allows you to handle free products in a slightly different way. You can choose to consider all the products in the order total with zero amount as free products or choose each product that has zero value as a free product.
4. Booster Plus for WooCommerce Plugin
While this plugin serves as an all-in-one plugin for WooCommerce, one of its modules allows you to set custom order numbers. In addition to setting up custom order numbers, prefix & suffix with alphanumeric and date values, order number width, the plugin allows you to track the orders with the custom order numbers.
It also has an option for using MySQL Transaction to be enabled when you have a lot of simultaneous orders in your WooCommerce store.
5. Sequential Order Number for WooCommerce by WebToffee
This free plugin makes your order management easy by taking the next highest order number and start a new sequence of order numbers. If you have no orders in your store, it will start from order number ‘1’. Since the order IDs reflect other plugins as well, this plugin offers customization to make it compatible.
6. Sequential Order Numbers for WooCommerce by BeRocket
A new kid on the block. This free plugin allows you to set custom prefix, suffix, start number for orders as well as free orders. You can also include date and time in the order number. One additional feature this plugin offers is the option to set custom prefix and suffix for each order payment method.
Few points to keep in mind
- What happens to the previous order IDs? – The plugins create a new table in the WordPress database and do not use the previous order IDs. Hence, the old order IDs are still stored in the database.
- What happens when you reorder? – When you place a request for the same order again, a new row will be created in the database table. This row will be an increment from the previous order ID but will contain the same order details.
- What if no order, page, or post is published? – Even if there are no orders in your store, nor any page or post is published, the Post IDs will be assigned to other WordPress entities like a draft page, draft post, etc.
Suggested reading: How to Find Post ID on your WordPress Site (and why do you need it?)
Or continue exploring LearnWoo for more amazing articles.