How I handle rates, pricing, and invoicing 🤑

Pricing is a minefield, and I’m not sure I’ll ever feel like I’ve got it totally right. That seems like a drag but on the sunny side, as an independent developer I’ve got total control over what I charge and can continue to adjust it as necessary.

This is where I’m at with pricing methodologies, rates, and invoicing at the moment. Please send me your thoughts if you have other ideas.

Pricing methodologies 💸

There are a whole bunch of ways a freelancer can price their work, and they all have their own pros and cons.

Fixed-fees 💰

Fixed-fee projects always correspond with a fixed scope of work. These sorts of projects—a full website build, for example—are usually expected to span weeks or months.

My fees for a fixed-scope project are usually based on my day rate and the number of days I expect the work to take. This does *not* mean that I will work exclusively on the project for a set number of days straight. To put it another way, if I say that a full website build is going to take 5 days of work, this does not mean that I’ll start on Monday morning at 9am and finish it on Friday at 6pm. Instead, this work is spread over an appropriate timeframe as outlined in a proposal that gives ample room for me, the client, and any other collaborators to complete their work (design modifications, content writing, testing, etc.).

The problem with a fixed scope is that even if you go to town describing the project in a ton of detail, you’re probably not going to catch everything that the client wants. The client might have an a-HA moment part way through the project when they recall something they need but didn’t include on the brief. Or I might get going and find that the pre-existing hosting environment they insist on using is hopelessly out of date, like a house with a crumbling foundation.

If the additional points are minor I’ll usually try to accommodate them, but this is an incredibly slippery slope, a “give an inch, take a mile” situation. If I do deliver out-of-scope features gratis, I let the client know what’s going on. Sometimes I feel kind of whiny for acknowledging it, but from experience, it’s important to do so to avoid serious scope creep.

When the additional points are significant, or if multiple small ones have built up to become a bigger beast, the scope and thus fees have to shift. I’ve rarely encountered this (perhaps I have been too accommodating?) but when I do, I either send scope amendments in the plain text of an email or send a new PDF proposal and then wait until I have received agreement from them before proceeding. I then adjust subsequent invoices accordingly.

Value-based pricing ⚖️

A ton of professionals swear by value-based pricing. It’s something I’m interested in and makes a lot of sense, but honestly I haven’t had the time or inclination to determine how this would work within the sector I’m usually in (cultural) and my existing workflows.

What I do rely on, however, are rush rates. My rush rates tend to be 25–50% on top of my normal rate. I charge a rush rate if a project schedule will require me to work nights / weekends or move around pre-existing scheduled work. I only have so many hours in the day, and I’m of no use to anyone (especially myself) if I’m overworked and exhausted all the time. A rush rate compensates me for the additional stress that will be involved, and it helps me avoid artificially compressed timescales.

On the flip side, I’m also open to discounting my rate. Throughout the pandemic, a lot of small businesses have found themselves in suddenly tight spots regarding their web presences. During this time, I’ve offered a discount on my rates where I can to individuals and small organizations that are pre-existing clients and have approached me needing significant advice or some quick website adjustments. Beyond current events, there are also a few organizations and individuals I have worked with for a long time and are close to my heart but do not have the budget to pay my full rate. I agree on a discount for them with the caveat that it will likely have to be adjusted at some point. Another example of where I might give a discount is when a friend approaches me for a project that’s way too good to pass up but has a negligible budget.

Whether I’m charging a rush fee or discounting my rate, I always make sure my invoices reflect my true rate and then make the adjustment against the subtotal. I want whoever I’m working with to know what my standard rates are, particularly if I’m offering a discount. To do otherwise would give them a skewed idea of what it costs to commission a web developer, devaluing or artificially inflating the work of independent web developers more broadly.

Time-based billing ⏱

I very rarely undertake hourly or daily work since it’s difficult to plan and schedule for, it usually involves urgent and unanticipated tasks. I’ve been seeing it more recently due to the pandemic though, so I’m having to reevaluate how I handle time-based billing.

I’m likely going to introduce a minimum engagement fee because a few hours of work inevitably leads to quite a bit of admin time, which I dislike and throws me out of my rhythm. Another idea is a bucket of time (thanks to HB for the idea) where a client purchases a preset amount of time up front and then we scoop time from the bucket as I complete work for them. Moving forward, this is probably how I’ll handle ad hoc work for brand new clients or existing clients that are habitually late with invoice payments.

Regardless, it is critical to have a good time tracking system for time-based billing. There are apps out there to make it easier (I’m trying out Timing at the moment), but don’t discount the good old fashioned spreadsheet or plain text format.

Retainers ⏳

I haven’t used retainers in the past, but I’ll probably look in to it moving forward for maintenance or consulting. I’m going to consider offering a discount off of my normal rate for ongoing retainers since it should offer better cash flow. As above, it’s critical to have a good time tracking system if you’re on a retainer since you should be able to account for the time you’ve spent.

I’ve started working with Matchstick on my agreements recently and really recommend their blog post about retainers, plan to use it when writing retainer proposals.

Rates 🤯

Good lord, how do you set a daily or hourly rate… One thing I know for sure, do *not* just take what your normal yearly salary should be and divide that up to get your day rate. This omits your overheads, your taxes, the vast amounts of admin time you need to accomplish things like setting your damn rate. You’ll be hugely underpaid if you do this, possibly under minimum wage.

