Soliciting feedback- Unpacking kits to stock

(Ashraf Islam) #1

To support the kitting epic OLMIS-681, we drafted a mock-up (OLMIS-6045) for unpacking a Kit to receive constituent parts into stock. This assumes that the kit, just like any other orderable was requisitioned through the regular workflow and already went through the proof-of-delivery (POD) process and received into inventory. The kit will then be as an item in stock within the facility and the facility can then initiate the unpacking process any time they choose.

We’re proposing two alternative options for your review and feedback.

  • The first option is to graft the unpack process within the current Stock Management > Adjustments workflow. User will search and select the kit, pick the adjustment reason, “Unpack”, enter the quantity of kits to unpack and be presented with constituent products to unpack. The system will use the constituent product list from the earlier step of creating the unpack list (see OLMIS-5987). When the user enter quantity to unpack, the system will auto calculate the corresponding quantity of the constituent products. When the user click on Submit, the system will validate, and perform related debit and credit operations to increment the quantity of constituent products now received into inventory and decrement the quantity of kit unpacked. If any discrepancy between expected quantity and actual quantity were found during the unpacking operation, after the unpacking, the user can use the regular Stock Adjustment process to record the adjustment (Damage, Lost, Stolen, etc.)

  • The second option is to add a new workflow, Stock Management > Unpack. User will search and select kit only products and be presented with the details of the selected kit. User will enter the quantity to unpack and be presented with calculated quantity of constituent products to unpack. The rest of the steps are same as in option 1.

We think that option 2 is more cleaner approach. Although Option 2 will require additional screens to support the selection process, but the resultant code will be easier to maintain since it will avoid conditional programming needed to support both regular adjustments as well as kit unpacking.

This mock-up along with the earlier mock-up (OLMIS-5987) completes the design work needed to flesh out the basic kit management features being targeted for OpenLMIS release 3.6. Additional functionality and edge cases can be undertaken in future releases.

We welcome your feedback.

(Josh Zamor) #2

This is looking good @Ashraf_Islam.

I think this option also fits within the original UX goal of stock management where every action (e.g. receive, issue, etc) are primary menu items.

Do we need this table? It looks like we’re prematurely designing for scope (adjusting what actually was unpacked) that we’re not doing in 3.6. I don’t think this table fits within the styleguide as-is, and my guess is that if we fully worked through that scope we’d end up creating some screen to screen workflow in place of this table. Seems like we could just drop it for now understanding that future work would accomplish it and more.


(Nikodem Graczewski) #3


I agree with taking the second approach. The first one would make the adjustment screen cumbersome.

Unfortunately, the table doesn’t fit our style guide. Also, I’m not sure what is it representing. My assumption is that it is a list of products that are part of the kit. Am I correct?

To give any meaningful feedback I would have to know what is in the scope of 3.6 for the kit feature. Is it full unpacking? Do we want to allow partial unpacking (some products from the kit are unpacked and some are left in the kit)? Can a product be unpacked partially (some quantity is unpacked, some stay in the kit)?

The first idea that comes to my mind is going with an approach similar to Order View where we have a color distinction for orderable and trade items. In the context of kits, it would be a different color for kit and products that are part of the kit.

Best regards,

(Ashraf Islam) #4

Thanks @joshzamor and @ngraczewski.

I think Josh’s feedback to remove the 2nd table of constituent products makes good sense. Since in release 3.6 we would not be supporting any adjustment (like lost, damaged constituent products) during the unpacking, the 2nd table does not add much value. Removing this also will help keep the UI better aligned with OpenLMIS style guide.

For Nikodem’s comments he also agrees that 2nd table is confusing. So removing it should address his concern.

Nikodem wanted to know more about the scope of kit in 3.6-- to support Kit in an MVP fashion and list other good-to-have and edge cases as backlog for future. 3.6 will only support full unpacking of a kit.

Once a kit is opened/broken down, all constituent products will automatically be received and increment the on hand balances of constituent product. If any item needed to be adjusted, in case they were damaged/lost, in current 3.6, they can be adjusted just like any other products by separately going to adjustment workflow for that product. In future release, adjustment and lot tracking can be supportted during the unpacking process.

Since we would be removing the 2nd table, we would be avoiding the issue of having to distinguish Orderables from trade items. Only kit, an orderable will be shown on the first table.

If I left any issue unresolved, please respond back.



(Nikodem Graczewski) #5

Thanks for giving some insight on Kits @Ashraf_Islam!

If we only want to do a full unpacking for now then I would go with a mix of approaches from adjustment and view order screens. We would still have the same table that we have on any other screen, but each kit would also show a list of products it consist off (in a different color, just like order view screen). We wouldn’t be able to change how much we want to unpack per product but only select how many kits we want to unpack. The reason for having the view-only product line items would be showing how many items will be unpacked as that information might be useful to the user (they might want to unpack a kit in order to get a specific number of a specific product).

Best regards,