Automatically changing fees to Donations in Client Order

I have a request to automatically add a donation to an order, however, this is as a 5% of ticket total for certain (not all) performances.

On the web site this was relatively simple to implement, but is proving difficult to do in the client.

The only was I can see to do this is to use fees, but this would mean a fair bit of customisation to get Gift Aid to work and also to ensure all of these payments were included in Annual Giving etc.

I was wondering if it was possible to run a SQL script that would convert the fees to donations after the order is placed and if anyone has already done this?

Thanks

Mark