As above, your friend has not received a “fine”. It is a speculative invoice from an unregulated private parking company for an alleged breach of contract.
Hopefully, no contact or appeal has been made yet. If so, this is easily dealt with and she won’t be paying a penny to Horizon.
Without seeing the back of the NtK, I am fairly confident that thy are not relying on the provisions of PoFA 2012 to hold the keeper liable. Only the driver is liable and Horizon have no idea of the drivers identity unless your friend reveals it to them. She must not do so. Any appeal/response is only as the keeper. There is no legal obligation for the keeper to identify the driver.
Unfortunately, it’s too late to appeal but you can still try. The may or may not accept it. If they don’t, then you complain instead.
For now, a PCN appeal stating the following:
“I appeal as the registered keeper. I am not obliged to identify the driver and decline to do so. You cannot transfer the driver’s liability (if any) to me as you have not served me with a notice to keeper that complies with Schedule 4 to the Protection of Freedoms Act 2012 (PoFA) and it is now too late to do so.
I require you to cancel the parking charge and remove my personal information from your database or else issue me with a POPLA code where we both know you will withdraw or lose.”
It’s not worth spending much effort on this as, ultimately, your friend cannot be liable as long as she does not identify the driver. The driver and the keeper are separate entities in law and, as mentioned, there is no legal obligation for the keeper to identify the driver.
If Horizon reject the appeal due to the deadline being missed, the n the above without the POPLA code request (no obligation from them due to appeal deadline being missed) as a complaint should be enough to give them the heads-up that they are not dealing with low-hanging fruit on the gullible tree and they are wasting their time if they persist.