You seem to be very much worrying about money and not bothering him; he runs a 5 person company, apparently has money and hasn't routinely paid your invoice on time - and so is likely very used to being chased for payment. In other words, it feels like a big deal to you but it wont feel that way to them.
Stop worrying about whether you deserve it or if it's fair on him, or if he's had a bad month ( and stop making it your friend's problem). I've found it pretty disgusting overhearing my boss chasing money from customers to see how many habitually don't pay and then shamelessly try anything they can to fob him off - oh no it's past our finance day it will have to be next month, no the only person who can sign cheques isn't here, no we don't have your invoice, actually it wasn't completed properly so we're not paying it, the cheque wasn't signed? You'll have to send it back and we'll redo it next month, and on and on.
Writing to them feels a bit of a cop out as well, frankly, like you want to hide behind it; I wouldn't want to do it myself either, but I think you should call them and ask to speak to him/someone who can help you with an unpaid invoice and say Hi, I sent you an invoice a few weeks ago and haven't received payment for it yet, but the work has been accepted with no complaints or disputes, can you tell me what the status is, please? And go from there.
Don't be surprised if they tell you nobody is available who can help, or that they have reservations or that some part wasn't as agreed, and be prepared to take polite but pushy action - i can resend the invoice, i can come and collect payment, i can hold on the phone, come and see you to talk about it, etc.
You want to end the phone call with a commitment from them to pay, or with a concrete problem to solve and a commitment to pay after that, or some concrete time you can speak to someone when they will be there.
Log when you called, who you spoke to, what they said.
Because you can phone several times and go over several back and forth points in a few minutes it means you aren't waiting a week for a letter reply. If it's still going nowhere in several phonecalls or a week or so then write a stern letter with invoice and reference your phone call logs; you haven't delayed by much but you are in a better position to justify elevating it further.
All IMHO, as always.