Unsuitable/Damaged stock items are included when allocating stock items

This issue has been tracked since 2023-01-24.

Please verify that this bug has NOT been raised before.

  • I checked and didn't find similar issue

Describe the bug*

When allocating stock items for a build order, it seems "unsuitable" stock items are included in the available stock.
Stock items with a status listed as "Damaged", "Atten. Needed etc." should probably not be possible to allocate.

Is this behavior intentional? It does not seem like a good idea to allow allocation of "Invalid" stock items, unless the user is aware of this.

Steps to Reproduce

  1. Create a build order that contains stock items, where one or more has been listed as "Damaged"
    image
  2. When allocating stock items, you will see that the total stock item count includes "Damaged" stock items as well.
    image

Expected behavior

Invalid stock items (Damaged, Attn. Needed) should not be possible to allocate. Alternatively, we should have a way to allow this.

Another alternative could be to display the stock item status when allocating the item:
image

Deployment Method

  • Docker
  • Bare metal

Version Information

Version Information:

InvenTree-Version: 0.10.0 dev
Django Version: 3.2.16
Commit Hash: fb34409
Commit Date: 2022-12-19
Database: postgresql
Debug-Mode: False
Deployed using Docker: True
Active plugins: False

Relevant log output

No response

matmair wrote this answer on 2023-02-01

Stock states are only there as a piece of information. They do not impact business logic. It would be easy to change that - we should be careful though as it could break existing instances.

SchrodingersGat wrote this answer on 2023-02-01

I think this issue would be solved better by a "general purpose" solution which also addresses #4253

With the ability to define custom stock status codes, the user can define which codes are considered "in active stock"

tehkillerbee wrote this answer on 2023-02-08

@matmair That makes sense. Breaking existing usage of the status field could be avoided by displaying the stock status in the drop-down menu so the user can (manually) avoid selecting stock items with an unsuitable status.

For auto-allocate, a different solution will be needed, if the user has used status as a way to differentiate stock items.
For instance, in our case, we have used the status field as a way to mark stock items as "Attn. needed" since they are production samples only and must not be shipped/installed in customer systems.

@SchrodingersGat A custom stock status (with the ability to mark as active stock) sounds like a good idea too and it would probably solve most of the above issues.

More Details About Repo
Owner Name inventree
Repo Name InvenTree
Full Name inventree/InvenTree
Language Python
Created Date 2017-03-23
Updated Date 2023-03-31
Star Count 2586
Watcher Count 61
Fork Count 411
Issue Count 141

YOU MAY BE INTERESTED

Issue Title Created Date Updated Date