I’ve seen “drop three zeroes”, meaning that if you think you’d be earning a $100,000 salary if you were employed full time, your rate should be $100 an hour. Or you could multiply your desired salary by 2–3 times and then work out your rates from that. I’ve also seen “double your resentment number”, meaning that your rate should be $100/hr if you’ll take on a project for $50/hr at the very least but you’d end up resenting the client. Besides these “hacks”, you can of course check innumerable online platforms and forums to see what sorts of rates people are whispering about.

Ultimately, I’ve found that the best approach is to do all of the above for research purposes and then, most importantly, talk with your peers. You have no way of knowing what is realistic unless you talk to other people. In fact, it’s worth remembering that as an independent web developer I’m in a rather fortunate position in this regard. I don’t work full time at a company that might restrict my ability to talk about my salary with co-workers. So why on earth wouldn’t I talk with my peers about pricing?

And YET. I’m still embarrassed at the possibility of telling colleagues my rates and either hearing “WHAT?! That’s crazy high!!!” or “jeez… she must not have much confidence in her work”. It’s partly why I haven’t published my rates in this post.

At any rate, I’m currently smack in the middle of sorting out my rates following my move to the US and it has been a journey. I’m planning to work through it further in discussion with friends, colleagues, and close clients in various parts of the world. I don’t want my rates to just skyrocket since I’m now living in city with an extremely high cost of living. Where possible, I want to continue working on the sorts of projects and with the sorts of people that I have enjoyed working with for a long time. We’ll see how it unfolds.

Invoicing 📄

Invoicing is right down there with writing proposals in terms of things I dislike doing. It’s a lot more tolerable though when your invoicing procedure is straightforward and when your client is clear with their invoicing requirements.

Some clients have particular purchasing procedures. Often, this is critical to protect them from phishing and other fraud. I’ve had lots of accountants that require purchase order (PO) numbers, occasionally lengthy payment terms over 30 days, a few organizations that require registration as an authorized supplier, some clients that only want to pay by check, one client that requires invoices be formatted so that they can be read by their enterprise accounting software. When any of this is the case, the individual you’re working with will usually have dealt with this before and will let you know about any idiosyncrasies. If they haven’t offered any information about invoicing, it’s always worth asking where you should send invoices and who you should address them to before you issue the first invoice.

I’ve automated the invoicing process as much as possible without actually making the leap to an accounting platform. All of the platforms I’ve come across haven’t seemed worth the cost or don’t give me enough control over the invoice design, so I use Apple Pages instead. I could use InDesign but I avoid Adobe, and I could use LaTeX but I want the document to do the math for me. My invoice template gets duplicated over and over, with the details changing as necessary. I currently keep track of my invoicing and all other business accounting in AirTable since I find their API and iCal integration pretty integral, and flexible.

Invoice requirements vary from country to country, but they usually include: a reference number that is unique to each invoice, the issue date, the payment terms (usually 30 days), the due date, the total, my contact details, the recipient’s contact details, how to pay, a link to my terms of service, line items for each of the costs involved, and any additional notes. The additional notes include a link to my terms of service and may also include info about adjustments to the scope if any were made during the course of the project.

I’m currently swapping my UK invoice over for use in the US and am not yet sure how to handle the “how to pay” section. In the UK, bank transfers are seamless and fee-less. In the US, bank transfers seem expensive and frustrating. But I don’t want to suggest PayPal or Stripe because even though they’re simpler, there’s still a > 2% fee on top. I guess I understand why people still use paper checks in the US, but it just feels so antiquated. I need to do more investigating.

At any rate, when I send an invoice, I try to use the same language every time since again, invoicing and writing these emails is not my favorite thing. This is what I normally write:

Dear <recipient>

As we have now reached the <milestone> milestone in the project, please find the corresponding invoice attached. Please let me know that you have received this safe and sound. If you or one of your colleagues could also let me know when payment is arranged, that would be much appreciated.

Many thanks,

The “let me know you have received this” bit is to avoid situations where a client says they haven’t received an invoice. I’ve had experiences where this is legitimately true and they didn’t see the email in their junk mail box. I’ve also had experiences where I suspect the client just needed to delay payment but didn’t want to tell me. Either way, that line helps. The “let me know when payment is arranged” line is to avoid unnecessarily chasing a client if they happen to have paid recently but it isn’t yet reflected in my transactions list.

If you’re a client reading this, of mine or anyone else’s: tell your freelancers and artists if you’re having trouble paying them! It’s way better to know what’s going on than to have silence. I can’t speak for other web developers but in my case, I’ll almost always offer some alternative arrangement such as paying in smaller instalments over a longer period of time.

Overall, I have been extremely fortunate when it comes to invoicing and getting paid. I’ve had clients that have paid very late (some *very* late), but I’ve never had a client that just straight up hasn’t paid an invoice. Knocking hard on wood right now…

I think that this has something to do with the scopes and contracts I’ve got in place but far but more importantly, it has to do with the fact that I try to work with good people. I try to listen to my gut when something during the commissioning process tells me that a relationship isn’t going to work out. It’s sometimes hard to listen, but being a savvy judge of character can prevent immeasurable head- and heartache.

This is one of a few posts on processes, the day-to-day practicalities that let me finish the boring stuff quickly so that I can spend more time on the fun part of work. Proposals, pricing, contracts, etc. See the Processes category for more.

This post came about while I’ve been sweating about getting all of my UK-based rates and admin switched over to life in the US, trying to decide where to start. I came across this Twitter thread on freelancer pricing by UK-based freelancer Tom Hirst, and it gave me the right kick to get things sorted. Very worth a read. He’s also turned it in to an article on his site if that’s more your jam.


24 July 2020 at 10:45am — Added link to Matchstick blog post about retainers.