Virtual products (kits) not working as expected


DOLIBARR ENVIRONMENT

  • Version: [14.0.4]
  • Operating System: [Ubuntu 18.04.6 LTS]
  • Web Server: [Apache 2.4.29]
  • PHP: [7.4.26]
  • Database: [MariaDB 5.5.5]
  • URL(s): [/product/composition/card.php] [/expedition/card.php]

Let’s say I have a kit “AB” that contains 1 x product “A” and 1 x product “B”. I have stock levels:

A: 100
B: 50
AB: 0

Now I want to deliver one kit “AB”. Right now, when I want to create the shipment, the kit is correctly identified and the stock levels shown, but I can’t create the shipment because the stock level for “AB” is 0. I was expecting that I can ship “AB” and after that stock levels are:

A: 99
B: 49
AB: 0

But this is not happening. How do I actually use this feature? If there was a function to convert A, B to AB virtual products, so increase AB and decrease A, B accordingly I could do it but I don’t see it. If I add stock to AB, the stocks for A and B increase at the same time so that’s not working either. I want to use my existing stocks for A and B to make kits AB.

I am a bit lost here. New user and really trying to make this work for us. Any help?

Cheers,
Chris

1 Like

Personally, I avoid virtual stock… I’m sure there is a setting for it to turn it off.

I use/understand this feature as…
Product A is a five piece cooking pot set sold as 1 set with a buying price and selling price and stock levels.
Product V/W/X/Y/Z are cooking pots in different sizes to make Product A. Each pot has a selling price and a buying indicator (not buying price as my business rule is that i cant buy it directly, it must come out of the set if i want to sell it separately so I use the cost price field just to give me an idea). Each pot has a stock level based on the number in the set.

So the above Im selling a 5 piece cooking set and buying it too. But each piece of the pot inside the set is sold seperately too with a selling price. When i buy the item, i only buy the set (Product A) and then i receive Product A and the associated products in the Kits section get updated stock levels based on how many of each are in the set.

I renamed ‘kits’ to ‘packages’ in my translation file as I sell products and the business sees a single product or a package of products/items to make a product/set. Each product or set is a dolibarr product.

I hope that makes sense or helps you a bit.

I believe I have figured it out. This is what one can do:

  • In order to sell virtual products/kits, you need to increase stock, but since this is not a real product but only virtual and taken out of sub-products’ stock when shipping (or invoicing, etc.), when you add the virtual stock (pick any number that works, doesn’t really matter), you have to check “Deactivate the stock change for all the subproducts of this Kit during this movement.”
  • In Stock module, make sure there is a rule for automatic stock decrease (also increase if you need) checked.

Now when you ship the virtual product/kit, the sub-products are taken out of the existing stock.

The important thing here is that the stock for virtual products/kits in this set up are not real but only “realized” at the moment of delivery when the kit is assembled. It makes sense to create a “virtual stock” that is not bigger than the smallest stock of the sub-products it contains. But you need to manage this stock yourself.

2 Likes

I found that you must buy in as a kit and sell out as a kit. If you buy in separately, shipment will see it the component but Kit part will be 0. Then, you will need do adjust stock manually.

*** I also tried to use MRP to BOM kit part from its components, but Kit part cannot process in MRP.