As I mentioned I do it a lot more concisely than I described it as otherwise it would be too difficult to explain. For instance I do not have a separate table for Purchases This Year and Stock On Hand. I have them all together in the one table and use date ranges and various indicators to determine what was purchased this year, what batches have been sold this year, what is on hand etc.
It would have been too complex to describe in that post.