Every once in a while I take some time outside of WooThemes to do some freelance work. However, my reasons for doing freelance work are quite different to most developers (I’m generalizing here, but usually it’s money). My reasons are usually to scratch an itch to play with a new technology, to learn how to use a particular product at WooThemes that I wasn’t part of building, or because it presents a possible business opportunity. Recently I was presented with an opportunity that fulfilled all 3 of those criteria – much to my delight.
Setting the stage
2 close personal friends of mine came to me last year with a business opportunity that would require me to build a system to manage both a warehouse stock and ordering process as well as the customer storefront. Â The system would be closed off to only verified users, and a specific process flow would be followed from the initial order to the completion of the order.
The requirements were simple:
- Secure customer login where Customers could create orders regardless of how much stock was on hand
- Customer Administrators would then approve or cancel these orders
- The Warehouse Manager would process the approved orders and despatch them to the customer from the warehouse
- Once the order was delivered, the order would be complete
- Payments would be handled separately, so no payment gateway was necessary
- A support forum for customers was needed as well
But what to do to get this done?
I initially thought about custom building a system in something like Kohana as I had no knowledge of any existing WP product that would completely meet my needs. In the end I decided on using WP as my code framework seeing as how I had punted WP as a development framework at last years Cape Town WordCamp.
While thinking about how to custom build this into WP, I had an epiphany of sorts. WooCommerce, at its core, has the ability to do around 70% of the main features that the system required. So why not use it as a base? It would save SO much development time!
Making it happen
So I ended up implementing a customized version of WooCommerce 1.3.2.1 to handle the orders and the stock management, basically to be the super powered engine of the system, as well as to handle the reporting requirements. WooCommerce is amazing – Jay and Mike have built an incredible product that was a pleasure to use as a base to work from.
I then used Justin Tadlock’s Members plugin to handle roles and permissions, bbPress for the forum requirements, and the Shelflife theme designed by Fresh01 (my personal favorite designer and WooThemes colleague) for the customer frontend. In addition to that, Customers and Customer Admins would never see the WP dashboard, and the Warehouse Manager would never see the frontend. All of this was achieved with WP functions 🙂
Getting technical
Customers
Customer Administrators
Warehouse Manager
I’ve implemented the system onto a live domain as well as onto an Ubuntu LAMP server in the warehouse – I used XCloner to make the move as simple as possible – and the next step is to syncronize the 2 databases. Should be fun 🙂
Lessons learnt and how this applies at WooThemes
Being a lead developer here at WooThemes gives me the great privilege of working with and building some of the best products on the market for WordPress. Working on projects outside of WooThemes, and using our own products has always allowed me to improve them and to see how they perform in real life. I suggest all theme and plugin developers try out their own products and see how they really perform.
About
Is this going to be available for sale 😀
Might be worth a look building as an extension, but I’d have to do some major rework of the code for the latest version of WooCommerce 😉
Would love to see the Warehouse management as an extension, without your tweaks the warehouse manager role seems kind of pointless.
where to buy? Pending and Approve orders are interesting. e.g. We want to enable customers to publish their business data in categories. There is a free version, a basic version (with more options) and a premium version with some pics upload, logo….
Of course you want to approve a client – it could be spam. As well as pending, because you did not receive the payment yet or the account has to be renewed.
We still fight with a solution and other e-commerce tools. Would be nice to have with WooCommerce – and we would pay for those extensions.
Dynamic pricing can be used to add a retail-access level to your current direct-to-consumer store.
The only real challenge is that splitting your portal into separate stores allows you to also split inventory. To anyone that’s ever been in an inventory-stressed ecommerce business that does retail AND consumer sales, it’s a hard case for retail to hang on to their inventory (usually 1/3 profit margin) when a consumer is ready to buy. Splitting the inventories allows for efficient allocation.
BUT, of course, that’s another management system. If inventory allows, I’m all for 1 integrated store.
Regardless, this case study is COOL.
Thanks man 🙂 Yeah, most big store chains would need cost centers and the ability to transfer between stores, I’d like to do that in the future but that’s more of a long term goal at this stage.
Jeff this is really cool. This with a little tweaking could also be a POS bridge it looks like. It’s one of the things we struggle with – How to keep all warehouse/online inventory in check. Yes we know we can use POS systems and import/export and sync— blah and we hate it.
What would be super sweet is to use WC as a POS for in store purchases much like how you are using it here. But it’s missing the payment gateway piece – and possibly a bar scanner/credit card swiper.
Why not have your interface as the backend for the warehouse person filling the online orders. And the front end interface you have as an in store POS. And yet another interface for customers.
The benefit could be that it keeps everything in check without the need to import/export add products sync, blah! It could all be handled from one system.
I really like your use of WC in this case. Awesome. I’d love to have a copy!
POS would be a great idea! I think one of the goals of the warehouse would be to have an onsite store so I might have to build a POS interface at some stage. Maybe another case study? 🙂
What are we waiting for? 🙂 It would capture a huge chunk of the market and get people crossing over to WC I think. It’s really an issue for a lot of people trying to find bridges between their online store and their in store POS.
Let me know if you want to use us as a case study or want to pick my brain about the issues we are dealing with in this arena. POS interface for WC would be huge.
Sure, mail us your thoughts using our contact form and Ryan will make sure I get it 🙂 We’re always game for new ideas!
Jeff, I sent something through to Ryan. Thanks.
Hi Jeff,
This would be the perfect warehouse for my father!
I could also use these 2 add-ons:
-Project How-To light box, right before they buy the item to encourage the purchase
-Reviews page, kind of like a feedback page
At the same time show off his features products with option to hire an expert or chat with a CR without leaving the site.
You certainly picked up the right design for the metal and wood professional workers/customers.
— WooCommerce — will give this theme/framework a powerful shopping assistance!
Quite like it!Well written。
Hi woo-folks,
as a club member, the enormous focus on themes with a selling aspect and the according plugins is starting to annoy me. I agree that you are doing some great work there but none of the projects I am working on right now or am planning to work on include the need to sell something; and the one that is is not supported by the framework, but works perfectly with the free s2member plugin.
So seeing all this effort going into something I don’t need while much fewer general themes are released then earlier and at the same times seeing the buddypress approach cancelled is not making me feel that my club member fee is invested sensibly…
Hi Sebastian
Always good to get feedback on this, other than the WooCommerce enabled themes what kind of themes you are looking for? Remember you can use those themes without WooCommerce as well, and recently we’ve released 4 business themes (Whitelight, Olya, Beveled), a band theme (Unsigned), and a wiki theme (Wikieasi) – are you looking for more themes like Listings & Estate or the tumblog themes?
Let us know 🙂
Hi Jeffikus,
I like the recent themes but am very disappointed about the Buddypress desaster – including the continued inconsistent communication on it, unkept promises (3rd party will further develop it, in two weeks there is a solution, we will update it) etc..
And I might be wrong, but I have the feeling you published more themes when there was no WooCommerce around…
I would love to see more themes for business, personal, maybe a less emotional Non-Profit, maybe something with members, or a membership plugin from your side (http://woo.uservoice.com/forums/72423-general-ideas-/suggestions/2685432-membership-plugin), or…
There is great stuff on themeforest.com and many other websites out there, its also fairly cheap, but it lacks the great woothemes framework and options.
Best
S.
Hi Jeff,
thank you very much for this case study. What kind of hosting / server power do you recommend to make store like this running smoothly?
Hey There I really enjoyed reading your thoughts. I’m considering writing my own blog very soon Cheers.