TL;DR there doesn’t seem to be any one provider that has inventory perfectly sorted yet and honestly, from my experience, WooCommerce product import is delicate and finicky at best; especially with regard to Product Variations – this tells me it’s not the 3rd party vendors’ fault. WooCommerce’s inventory system works pretty well on its own.
Read on for the full story.
Some back story on WooCommerce
WooCommerce is an eCommerce platform that has been around a while and was purchased a couple of years ago by Automattic (they own WordPress) and its integration has gotten so much better over that time that I’m confident recommending it as an eCommerce solution these days.
There are other options but this is one of the most popular, and one that is so solid and so well supported now it’s a great competitor to Shopify. The plugin ecosystem is rich and vast, and many are free.
WooCommerce’s unique selling points are that you have full control over your store and your data and aren’t subject to being locked into an external ecosystem. You control your data. This has its benefits but also means you’re responsible for issues when they arise.
Because of Xero integration to 3rd party systems, it’s common to want to use a 3rd-party inventory provider to manage your stock. This can be an advantage you get a central data source that connects your store to your accounting system. At least in theory.
3rd-party inventory providers are doing their best to work with WooCommerce
BUT, and this is a big but, I’m finding the weak point in this chain is when you try to integrate WooCommerce with a 3rd-party Inventory solution. Some popular 3rd-party inventory providers are (these three are based in New Zealand:
Of note, Vend just updated its integration to beta status yesterday which seems to confirm they aren’t fully squared away with the integration. Product Variations are called something else on their side, and when those variations come back to WooCommerce they are confused for separate products instead. This is something to watch out for.
The other two I’m less familiar with, but I hear they offer support but don’t make any promises, which makes me think they have the same issues with WooCommerce Vend does.
The good news: WooCommerce does Inventory pretty well on its own
So that’s the bad news out of the way.
The good news is you can use WooCommerce by itself as an Inventory application. This is a very viable option these days. I have a client that uses the Invoicing option which takes the payment gateway out of the equation and then their store, in effect, is their inventory and fulfillment system.
WooCommerce continues to improve, two days ago they announced WooCommerce Admin, their first step to providing complete sales analytics. This is a welcome feature, and it’s one more reason to choose WooCommerce over other providers.
*Please don’t feel like you have to have a 3rd-party system to do Inventory right
And if you need a POS you don’t have to use a 3rd-party service like Vend, but I know of a plugin solution that is a pretty solid alternative – Actuality Extensions POS is a POS for a brick and mortar store, it connects with your online store; this includes rock solid inventory sync. A few things to keep in mind though to keep it running smoothly:
I’ve seen plugin conflicts in WooCommerce affecting the AE POS system so use these plugins to test for these conflicts and test before you golive:
(*If your eyes glaze over on the technical stuff skip this section to go right to the conclusion section below)
Every WordPress website has things called CRON jobs that they perform, this allows the site to check for updates for you and to make them automatically if you so choose, and other operations. But sometimes these operations run too frequently; for example your site doesn’t need to check for plugin updates and WordPress versions any more than once per day.
You can optimise these CRON jobs to speed up your site. Site speed makes or breaks a shopping cart on any platform.
Query Monitor can clue you in to those activities on your site that might be blocking your more important POS ajax requests. Use it to find these issues.
I had a client whose POS store stopped working because of a plugin conflict and due to too many AJAX requests going through admin-ajax.php (see CRON jobs above), and the problem was resolved when we removed the offending plugin and when our webhost saw the increased load on admin-ajax.php and increased the “load balance limit” for the site and put these requests through a CDN; thereby lightening the load on the store itself and it started not only running but running faster.
Keep an eye out for 429 (too many requests), 503 and 504 errors (the request took too long to complete).
Conclusion: I recommend only using a 3rd-party inventory provider if your products are simple/without variations
As I said before the issue 3rd-party providers are having seems to rest with WooCommerce being inflexible with their product data import requirements. In general, any time you add a layer of complexity, a translation of data if you will from one system to another, this opens the door to issues. Keep it simple.
Let me know your thoughts and experiences in the comments, and please let me know if you need help with your WooCommerce store.