Just pay me.
So I've been free-lancing for a little while now. It's fun. I enjoy it. I get more freedom with my time than I did working a 9-5, and I get to pick the projects that I want to work on. The only problem that I have to deal with now is clients who don't want to pay quite so promptly.
This post isn't going to be ground shaking, or earth shattering. This is just one little developer's thoughts about dealing with clients who think invoices are suggestions more than requirements.
Standard terms. My standard terms are 10 days to pay from the date I send the invoice. This is not an unmovable, hard-and-fast rule, this is just my standard, default terms. I have a clause in the notes of every invoice allowing clients to contact me if they require different terms (some may have a corporate billing cycle of 30 days, which they can't get out of; sometimes small businesses may have cash flow issues and need an extension). A request for different terms won't necessarily mean you'll get them, but if I am convinced that you have a genuine need for different payment terms, then I'll happily negotiate them with you.
Overdue invoices. The big problem that people run into when they're free-lancing is how to deal with over-due invoices. Some people think that building a "kill-switch" into their code is a way to ensure prompt payment (I don't; I think it's a horrible idea, but subject matter for another blog, at another time). I've seem much conversation about late fees, most of which revolves around "what's a fair percentage", and "how late is late?". Most of them come up with answers along the lines of "3% of the invoice, and only after it's been a month overdue."
My terms, as stated in each invoice (right under the "if you're going to have trouble paying on time, let me know before the invoice is due"), are this:
10% per week, every week, starting from the first day that the invoice is overdue.
That means that if your invoice is due on Wednesday, and by Thursday you haven't paid it, I'll charge you 10% of the invoice again on top of the original amount. If by next Thursday you still haven't paid, then that 10% turns into 20%. If you leave it for a month, congratulations, your invoice is now 150% of the original.
If you think that it is unreasonable, or unfair to implement such "steep and sudden" late charges, then I must ask what the doormat has been doing while you've been filling in for it? The problem with leaving an overdue invoice for a month before implementing a tiny penalty is that the invoice is overdue. If your client can't be bothered to pay you under the terms given, or can't give you so much as a courtesy call to inform you that payment might be a bit late, then they've already poisoned the relationship. The point of a due date is not "Due on this date, or, you know, up until a month later - whatever suits you". The due date on an invoice is exactly that - the date at which payment is due. Payment occurring at any point after that date is breaking the agreement, and you don't have to put up with it.
This isn't about sticking it to the man. This isn't about being a jerk to people you work for. This is about being a professional, and being treated as a professional. When I write code for a client, I don't deliver whatever I feel like, then call it good enough. I treat them like a respected customer, who is paying good money for my time, knowledge, and experience. I do this because that is exactly what they are. If they then turn around, and refuse to pay my invoices on time (or negotiate terms which better suit everyone involved), then I don't have a responsibility to baby them, or to cajole them into paying me. They have a responsibility to pay me.
If a client has been slow to pay, then my next job for them will be quoted at a higher rate to mitigate the risk to my business that I may have to spend more time chasing them for payment. If they continue to be late in paying, then I'll fire them (yes, you can fire a client).
So that's all there is to it. Just pay me.