Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Suggestion: Increasing/Decreasing the stock of consumables/components/accessories #5881

Open
tilldeeke opened this issue Jul 18, 2018 · 71 comments

Comments

@tilldeeke
Copy link
Contributor

I would like to introduce a way to increase or decrease the stock of consumables, components and accessories. For that I would introduce two new "sub"-resources:

  1. Orders
    An Order registers the increase in stock and consists of the same attributes we save directly with the respective models right now:

    • quantity
    • purchase_date
    • purchase_cost
    • order_number
  2. StockCorrection
    A StockCorrection could either increase or decrease the stock in one of the respective models, if they are lost/found/stolen/broken for example. It could consist of these attributes:

    • quantity
    • correction_date
    • reason

So instead of saving the total amount of stock as a discrete value, we could calculate total/remaining stock easily. By extracting the order information to a seperate object we can also keep better track of the purchases themselfes, not needing to reconstruct them with the history of the models.

There are already some other issues that could be solved with this:
#1015 #1179 #2534 #2722 #5173 #5606

Since this is quite a big change to the codebase of the respective models, the importers, etc, I would like to discuss this suggestion quite a bit before starting to actually write code for it.

What are your thoughts about the idea itself, the naming of the new resources, attributes...?

@smksar
Copy link

smksar commented Jul 19, 2018

Oh wow my boss and I just discussed about this recently where we thought of migrating Excel tracking of printer consumables but we found out it doesn't track the things you mentioned such as increasing the black toner stock based on order.

We ended up reverting back to Excel as I created order sheet and stock sheet plus a summary page that shows a snapshot of the items

So yes, I'm very much +10 for this idea to be realized.. I wish I can help with coding but I'm only good with vba macro.. m(_ _)m

@kcarette
Copy link

Orders should be linked to suppliers. Create an order, link it to a supplier, select the items ordered (from drop down list of existing items or create a new item); Add a PO number, current price, ... And upon delivery, you should be able to "mark as delivered (completely or partially)". This would automatically increase available stock of the specified item(s).
Next to that, you should be able to mark stock as bad (lost items, damaged goods, ...)
This should be applicable to consumables, accessories, components, assets, ...
And finally, accessories, consumables, ... should have a checkbox "requestable", which would make them ... requestable by end users.

@SylentBobNJ
Copy link

Looks like this would supersede #5606 but yes, would like this implemented to help prevent problems with tracking consumable amounts due to bad math. :)

@rstgermain
Copy link

Yes please add this feature. It currently doesn't make sense to keep increment the quantity when that number doesn't actually exist. As the toner is used the quantity should decrease. When restocked the quantity should then increase to whatever is on hand. Whatever has been used has been "consumed" and should no longer be reflected as part of the quantity displaying in snipe.

@fradat
Copy link

fradat commented Oct 11, 2018

This would be a great addition. I hope it can be implemented.

@stale
Copy link

stale bot commented Dec 11, 2018

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

@stale stale bot added the stale label Dec 11, 2018
@kcarette
Copy link

Since it hasn't been implemented, it's still relevant.
It also doesn't make any sense that we have to keep replying to this thread to keep it alive

@snipe
Copy link
Owner

snipe commented Dec 11, 2018

@kcarette

Since it hasn't been implemented, it's still relevant.

That's not always true. Sometimes people have stopped using the product, and it's no longer relevant.

It also doesn't make any sense that we have to keep replying to this thread to keep it alive

Stalebot shouldn't be marking these as stale, since they have the "ready for dev" tag. I don't know why they are.

@stale
Copy link

stale bot commented Dec 11, 2018

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

@ZephyriusOne
Copy link

ZephyriusOne commented Jan 10, 2019

Yes please add this feature. It currently doesn't make sense to keep increment the quantity when that number doesn't actually exist. As the toner is used the quantity should decrease. When restocked the quantity should then increase to whatever is on hand. Whatever has been used has been "consumed" and should no longer be reflected as part of the quantity displaying in snipe.

This exactly. I have been wanting to move our printer toner stock from Excel to Snipe ever since we adopted this asset tracker. This would be a HUGE plus for our company. I was hoping for this change in v.5.0 but it doesn't look like it's making it in.

