I currently work as a software developer in a rather large company. I am currently working on multiple projects which each have their own funding pool & own project managers who monitor expenditure (mainly hours spent working).
We had an intern "Steve" who was tasked with working on his own project, Project X. This is a project which has no budget but as Steve was not required log his hours against projects his work was considered "free labour".
Steve is moving on from the company as his internship is almost over. However his project has not been completed as expected so I have been told by my direct manager "Bob" that I am required to familiarise myself with the Steve's work and finish the project.
I asked Bob which project I should book my time against and he told me there is no project so I am to balance this out between the other projects I am working on. Bob has asked me to do this before (however this was the first time in writing) but this is significantly larger than any prior task (previous tasks have been 1 or 2 days, Project X will take much longer as the intern was still learning so his work is very messy).
I know for a fact that the managers for my other projects would not want me to do this and it seems unethical to spend their project budget on a failed intern project.
Some of my coworkers have suggested flat out refusing to do it, though I have been told Bob has bullied people out of the company who crossed him.
Others have suggested to just do the work and if questioned by a project manager show them the email from Bob requesting I spend their money. I don't think this is a good idea either because I will likely be blamed for making Bob look bad.
I am not really sure what to do, what is the best way to handle this situation?
EDIT: The contract for the work is a fixed price contract and the customer does not pay for it. However as mentioned by @Anketam, the non project work hurts the profitability of the contract and makes the PM and myself look incompetent.