I expect to get my backside in a sling for this but here goes anyhow…
There’s a lot of reading to do in this thread and I do apologize if I have not read it correctly.
My concern is based both on accuracy and speed.
Whatever method is employed and if accuracy is assured then why do a stock take at all?
Totally rhetorical question and here’s some more!
Someone steals stock and does not update the database.
There’s a fire and 35 of the 50 ‘Plastic Widgets” are destroyed.
A salesman removes a ‘Plastic Widgets” from stock to display to the customer.
The ‘more correct’ way to maintain ‘inventory balance’ would not handle this.
It seems to me that that is the reason for a periodical manual stock take.
(And if that manual intervention is required then the automatic version is limited on accuracy.)
So if we allow for the case of inaccuracy, by doing a manual stock take, then another system may be required.
Why not do both?
If the short-term speed requirement requires just that then display the last saved short-term balance. If accuracy requires re-calculation back to the ‘defined’ beginning, then do that too and update the short-term balance record. If there is a difference then save that calculated value as well, it then allows tracking of the difference between saved and calculated quantities.
These are just questions…I don’t as yet do inventory balances but I have done aging summary and there seems to be little difference. Eventually doing it the ‘correct way’ will lead to display delays.
A ‘given’ is to set it up correctly in the first place, then to de-normalize it for speed.
(In that way you will have an ongoing comparison.)
Another ‘given’ is to
not take ‘givens’ no matter where they might be derived.
Just my thoughts…
Regards,
Chris.