I have an interesting problem and am reaching out to see if anyone has a solution.
Today my customer discovered that woocommerce stopped recording his shop orders from July 3rd. By great good fortune he uses a shipping plugin/service called ShipStation, and by further good fortune, the orders were reaching ShipStation and they were being accurately recorded and despatched. We are also satisfied that the orders were being paid for via his payment gateways.
I started an investigation and one of the first rules of diagnostics is to ask what changed on the material date. As it happened, on July 3rd I added a shipping zone for WooCommerce using the Flexible Shipping plugin. It was a bit of struggle setting this up and needed the developers help to do so. In the end we were happy it was working on staging so we pushed it live. I’m pretty satisfied that this is where the problem lies.
The orders started appearing again in WooCommerce from 11th August and today, the client noticed them and discovered that they were not being pushed through to ShipStation.
Again, what changed on the material date? The WP update from 5.42 to 5.5. This update which has actually caused a bunch of problems has actually solved this problem – well kind of.
It has at least started to record the orders again. However — and here’s the problem — WooCommerce has woken up and started to allocate what it believes is the next available order nº (post ID). Unfortunately, it hasn’t noticed that 64 orders have been placed whilst it was asleep and so is 64 order numbers behind.
ShipStation is now refusing to play ball as WooCommerce is sending it orders that it believes it’s already received!
Here’s my question: is it possible to restart the WooCommerce order numbers at the last order +64 so that ShipStation starts receiving unique order numbers and starts fulfilling them again?
Or, more broadly, does anyone have a solution?
What a frustrating series of events that must have been.
Unfortunately, WooCommerce does not include a simple way to reset or start order numbers with a particular number.
The only solution I know of is the premium WooCommerce Sequential Order Numbers Pro extension, which allows you to choose any starting number that’s higher than your most current order number.
It also allows you to customize your order numbers by setting a starting number, order number length, or custom prefixes and suffixes. Instead of your order numbers looking like 64, 65, 66, and so on, they could now be WT-0101-UK, WT-0102-UK, or whatever format you like.
Wish there was another workaround, but if there is, I’m not aware of it.
Hope this helps!
Hi Shawn – as always thank you for your speedy reply. I am aware of Sequential Order Numbers Pro. Unfortuantely not only does it cost $49 it’s one of those evil plugons that bills annually – kind of expensive for a single fix.
What do you think of this?
You need to read to the bottom of the article to see an update. I’m no expert on WPs databse and woujld have no view myself whether this would work. Do you?
Is this idea insane and only something that a crazy and desperate person could think of?
I think I’m right in saying that WooCommerce order numbers are in fact the next post ID in sequence. If this is correct then if, for example the last order number was 1000, if I created a post that was assigned an ID of 1001 then would the next order number be 1002?
If this is correct, then all I need to do is to create 64 post IDs to force the order numbers forward by 64. And if THIS is correct then what’s the quickest way to create a post ID? Can I create 64 fake categories or fake comments for instance?
I’ve pinged a couple of friends at Nexcess for their feedback, and will post as soon as I hear back!
Your assumption is correct, but not _every_ activity is a post. See my reply below…
Hey Martin, if you’ve ever created a blog post, then you’ve likely run across ‘posts’ in WordPress. An order, page, and many other types of items in WordPress are stored as ‘posts’ all in one database table. Whenever one of these items is created, the database will automatically increase the count, and your post, page, or order number is born. If you’re looking for a simple way to increment the number, you can create multiple posts. This plugin is free and looks like it might do the trick https://wordpress.org/plugins/mass-pagesposts-creator/ — While I haven’t tried it myself, you might consider creating 64 posts and deleting them. That should increment your order count! 🙂 Hope that helps. Let me know how it goes!
Hi Shawn & Mendel
A thousand thanks for your input on this knotty issue. It was clear to me that this wasn’t going to work unless we convinced woocommerce that the next order nº / postID was not one that it has alrady pushed hrough to shipstation.
As i was cycling through the vineyards of Provence, France this morning (serioulsy, this wasn’t a dream!) I remembered that I own a copy of WPAllImport. I realised that the answer was to download the shipped orders from shipstation as a csv and upload them into woocomm via WPAI. It worked. Well almost. The imported orders pushed the postID to within 4 numbers of what I needed. I then turned to Mendel’s neat plugin suggestion and created a bunch of posts in about 12 seconds (I have NO idea why you might want to do this in the real world!). Now my postID was way beyond the last number required and hey presto orders are going through to shipstation again.
Thank you as always for you input and suggestions
That’s fantastic to hear, Martin! I’m happy you found a fix that didn’t require purchasing an expensive extension for a one-item use.
And thank you, Mendel, for weighing in as well. Grateful for you and the rest of the Nexcess team for diving into this one. You guys really are the most helpful humans in hosting. 🙂