Bulk adjust stock through importing a spreadsheet

I think I’m getting the hang of consuming a widget. Is there a way to import a consumption with a spreadsheet? Something similar to how you can import inventory which adds to your inventory stock only this would subtract from your stock, show the widget consumed along with a reason.

• Adjust Inventory (Consumption spreadsheet)
	○ Select the widget
	○ Select adjust stock
	○ Reason code "consumed"
	○ Comments: "Installed on date"

@Mark No, but that’s a great idea. There’s used to be a way to do bulk consumption from the Browse Inventory page, but we had to temporarily remove it when we refactored that page.

We have talked about building a basic transaction import to allow people to import their stock history (just the transaction data) from another system. We have a ticket for the feature on the backlog but I don’t think it’s a high priority at the moment.

Let me check to see where it is and get back to you.

Justin

This feature would be really nice. I’m not sure how other people tackle the issue of consuming multiple widgets daily. I know I don’t want to sit here and “consume” 20 different widgets each day. If there isn’t a way to mass import consumption, I may “consume” widgets once a week instead of daily.

Thanks!

I know I don’t want to sit here and “consume” 20 different widgets each day.

@Mark Yeah, that’s a valid point. We actually built a feature like this a few years ago to help manage stock consumption for specific procedures at a medical center. We changed the feature into what is now the Manage Inventory feature. But we can probably make some changes to that UI to allow for managing consumption vs. adjustments.

We could also build a workflow that incorporates barcode scanner. Do you have barcodes / RFID / QR codes on any of these widgets?

I’m not sure how other people tackle the issue of consuming multiple widgets daily.

Just to give you a bit of background, here’s why this particular use case is not supported at this time. Most of the organizations using OpenBoxes don’t track consumption in the same way that you do (at least not yet). When they send stock to a consumer endpoint (usually, a pharmacy or ward or sometimes even a district health center), they assume the stock has been consumed as soon as it leaves distribution center. Most of the time there are several hops i.e country-level warehouse to district-level warehouse to health center, pharmacy, or ward), but essentially once the stock reaches the one of these endpoints (even if it’s not the final endpoint for the physical product), it is considered consumed.

What you’re requesting would be equivalent to a dispensing system at the pharmacy level where we can ensure that the stock that made it to the pharmacy is consumed by an actual consumer endpoint (i.e. patient). We would like to build better dispensing (consumption) features in at some point, but it hasn’t been a huge priority up to this point primarily because it requires integration with an electronic medical record (EMR).

With that said, the feature that you’re requesting is much simpler than the dispensing use case and something that would be generally useful to a wide range of users. For example, this feature would be the precursor to a dispensing system as it would allow a pharmacist to tally the quantity dispensed per day or week without having to associate those with specific patients. They would then be able to set reorder levels and better manage their own stock.

So I think the first step will be to implement a basic transaction import feature that allows you to consume stock in bulk for some period of time. It would be better to track this by hour or day (since transactions have a timestamp), but that’s up to you. You could just record the timestamp of when you counted the consumption and entered into the system.

I think I can do it this way. So the Consumer End Point is a location in my Open Boxes but what type of location would you set it up as (Depot, Warehouse, Receiving)? So most people would create an outbound shipment and ship it to the consumer end point.

Yes, I see that Open Boxes is geared toward the medical field and I’m not using it for that at all! :smile:

The principles are still the same only your patient is my end user/customer. While your patient consumes medicine, my customer consumes CAT5 cables, Wi-Fi access points, etc.

I think the import consumption feature would be a great one to add.

Thanks!

So the Consumer End Point is a location in my Open Boxes but what type of location would you set it up as (Depot, Warehouse, Receiving)?

It doesn’t really matter. You can use any of the existing location types. Or you can create a new location type, assign it a location type code = CONSUMER or whatever you want. I don’t think any of it matters unless we restrict some of the dropdowns by supported activity. The locations you create with the new location type just need to be the destination for all consumption transactions.

So most people would create an outbound shipment and ship it to the consumer end point.

Yes, we’d use an outbound stock movement with the destination set to that consumer location. This feature creates a requisition record that can be used later for demand forecasting. In addition, we create a shipment object that can contains important statuses and timestamps so you can track important events about the shipment. And lastly, you can receive that shipment within the destination location if you plan to track stock at that location. In your case, since the destination would be a consumer you’d probably just leave the shipment as shipped or mark it as received yourself (I don’t remember if we can do that through the stock movement workflow, but I can show you how you’d do that through the Shipment UI).

If you just wanted something simple, you could use the Transfer Stock feature available from the Stock Card page as well.

This feature creates mirrored transactions (a DEBIT from the origin and CREDIT to the destination). This is commonly used to move a stock item from one bin location to another (i.e. intra-facility transfer).This feature doesn’t create any other metadata about the stock movement (e.g. no statuses) and each transaction is assigned the same timestamp, signifying that there was no “in transit” time.

In either case you can use the Consumption Report to display aggregate consumption on all of your products as this report looks at the low-level transaction data. However, if you want to be able to do reports on demand / forecasting you’d want to use the Stock Movement feature.

If you’d like you can schedule a quick demo next week and I can demonstrate how I’d set it up based on your requirements. There are a few questions I need to clarify, otherwise I’d just record a demo and send it to you.

Created an issue to track this feature request