Impossible to maintain the traceability of the products

I think that today Sylius is not prepared to maintain the traceability of the products he stores. I give an example.

For a simple product such as a bottle of water, a pallet arrives and I need to record its entry date, stock and expiration date. Currently with each pallet arrival, I can only increase the stock of water bottles. The problem is that I’m interested in giving an outlet to the bottles that have been stored the longest.

Adding the fields of entry date and expiration date is not a problem, but the case is rather to store that information externally. I have tried using the variants, but this way I lose the original functionality of the variants.

I have tried to find bundles that implement this functionality but I have not found anything. Do you think of what form could be implemented?

Thanks a lot!