As a storeroom clerk (spock), I want to record a Physical Inventory in OpenLMIS and provide reasons for the quantity discrepancies with the added flexibility that my reasons might not account for the entire quantity that Stock Management has on record. I want to see the unaccounted quantity so that my stock card can be as accurate as possible.
The goal is to have an accurate stock card, while also providing flexibility for out-of-order/asynchronous submissions. This will allow historical physical inventories to be submitted out-of-order by the Requisition service as in OLMIS-3505. It will also help with mobile/offline sync situations, such as adjustments that were already recorded on a tablet but not yet synced. This feature will also allow users to enter a Physical Inventory with SOH values without giving any reasons (this may be a beneficial concept for Re-supply Distribution and Allocation workflows where we want to capture SOH data but we don't have reason data). This feature corresponds with Option 1B from Stock Management options for 3505/3808.
API: Remove validations from the Stock Management Physical Inventory API to allow reasons that do not account for the entire quantity. There may be a positive or negative unaccounted for quantity.
UI: Remove validations from the Stock Management Physical Inventory UI to allow for unaccounted quantities. We want a visual indication of the unaccounted quantity so the user knows/understands.
On Stock Card view, when there are unaccounted quantities they should be displayed. (See mockup in the first comment below.)
On stock card view, change "Reason" Overstock/Understock to "Physical Inventory"
Test that this fixes and inform Team Malawi (the bug is urgent for Malawi Implementation).
Document that this is an API change in the CHANGELOG. We are changing the "contract". Increase the version number of the Stock Management service because this is a contract change.