WooCommerce order numbers are database IDs, and those IDs are shared with everything else WordPress stores, so publishing a post or saving a draft between two orders leaves a gap in the sequence. The fix is a setting rather than a code change: install the free Flexible Invoices plugin and switch on sequential order numbers in Invoices → Settings → WooCommerce → General. It takes under a minute. Two things it does not do: existing orders keep the numbers they already have, and invoice numbering is a separate series that is not affected.

Table of contents
- Why order numbers are not sequential
- Make WooCommerce order numbers sequential
- Order numbers and invoice numbers are not the same thing
- Should order numbers be sequential at all?
- PDF invoices with sequential order numbers
- Frequently asked questions
Why WooCommerce order numbers are not sequential
WordPress gives every record an ID from one shared counter. Posts, pages, media files, products, revisions and orders all draw from it, which is how WordPress links data between tables: product meta in wp_postmeta points back to the product through its ID.
That design is why the counter never belongs to orders alone. Upload three images and publish a post between two orders, and the second order is five numbers further along. The gap is not an error; it is the counter doing its job for other content.
High Performance Order Storage changes where orders live, moving them into dedicated tables instead of wp_posts. WP Desk telemetry from 19,803 WooCommerce stores, collected in August 2026, shows 34.4% of stores with HPOS enabled. It does not, on its own, make the numbers you see on orders continuous, so the symptom stays the same and so does the fix.
Make WooCommerce order numbers sequential
Three steps, no code.
Step 1: Install Flexible Invoices
In the WordPress admin, go to Plugins → Add New, search for “flexible invoices” and install it.

You can also download the ZIP and upload it manually.
Go to Flexible Invoices in WordPress.org →Step 2: Activate the plugin

Step 3: Enable sequential order numbers
Go to Invoices → Settings → WooCommerce → General and switch the option on.

From that point, new orders get consecutive numbers.

Three things worth knowing before you flip it.
Existing orders keep their current numbers. The setting applies going forward, so the store will have a one-off jump between the old IDs and the new series. That is normal and easier to explain than renumbering historical orders, which would break every reference customers and couriers already hold.
The underlying order ID does not change. Sequential numbering adds a display number on top of the database ID, which is what makes it safe. Anything that still needs the real ID, from a payment gateway to an export, keeps working.
Only one plugin should manage order numbers. If something else in the store already adds prefixes or renumbers orders, turning this on as well produces collisions. Check before, not after.
Order numbers and invoice numbers are not the same thing
This is the distinction that causes most of the confusion around the topic.
| Order number | Invoice number | |
|---|---|---|
| What it identifies | A purchase in your store | An accounting document |
| Who uses it | Customers, support, couriers | Accounting, tax authorities |
| Must it be continuous? | No, it is a convenience | Usually yes, by law |
| Where it is set | WooCommerce settings | Invoice plugin, in its own series |
An order with a gap in the numbering is untidy. An invoice with a gap in the numbering is a question from an auditor. The two series are configured separately, and making order numbers sequential does nothing to the invoice series, which was already continuous.
Should order numbers be sequential at all?
Mostly yes, and for ordinary reasons: a customer reading a number over the phone, a warehouse matching a parcel, support finding an order quickly. Consecutive numbers also make it obvious when something is missing.
There is one argument on the other side, and it is worth knowing rather than discovering. A perfectly sequential series tells anyone who places two orders a week apart exactly how many orders you took in between. For most shops that is harmless. For a store whose volume is competitively sensitive, or one that would rather not look small while starting out, it is a real disclosure.
If that applies to you, the middle ground is a prefix and a starting number that does not begin at one, keeping the series readable without publishing your order count.
PDF invoices with sequential order numbers
Sequential numbering is one setting in a plugin whose main job is invoicing. The free version generates PDF invoices for WooCommerce orders and for WordPress on its own, and puts the order number on the document, so the two references line up.

The PRO version adds automatic invoicing on order status, three document types including proforma and correction, OSS support, EU VAT validation, reverse charge annotation and currency exchange rates. See all features on the product page or compare free with PRO.
Summary
Order numbers skip because they are database IDs shared with every other record WordPress stores, not because anything is broken. One setting in the free plugin puts a continuous display number on top of that ID, which fixes the appearance without touching what the store uses internally. Existing orders keep their numbers, so expect one jump at the changeover, and check that no other plugin is already renumbering orders. Invoice numbering is a separate series and is not affected either way.
Frequently asked questions
Why are WooCommerce order numbers not sequential?
Because the order number is a database ID drawn from a counter shared with posts, pages, media, products and revisions. Anything else created between two orders consumes numbers from the same sequence.
Can I make WooCommerce order numbers sequential for free?
Yes. The free Flexible Invoices plugin has the option in Invoices → Settings → WooCommerce → General. No code and no paid version needed.
Will existing orders be renumbered?
No. The setting applies to new orders, so there will be a single jump between the old IDs and the start of the new series. Renumbering historical orders would invalidate references customers and couriers already have.
Does sequential numbering change the order ID in the database?
No. It adds a display number on top of the ID, which is why gateways, exports and integrations that rely on the real ID keep working.
Is the order number the same as the invoice number?
No. They are separate series. The order number identifies a purchase; the invoice number identifies an accounting document and usually has to be continuous by law. Changing one does not affect the other.
Does HPOS fix non-sequential order numbers?
No. High Performance Order Storage moves orders into their own database tables, but the numbers shown on orders are still not guaranteed to be consecutive, so the setting is still needed.
Can I add a prefix or start from a chosen number?
Yes, and it is worth doing. A prefix makes the number recognisable, and a starting point above one keeps your order count private while the series stays readable.
What if another plugin also changes order numbers?
Use one or the other. Two plugins managing the same number produce conflicts and duplicates. Check what is already active before enabling the option.