My suggestion would be to make a "Printers" section, separate from Assets, that you could then tie in Toner Consumables to them. Checking out toner to a User COULD still be an option for when you are shipping toner to a remote office for example, but to me it makes more sense to check out toner to the actual Printer itself. That way you can see which printers are using which toner and how often. I think it would be cleaner to add a "Printers" section instead of adding the printers as Assets, but either way would work fine. The main thing is assigning toner to a Printer/Asset, rather than just a user. Most printers in our company are used by multiple employees, so it's hard to assign to one individual, and sometimes that individual ends up moving buildings (our company has 5 buildings on the same street, and they LOVE to change employee locations OFTEN) which would make history/reports very confusing to follow. I would have no way of knowing the exact printer the user requested the toner for if I looked back a few months/years.

To summarize:

  • Add Printers Section (would be nice to keep separate from Assets visually)
  • Ability to Check Out Toner to a Printer or Asset
  • Implement accurate Stock Levels for Toner (Check Out reduces Stock Qty properly)
  • Ability to increase or decrease Stock Qty at will

@KimmoJ
Copy link

KimmoJ commented Jan 23, 2019

I'll just add my voice to this as well, if for no other reason than to keep this from going stale.

The idea to have infrastructure items that can have consumables assigned to them makes a lot of sense to me as well, like printers, but not necessarily just printers. But printers are a good example, a printer requires multiple types of consumable - often multiple colors of toner, paper of course, and maintenance parts also, like a routine maintenance kit. We prefer to keep at least one such maintenance kit on the shelf for when the printer starts asking for it.

The consumables area is woefully deficient without a way to add and subtract stock, as consumables are things you keep adding to and subtracting from. A specific type of toner, for instance, doesn't need multiple entries, it would become unmanageable in short order, it needs an add stock button. We also hand out work clothes for some workers (protective gear) that would be ideal to track this way to keep a running tally.

Also, why would there even be a check in option for a consumable? Once it's been consumed, it's been consumed and should just become a statistic.

@stale
Copy link

stale bot commented Mar 24, 2019

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

@stale stale bot added the stale label Mar 24, 2019
@rstgermain
Copy link

rstgermain commented Mar 24, 2019 via email

@stale
Copy link

stale bot commented Mar 24, 2019

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

@stale stale bot removed the stale label Mar 24, 2019
@kgmoore431
Copy link

+1 For handling stocked items. I'd echo the desire to define an item (consumbale, component, accessory) that we can stock at multiple locations and track ordering of restock / resupply as an event that changes inventory levels.

@IPB-DevOps
Copy link

+1

2 similar comments
@sandipodlogar
Copy link

+1

@caite
Copy link

caite commented Jun 24, 2019

+1

@perezalvarezhi
Copy link

+1 bump

@fmq203
Copy link

fmq203 commented Aug 23, 2019

+1

@avilsmeier
Copy link

Bump!

@anhkernel
Copy link

I'm just learning SnipeIT right now and couldn't find anything in the user manual for how to use consumables. Is this how it currently works?

  1. Create new consumable - e.g. Canon XYZ Toner
  2. Check out until depleted - e.g. 0/10
  3. Create new consumable again, even though it's the same exact item
  4. Check out until depleted
  5. Repeat

Is this right?

@rstgermain
Copy link

rstgermain commented Aug 28, 2019 via email

@stephenashby
Copy link

Following this thread. I see this has been an issue for three years, hoping to see it updated. This would be incredibly useful.

@cryogenx
Copy link

cryogenx commented Jan 9, 2021

So the reason this is difficult to implement is they aren't storing the remaining quantity in the database anywhere, its doing a count from all consumables checked out and then subtracting that from the total quantity in the specific consumable/acessory e.g.

public function numRemaining()
{
$checkedout = $this->users->count();
$total = $this->qty;
$remaining = $total - $checkedout;
return $remaining;
}

in order to implement this change they need to add a remaining quantity to the consumable table and increment it down on every check out. same with accessories...

i may pull the latest release down and tinker with it... another thing to keep me up at night... 😓

@ruddens
Copy link

ruddens commented Aug 2, 2021

+1 on this please! :)

@ruddens
Copy link

ruddens commented Aug 2, 2021

in my point of view:

Accessories
Accessories never have serial number, nor asset number. As such they are added in batch when arriving. If checked in depending on the life time you might add a value back, but I would not have that as an option. It makes the system easier to manage.

  • No serial nr
  • No asset nr
  • Added in batch when arriving
  • The cost is taken directly on the asset / business unit in a report
  • If it is checked in again it will be to the cost of 0 money as the cost is already taken.
  • (How ever if you like to make it more complex you could add a value...)

