(what's the catch?)
0845 numbers are free for you to operate as long as you have directed the 0845 through to a landline.
The person calling your 0845 is liable for the call charges, rather than you. The cost to call an 0845 number is generally about 5ppm plus their network providers access charge, whereas if they were to call you on an 0345 number the cost would be no more than calling an 01 and 02 number, but you would incur the routing costs.
From July 2015 you are required to publish these charges wherever you display the number. See this link for more more info: https://www.barritel.com/servicecharges.php