Web design companies - how to make sure you get paid

January 30, 2022

Web design company payment policies

I have just read Tom McFarlin's post When Clients Disappear Without Paying. This led me to reflect on our own payment policies and how we got to where we are today. I thought our experience might be of interest to other web design companies facing similar challenges.

By having a clear web design process and effective payment policies, I believe that companies can massively reduce the risk of unpaid invoices. This is how we do it.

Why are unpaid invoices such a big problem?

Practically all companies and freelancers have experienced an unpaid invoice - either on an occasional or regular basis. In September 2015, ABFA announced that UK SMEs are owed £67 billion in unpaid invoices. They have also published data showing that small companies wait for an average of 72 days to get paid. This is obviously not good enough and puts a real strain on cash flow. If the invoice is late then that's bad enough, but if it is never paid then that can be disastrous - especially for a large web design project where you have invested a lot of time.

Traditional industries such as manufacturing are typically required to deliver goods before invoicing for them. That's just how it works in these industries and not many people have managed to successfully challenge this norm. In a way, it's fair enough - the buyer is unwilling to risk making advance payment for goods that haven't been provided yet.

Web design companies are in a unique position

If you're a web design company, freelance designer or developer and struggle to get paid then it's time to think again. I believe that web design companies are in a unique position to make sure they always get paid. It works like this.

A web design company can perform the work on their own server and show it to the client, with no risk that the client will take the work and run. While the client doesn't have access to the files yet - and therefore can't use the work without paying for it - they can see that you have done the work they are paying for. This helps to reassure the client that there's no risk in paying the full amount before you hand over the files.

I think this is a great opportunity that web design companies can use to make sure they always get paid.

How to charge for web design services

Since 2009, we have been developing our processes so that we now have a well-established system for invoicing and payments. I think this achieves a good balance between protecting the client and ourselves while minimising any unnecessary admin - although as with anything, there's always room for improvement.

A lot of the WordPress freelancers I know have a terrible system for payments. They don't require any deposit - which feels generous at the time (and risky for them...) but at the end of the project, they send an invoice and demand immediate payment. This feels uncomfortable to me and is very unprofessional. I always think that these freelancers would be better off asking for some payment earlier in the process, and then they can relax a bit and sound less desperate later on!

Initial deposits for web design work

For new web design projects, we always require an initial deposit. This is usually 50% for projects of up to about £3,000 in value. Above that, we may work with the client to agree a smaller deposit with extra payment milestones - some clients don't want to pay large amounts before they have seen any results from us, which is fine.

Some web design companies and freelancers worry that clients won't be prepared to pay a deposit as it's too risky for them. This is not my experience. I'm not aware of any potential clients who have decided not to work with us because we require a deposit. This may be because we're a well-known WordPress agency which helps to reassure clients that we won't rip them off - so perhaps this is trickier for startups. However I don't remember this being a problem when we first got started either. By presenting ourselves as a professional and competent company, we reassured clients that they could trust us. It's not just about having lots of websites in your portfolio.

It's very common for a client to give the go-ahead and then take weeks or months to pay the deposit. To speed this up and allow us to plan our workload, we say that the deposit must be paid before we book in a start date for the work. This seems to be an effective way of getting things moving, while subtly conveying the message that the client needs to show their commitment to working with us (by paying a deposit) before we get started.

With regular clients, we're generally happy to do small to medium projects without a deposit because we know and trust them. We do this on a case-by-case basis - the important thing is to always take a sizeable deposit from new clients.

Interim payment milestone

We used to request 2 payments: 50% deposit and 50% on completion. This worked ok and we had very few unpaid invoices. However it wasn't perfect, so we introduced an interim payment milestone for all web design projects.

After the 50% deposit, we generally request an additional 25% when we provide the first draft of the website homepage for the client to view. Crucially, this payment is required at the point when we show them the first draft - NOT after we have implemented the client's feedback (which can be a lot of work).

We have developed a handy custom WordPress plugin which allows us to give clients access to the homepage while displaying a 'Sorry, we're still working on this page' message if they try to access any of the other pages. As we complete the other pages, we unlock them one at a time. This ties in nicely with the need for extra payment milestones because it allows us to show progress to the client at regular stages during the project.

Admittedly, the interim payment milestone is the weakest point in our process. Often, if the client has a lot of feedback about the homepage then I delay sending this invoice until the homepage is signed off - thus going against our official policy. This increases the risk for us, but client satisfaction is the priority here. We need to protect ourselves, but don't want to appear money-grabbing either - especially at a point where the client may have some concerns.

Extra payment milestones for larger or riskier web design projects

We sometimes add extra payment milestones for larger projects. This is also handy for riskier projects, for example overseas clients where it would be harder to reclaim unpaid invoices via the legal system.

Any extra payment milestones are closely tied to progress so that the client only has to pay for work they have seen. For example, the payment stages for a £6,000 WordPress e-commerce project might look like this:

  1. Initial deposit of £2,000 before work commences
  2. Interim payment of £1,500 when we provide the first draft of the complete homepage, prior to the client's feedback
  3. Interim payment of £1,500 when we provide the first draft of the complete e-commerce website, prior to the client's feedback
  4. Final payment of £1,000 on completion

