Adding dimensions to stock locations

By specifying product dimensions (width/height/length/weight) and adding similar attributes to stock locations (max width/max length/max height/max weight) additional values can be calculated like volume % free / volume % used for the storage location.

This data can be used to calculate where to move stock or internal transfers that could be used to optimise the warehouse efficiency (e.g. moving hot stock to a better position when space has been freed up),

Also, a simple report could show the % free / % used for the location and each sub location.

The module product_measurements already store such data.

I think it is a naive implementation. For example there are products that can not be stacked, or products that are not boxes.

Very true and it’s of course up to the user to know when it’s possible to stack products, this doesn’t affect the calculations of volume usage though as non-stackable products still have a volume.

Perhaps closely related, regarding the non-stackable products, maybe have a module / fields for a list of “Storage Requirements” in the product model, and so a location can have “Offers Storage Requirement” that tie up to the requirements, e.g. a product may need “Cold Storage” as a storage requirement, and some locations can offer such a feature.

But it will give a false vision of available space.
So maybe a solution would be to compute the volume of non-stackable products using the height of the location.

I see two possible options:

  • Populate a percentage_used field automatically but allow the user to manually override and specify the % used where necessary

  • Implement some complicated not_stackable / can_not_have_things_on_top_of_it / can_not_have_things_to_its_side sort of system.

I think the first will be best because even if something is not stackable, the same amount of volume of a location will still be unavailable for storage and it may lead the warehouse to creating more smaller/optimal storage locations for these items to be put in - e.g. split a location into smaller units with shelving so the items can be essentially stacked. Or, it may find some different stock that can stacked on top of it to make use of the volume.

Perhaps the issue can be solved with the combination of product storage requirements as outlined above, e.g. a storage requirement could be ‘Non-Stackable’.

This would also allow the system to suggest locations that may be suitable for receiving the stock - e.g. it has the min volume of free space and has the necessary storage requirements which the user could always ignore