What I use as a freelancer is a small Application called Billings, which lets you create customers, projects etc, for billing, then I use an online project management tool called "Collabtive", which is open source, so you can install it free on your server, this lets you handle milestones and stuff like that, you can even create a user for your customer, so he can see what's going on, and there is included instant messenger, so you can chat with your customer, if he has questions.
If you're using mac etc, there is a program called TextExpander, you can create default mails, documents and so, where it will fill in information you just provide - This is good for proposal or contracts
Taking contact with your customer is often time-consuming, also because many customers don't know much about the subject, so you really need to explain to the customer how everything works. But yeah, for me, I even have snippets in TextExpander, that contains information, what hosting, domains, databases, and stuff like that is, and a good way to explain it.
A tip, when you take contact to a customer, is to focus on one subject, if they only ask for 1 subject, the customer gets easy confused if you write about different subjects in same mail.. At least what experience I have.