Fulfillment & Stock management performance: Confirmed shipments and stock card items
The following behaviour has been reported on the demo-v3 instance by ThoughtWorks:
Assuming that we create an order to supply just one product to a facility, the system also creates transactions on the remaining products that are part of that program with a transacted quantity = 0. This behaviour impacts the performance of the system on a large scale if a large program orders a few products.
Step by step
This order only has IPV and POLIO (5 dose) as products, as the following picture.
Before the Confirm shipment, GlaxoSmithKline Polio (20 dose) had 20 line items in the stock on hand detail page.
Upon confirming the shipment, the line items of GlaxoSmithKline Polio (20 dose) in the stock on hand detail page change to 21. Confirm shipment will add a new movement for products which don’t take part in the Confirm shipment.
The shipments Post API will add all line items of all lots which have stock card in the request body. Affecting this API’s performance.
After confirm shipment, only the stock movement of the lot in the shipment can be affected.