How to use Joomla and Virtuemart for inventory management

How to use Joomla and Virtuemart for inventory management of your products
Thank you for rating this article.

If you want to have inventory management powered by Joomla and Virtuemart, this article is perfect for you! Learn how to create your inventory management system powered by Joomla and Virtuemart component.

Let us talk about Joomla inventory management tools available at moment of writing this article. If you go and ask for advice at Joomla support forum you will be advised to use some eCommerce solution for this task. But every inventory need is different, and we can guarantee you will need help setting this up.

With our example if you are little bit creative you will cover good chunk of needs for inventory control and management no matter if you need it for small internal management or larger systems.

We have plenty eCommerce components like Virtuemart, Hikashop and others and as any shop solutions they have some sort of sections for inventory management, but they are not that much developed and for example in Virtemart when you click on Inventory section in administration you get list of products with few options available for sorting them, while in for example HikaShop you do not even have separated section for it. And that is ok if you look from e shop view.

You can say ok I can manage my products stock from products section and there I will have more info and control. Yes that is right, but that will complicate things for your workers as not every worker you have is skilled enough to not for example delete your products or make some unwanted changes by accident. Not to mention you need to give them almost full control over your Joomla back end or at least to shop component extension. That is not a way to go. What we want is easy front end inventory management system where you or worker can manage your products like pull them from warehouse or rent them if they are meant for that.

So when we summarize Joomla alone or any commence component will not do the job on its own. If you do not want to develop your own inventory management component here is one way you can set it up.

In our scenario we had to cook up system for one of our clients with following parameters:

  • Worker can make products orders in name of the client for sale or rent or both
  • Client can place product orders for purchase, renting or both from warehouse
  • Worker can mark those products to be rented and not sold to the client
  • Worker can make orders for internal rental of products, tools and similar which is used from job to job
  • Worker in warehouse needs to be able to generate Delivery Notice documents when worker or the client comes to pick up the goods
  • System needs to monitor products when they are rented or sold and make it easy for the control worker at warehouse to track what needs to be filled up or replaced
  • Products and tools for internal use needs to be without price as they are not sold or rented as per say, but only used until job in question is completed
  • Worker at warehouse has to have ability to mark generated invoices as paid, rented, returned, picked up or not picked up.

So let us summarize what are our option and what we have available. In our case we used Virtuemart as backbone system and in it we can set only part or inventory management system and big issue is let us be honest it has ugly and heavy administration interface where even skilled Joomla will get lost from time to time, plus we do not want to give worker full control over it just to prevent potential damage. So that part can be solved with setting up ACL properly and assigning those rules to Joomla User Group we have selected to be used for workers, warehouse workers and clients.

What we want basically is to allow every user group to access only to the parts we want them to. For example warehouse worker needed to have access only to the invoices, list of clients and inventory and related to products he needed to have limited privileges and in our case only to see them, and change them but not delete them. Related to workers and clients they can access to the front end and it is easier for them to set up the Virtuemart component.

Let us talk about product categories in our case we created 2 categories one for products which will be rented both for clients and for workers, so we can have better and nicer control over products. Created one radio check box custom field for products which are rented by workers, so they can mark them for internal rent and use. Then created one custom drop-down list field where he can select client if renting is done for client, where he can select for which client renting is done for. Naturally marked that field as cart one so it is displayed on invoice and delivery notice. Then we created two Virtuemart shopper groups, so we can have better control over clients and workers.

Then you are thinking hey but Virtuemart does not have renting capabilities! Yes that is correct and let us look at components or plugins on the market which can give us this functionality. If we go for standalone rental component we can achieve rental capabilities, but we will lose proper inventory management and most of them are created for renting hotel rooms, real estates and such. Yes there are few of them which can rent what ever we want in both services and products. But we are talking about inventory system and not pure rental system. So we found out one Virtuemart plugin called FW Virtuemart Rental, more about it you can see on here on JED official listing of the plugin (Joomla Extension Directory) which comes as plugin for Virtuemart and offers you ability to mark product for renting, sale or both via custom field and what is the most important feature can monitor product stock on which it is assigned and tell user on front end if that product is unavailable for renting for selected period. Thanks to that function worker or client can not make mistake when placing and order or when worker is pulling products from warehouse.

FW Rental plugin for Virtuemart

Note: We are not affiliated with developers of FW Virtuemart Rental plugin except that we are subscribers for their plugins since that plugin was perfect match for what we needed, and it works perfectly.

Not to mention that their support is superb and to be honest we havent had any issue with it overtime. Simply great plugin.

August 2019 update:

Developers at Fastweb have updated me with news that they are developing completely new component which is gonna be able to handle these kind of functions and they will be uniquely positioned to accomodate Joomla users needs regarding similar functions. So hopefully we will be able to skip usage of Virtuemart and gain new options for enhancing our inventory systems.


So after setting up plugin for products we needed, we had that part settled and gave workers and clients possibility which they needed, related to services and products our client is offering.

Next thing was to set up website as website. Since in this case system was closed for public, first thing was to set every page to be visible only to registered members except login page according to our client wishes. Then we set up menu items and created menu items specifically visible to clients user group, workers and warehouse workers and control management. Next thing to set up was fields for workers after they select products and add them to cart for sale, renting or internal renting/use from warehouse. Since system is already set to be only for registered members there was no need some of the fields available in Virtuemart Shopper Fields we disabled them and there we created fields for workers and clients we mention before related to placing orders for either clients, internal use/rent or placing orders in the name of the clients. Good thing about Virtuemart, well not only that component is that user given proper permissions can change where goods are gonna be delivered for example and change additional billing info. We all know that sometimes when you or your worker place order on behalf of the client it will not always be the same address for delivery as he/she was registered with. Same goes for the billing info as well.

Now let us talk about Inventory management page. Virtuemart has it but it is to put it bluntly one list of products with sole minimum sorting options and if you have 10 products, ok you can live with it. But if you have more you are gonna end up needing better marking options and sorting as well. For that we have decided to use Advanced Inventory component offered by Day Counts developers, more info you can find about it on JED listing of the component (Joomla Extension Directory) or official website,  and thanks to it we were able to give our client one nice looking control over its inventory like sorting by category, stock level and other useful fields. Nice thing about it was it marks products nicely when they are for example out of stock and similar and is giving you option to go to product edit page directly. When compared to product section in Virtuemart or Inventory page it is pure gold. Nice looking and easy to get used to. It wasn't 100% necessary as you can live without it, but will save you some time and make possible for you to better control your inventory.

Advanced Inventory for Virtuemart main dashboard

If everything done properly you will have one nice looking inventory system with possibilities for expanding and which works as well oiled machine.

Naturally there are few steps left out like setting Virtuemart front end and adjusting Joomla itself but that part is related to personal taste and needs.

We hope our experience will help you with creating your own Joomla inventory management or at least give you some pointers.

Tell us what you think in comments below or register on our support forum if you have any questions.