I don’t, not for project work, but only for maintenance or upgrade work. However, I’ve noticed recently that charging a flat rate on larger projects usually ends up losing me money – something will come up that’s kinda/sorta out of scope, and then I’ll wind up spending more time than expected. So these are the things I’m going to be doing for larger projects from now on.
- I always show line items for everything. For the things for which I can pretty accurately estimate time, I’ll give a flat price. This might include initial layouts, setting up a hosting account on my own server, or adding in a rotating text/image template which I can do quickly and easily.
- For items where I’m fairly sure about the time but less sure than #1, I’ll provide a range of flat prices. These could be blog integrations or setting up hosting accounts on outside servers.
- For those few remaining items where I have no clue how much time they might take, like migrating a database from or to an outside server or setting up a shopping cart, I’ll note that as TBD at the hourly rate of $X.XX.
I don’t think I can do any better than that with my estimates. It will help me not get stuck with tasks I can’t accurately estimate, but will provide the client a more accurate picture than simple hourly rates.
The second article is ‘Pay Me Please: A Freelance Web Designer’s Guide to Billing and Pricing.’ If you’re just starting out and don’t know how to set prices or bill clients, this is worth a read.