Billing Practices: What's fair?

Oct 16, 10:28 pm

I recently engaged in a bit of a debate about billing practices for freelance developers. I was shocked to learn that the person I was debating with found my billing method deceptive and unfair to the client. I’ve specifically employed the method of billing that I use because I thought it was the fairest method I could offer the client! Of course, the person I was debating thought their method was the best method and the most fair to all parties involved.

First, let me explain my billing method and the reasons I believe it to be the most fair, both to myself and the client. I bill at a flat rate per a project. So, if a client approaches me and wants me to code something, I first work out a detailed list of requirements for the project. Those requirements are then set in stone. I then determine how much I will bill for the project. This figure is determined by how much time I think the project will take. I also figure in things such as how enjoyable the project will be to work on, how easy (or not easy) the client is to get along with, and other gut feeling type items. I’ll then go to the client with that set fee and that’s that.

Personally, I think this is the best method for billing. It allows both the client and me to know how much money is involved up front. That price will not change unless a requirement changes. I warn very heavily up front that requirement changes are not good and should not happen. I spend a lot of time going over requirements with client ahead of time and making sure everything is figured out.

The person I was debating with thought my billing method was despicable. They said, “Well, what if it takes you half the time you estimated? The client is getting ripped off then!” Of course, what they failed to see what that it could also take me longer than I estimated and I would “be getting ripped off”. Of course, I don’t quite see it that way. I believe that the client agreed up front to a price and it shouldn’t matter how long it takes me. I never told the client they are paying for X amount of hours. I simply told them they were paying X amount of dollars for a job well done.

If you haven’t guessed, this other person’s billing method is hourly. They feel that the client should pay for their time and exactly that amount of time. My big problem with this is that the client is paying for when he screws up. The client is paying for him to only type 60wpm when other developers type 80wpm. Is the client paying him when an email for an unrelated task pops up in his inbox and he takes 5 minutes to respond to it? Does he have a time clock sitting there that he religiously clocks in and out of, whenever he is not working on the project for the client?

So, why am I posting here about this? Well, simply because the other person wouldn’t listen to logic and I needed to vent about it somewhere. You are now the lucky one that hears my vent…so what are your thoughts?


    1. nick says:

      I agree a project should be billed for the job not for how long it takes. This is like most things. A contractor that is building a pool for example has to figure anything that he believes will come up and quote you a price. If it takes him longer or more material then he expected then he eats the price, if its shorter then he goes home earlier. you pay for the end result not how long it takes to get there.



    1. The problem with billing by the hour from a business perspective is that you end up getting penalized for your own efficiency. And you have no impetus to become more efficient.

      Say you find yourself implementing the same type of project over and over again, so you decide to make a deployment package or something so it gets easier to do this. Why? If you make it easier, then it’s faster, then you get paid less.

      In fact, does it become dishonest if you don’t do this? If you have an opportunity to make your process more efficient and you don’t, aren’t you ripping off the client? Isn’t there a motivation to remain blissfully and comfortably inefficient, since you’re getting paid by the hour after all?

      We bill both ways, depending on the situation. There’s come a point, however, when you have to start billing based on the project’s value to the client rather than the project’s cost to you, otherwise you’ll be doing the same work for the same price forever.



    1. I agree with billing by the whole job.

      Developers should remember that they are not only getting paid for their time, but also for their knowledge. I can now whip out a decent PHP dynamic site in a few hours. I couldn’t do that one year ago. I’m getting more knowledgable and more proficient at what I do. My final product exceeds the customer’s expectations, and they don’t question how long I spent on it.

      I even go as far as copying one site to another and changing the text. Using the same PHP scripting, the same CSS style sheets … anything to save me time. But I have the knowledge to do that. I spent time learning, experimenting, honing my skills and improving myself with each project. That’s what my clients are paying for, and they are absolutely thrilled by the results.



    1. Nice article very insightful and nicely articulated. However my question to free lance developers is this: How are you finding clients? I’m a recent college graduate and would love to do more web development. But how do i go about getting business? What are some marketing methods that have proven effective for you guys?



    1. (in response to K)

      When you are first starting out, it can be very tough. My recommendation is to target local companies in your area. First, find some charities around town and do some free web development for them. In turn, they should allow you to showcase their sites in your portfolio. Once you have a portfolio (filled with local charity clients), make up a brochure and start sending it to local companies. Make up a custom cover letter for each. Don’t bulk mail! In the cover letter stress that you are local and will sit down and meet with them.

      I prefer not to fight for online work. Too many times I’ve ended up with sketchy clients. Local work is the best :).


    1. Byron says:

      Your friend’s belief that taking less time than anticipated rips off the client is ridiculous. It’s exactly the opposite – not only does the client get the product and features they paid for, they get it faster than planned, allowing them to go live with it and start profiting from it faster. The time it takes to do a project is immaterial, irrelevant, ceteris paribus (all things equal, assuming product quality is not affected). If anything, clients should pay more for quicker delivery of a quality product, not more for slower delivery of the same product.




Add your comments

Please keep your comments relevant to this blog entry: inappropriate or purely promotional comments may be removed. To add hyperlink, please follow this example: "your link text":http://your.link.url