Investigation of Incorrect stock processing

We have a customer where stock is consumed by a variety of processes including SO creation, master planning etc and some time stock allocation does not work as expected. This could be stock not being marked/reserved, the wrong batch being used, work orders not reserving… These are raised after the event once key variables (ie the state of stock batches etc) have changed and we do not have replication steps.

My question is how can something this complicated be best investigated if it cannot be replicated using precise steps to generate the expected error?

Even if we take a copy of live that has the errors and refresh into UAT this is not ideal as the system has ‘moved on’

I am thinking about principles rather than a concrete solution. Does anyone have any ideas?

Unfortunately you need to unpick it backwards. If you take the stock not being reserved you need to come up with the possible scenarios of why. Perhaps the stock simply was not present at the point in time (easy to check with the transactions depending how far it has moved on!) it could be dimension related or other reasons - come up with the list of reasons and try to find out what happened.
The issue is the replication steps, if you cannot replicate it you cannot resolve it, so you need to trial all the permutations that could cause the issue.