Shouldn't we restate to 47.15 on 31 December and then take the difference of profit or loss . As the books are closed on 31st December
I think we need to apply prudence concept here-Not recognizing the unrealised gain by restating but rather holding. Had USD rate gone down to 46 for instance on 31/12, loss should have been immediately recognized and when profit was realised in January , appropriate adjustment should have been made to write back loss. Hope this helped
Gain or loss will be booked on 31st December if books are closed.