The customer will be definitely pissed but at least he'll respect your honesty. If you withhold this information from your customer, it can eventually come to haunt you back.
Projects experience delays, and this is very normal. Most (if not all) customers know that, but they always want their projects to be finished "yesterday".
Again, honesty is the best policy in your situation. You may want to ask for an advice from your project sponsor. He'll most likely help you in this case (it is his job!).
Here's an example on how to do this:
- Approach the customer gently, ask for a meeting, do not tell him this over the phone or by email (email is really bad in this case).
- Try to have this over lunch, usually when people are eating they are less aggressive and can tolerate these bad news. Not to mention that people are usually friendlier and more casual.
- Tell him why exactly the project was late, be straight to the point.
- Tell him when you expect the project to be finished
- Tell him what you are going to do in the future to avoid the re-occurrence of this situation.
The last step is very important as it will increase the customer's trust in you, because by saying so you made yourself look proactive, you are ensuring that this will never happen in the future.
Doing the above steps not only will buy you time with the customer, but will increase your standing as a professional project manager with him.