Consumables

  • No serial nr
  • No asset nr
  • Added in batch when arriving
  • The cost is taken directly on the asset / business unit in a report
  • Will not be able to check it in again. If you do it wrong (the checkout) you add it as a new batch (1 unit and the old cost)

@francogp
Copy link

This can be solved with a COPY button next to edition, on the consumable.

@snipe
Copy link
Owner

snipe commented Aug 18, 2021

This can be solved with a COPY button next to edition, on the consumable.

We are aware - there is additional backend that needs to be built out for this.

If you have a pull request ready, we'd be happy to take a look.

@ersatyle
Copy link

was going to create a new feature request for this, but I can see this one would be perfect, we mostly want to manage our stocks in different locations without assigning to anyone in particular,
hopefully it will be implemented some day, thanks.

@lewisstancer
Copy link

+1 Is this still in the works/on the roadmap?

@jbollmeyer
Copy link

Counting orders against handed out accessories to users is a basic function.
So i still need excel

@jcookatlas
Copy link

bump...

@DavidHelfrich
Copy link

DavidHelfrich commented Nov 1, 2022

Is anyone from SnipeIT actually looking at this? I see years worth of users requesting this and an occasional bot wanting to know if it's relevant. It is. It's also a basic function for how most people track consumable items. You buy the same paper, the same toner, the same whatever, over and over and replenish the stock as it runs out. Why would there NOT be a feature like this?

@MarcusGHub
Copy link

Bumping this thread... it seem we will have to revert to another app just because of this feature that causes issues with our auditing team.

@phil-ittech
Copy link

bumping this thread also for same reasons as above.

@kbrown900
Copy link

+1 for this feature.

@royanl
Copy link

royanl commented Jan 20, 2023

+1 for this feature, much desired!

@reuben-thundergrid
Copy link

+1 much needed

@ikki77
Copy link

ikki77 commented Apr 21, 2023

+1

@Geekdomo
Copy link

Geekdomo commented May 2, 2023

+1 Once I got it all setup I was kind of disappointed that there was no quantity during checkout. If I am checking out 5 AAA batteries to a user, I have to check it out 5 times to deprecate the overall quantity. Then if I buy some more batteries, I cant add them back into stock. Seems like a major oversight. Worst part is its been requested for almost 8 years (earliest thread I could find on this).

@francogp
Copy link

francogp commented May 5, 2023

+1 Once I got it all setup I was kind of disappointed that there was no quantity during checkout. If I am checking out 5 AAA batteries to a user, I have to check it out 5 times to deprecate the overall quantity. Then if I buy some more batteries, I cant add them back into stock. Seems like a major oversight. Worst part is its been requested for almost 8 years (earliest thread I could find on this).

In my case, it was easier to create my own tools for this

@ffish77
Copy link

ffish77 commented Aug 22, 2023

+1

1 similar comment
@crazyc4t
Copy link

crazyc4t commented Jan 9, 2024

+1

@afranchi74
Copy link

+1 for this feature.

@addex12
Copy link

addex12 commented May 30, 2024

No solutions for this feature yet?

@afranchi74
Copy link

Hello!, Any news on this suggestion?

@Schnatterowski
Copy link

+1 for this.

  • it should be possible to re-stock consumables
  • it should be possible to check out consumables to assets and locations (not just to users)

Is the snipeIT team considering this? It's been open for six years. Thanks for letting us know.

@Tekk3r
Copy link

Tekk3r commented Oct 24, 2024

+1 for this. Getting deeper into utilizing snipe-it for our company and currently the logic is just not friendly or benefcial.
Specifically being able to restock consumables.
Or adjust/clear the count. As a consumable i really don't feel that I need to lock that item into a permanent "checkout" it should just decrease the total count of the stock of the consumable item.

@BrianF13
Copy link

BrianF13 commented Dec 1, 2024

I agree, this would a huge improvement. Unfortunatley, some service management teams are saddled with the unpleasant task of managing some consumables, such as printer toner, batteries, etc.

@royanl
Copy link

royanl commented Dec 1, 2024

Indeed, we are still waiting for this to be picked up😃

@snipe
Copy link
Owner

snipe commented Dec 2, 2024

It already has been picked up. The only way tp make this work is by implementing an order system, which already has WIP PR up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.