Delay Approval Process

Delay Approval Process

We are using a custom function to loop through the product details and set the result of the calculation on to the product record. We then want to run an approval process. Problem we're having - the approval process is being evaluated before the custom function gets done executing which means, the record never enters the approval process. There is no way to delay the evolution of the approval process nor is there a way to call the approval process via a trigger. Any thoughts on a workaround?