This feature might be by design, be a bug or controllable through a setting. In any case it is a serious impediment to using the DHIS2-RTS (Real-Time Stock management system).
I realise and appreciate that it is intentional for Capture Android app to no longer synchronise data during every log in in order to save time.
Current behaviour, user A
- logs into Capture Android app (without synchronising data): the app “loads” the data which was cashed during the previous login
- creates and synchronises transactions: the system updates the stock on hand
- user A logs out
user B - logs into Capture Android app (without synchronising data): the app “loads” the data which was cashed for user B during the previous login
- creates and synchronises transactions: the system updates the stock on hand
- user B logs out: data for user B is cashed
User A: - logs in on the same device: the Capture Android app loads the data which was cashed before the last logout of user A (and therefore before all the transactions user B recorded)
This means that all transactions of user B are (ignored) and the stock position at the time user A has logged out the last time is used as a basis for all further transactions. This means, that for both user A and user B, the stock on hand will be incorrect for all items for which user A (or user B) has recorded any transactions
I realise that we can ask users to delete all local data and synchronise all data but this is not intuitive and sooner or later somebody will forget.
The alternative of using a single login (password) is against DHIS2 security recommendations as it is no longer possible to trace who recorded what transaction.