As you can see, apart from the initial deposit, the client is only required to make payment when they have actually seen some progress. This will help to boost their confidence in making the milestone payments even though we haven't formally handed over the files yet. It also protects us as a web design company by ensuring that we remain one step ahead in terms of the work we are doing and the payments received so far.

Don't hand over the work until you've been paid!

As I mentioned above, web design companies are in a unique position where they can insist on final payment before handing over the work. The client can see the complete website before they pay, however the work is safely stored on our servers.

If we will be hosting the website then we are happy for the website to go live before payment has been received. The only caveat is that if the client requires access to the WordPress admin, they can only have Editor-level access at this stage. This is because in theory, Administrators can copy the website to a different host and use it without having to pay.

To be honest, I always feel a bit uncomfortable restricting a client's user level until they have paid. At this stage of the process, we have been working closely with the client for a while and have got to know them pretty well. However it's still important to protect ourselves and I try to present the situation in a positive and matter-of-fact way. No clients have complained or acted surprised when I have said that they can't have full Administrator-level access until they have paid. In fact most clients don't even know the difference, so they just accept it!

If the client is arranging their own hosting then we have to be stricter. We only move the website to the client's hosting account after they have paid in full. This is because in moving the site to their host, we are handing over all the work and no longer have control of it.

Does it work?

At Barn2 Media, we have only ever had 2 unpaid invoices:

  1. The first was for a website that we weren't hosting ourselves. This was before we had our current policy, and we stupidly launched the website on the client's hosting account before final payment had been made. (Fortunately, we had taken 50% deposit so it could have been worse.) The client was delighted with the website and recommended us to all their friends and colleagues, but they never paid. We even made a claim to Money Claim Online (which has replaced the Small Claims Court) which was upheld, but the client never paid the fines that the court demanded. And Money Claim Online refused to do anything about it unless we coughed up even more money for debt collectors. We gave up in the end. If we had demanded final payment before handing over the files then I'm 100% convinced that the client would have paid straight away. By allowing them to receive the work without paying for it, we left ourselves vulnerable.
  2. The second unpaid invoice was for an overseas startup company. The client fell out with his business partner when we had almost completed the website, and cancelled the project. Although our terms of business stated that the work we had done needed to be paid for, the client got nasty and refused to pay.

The first unpaid invoice could easily have been avoided by any web design company. The second is harder to avoid, but can be minimised by taking an initial deposit and extra payment milestones during the project.

I think this is a pretty great track record given that we have sent just over 1,000 invoices in the history of our company.

Over to you...

If you're a web design company or freelancer, do you have similar policies to make sure you always get paid? Is there anything you think we could do better?

If you're a client buying web design services, do you think these policies are fair? Are there any changes that would increase your confidence in the process?

Please leave your comments below - I'd love to know what you think.


  1. Van Kelvin
    January 27, 2022

    Great write up and advise Katie, when I started my freelance we development and graphic design agency I have no idea regarding payment, along the way I got clients who will block me on whatsapp for asking payment. I had an encounter with someone , unfortunately I was building the site on his hosting which he had access to the Wordpress admin dashboard. After project completion dude kicked me out and refusing to pay fortunately for me I had a hidden admin account so I had to used that to login and pull everything down. Until recent time when i said enough is enough I must get a payment policy . For website development projects that are higher than Ghc4,000 (600$) I demand for 50% down payment and the rest after completion while 75% for those less that 500$ .
    What I learnt from your discussion above and ready to implement is building the site on my hosting an DC migrating it to the clients hosting after payment completion. Ops I have to go now , gotta meet a client ☺️☺️
    Check out personal portfolio https://van.nextlinegh.com

    • Edge
      January 30, 2022

      Hi, Van. Thanks for chiming in, and sorry to hear of your previous experiences where you were unable to collect payment. I hope our suggestions are helpful in your future projects. All the best and stay safe!

  2. SixtyMarketing
    March 1, 2016

    Hi Katie, we used to offer milestone payment plans but as you know it can take months to collect these payments and you get all sorts of excuses why they couldn't pay on time! Obviously you you have your account team chasing these website design payments for months you could end up losing money on a job. We now have automatic milestone payments for clients which works better for both parties. You know you're getting the money on time, and the client knows you have a deadline to complete a certain stage of their website. Win Win!

    • Katie Keith
      March 1, 2016

      I completely agree, we used to offer 'pay monthly' websites where we billed the client in monthly installments. This is fine for ongoing services such as hosting, but didn't work for web design services as we do all the work upfront. This was years ago and we will have 1 client who hasn't finished paying off his website which we designed back in January 2011! The contract was to spread the payment over 3 years but it hasn't exactly worked out that way and they are still paying now... Milestone payments throughout a project - with the remainder when the website goes live - is a much better idea and protects all parties.

Comments on this post are closed