Thanks Benjamin, califdon and Christopher for your feedback
I do try to educate the client on issues surrounding what they want to build
I should probably focus on this aspect a lot more;
It seems we work on a similar method when developing systems, would you care to elaborate a bit more on the process you use to arrive at the point where you tell the client this is what it will cost? I write down what the client wants and break it into sections and based on earlier projects (where i did similar work) i estimate the time that will be required for the project to be completed (this includes time for testing and alterations if required)
whether I could justify the number of hours I spent on each piece of the job
This is probably what is keeping me from using the per hour billing system; when working on a project i don't really keep to office hours (8 - 5) so i will work from 8 - 4 and then at night put in another few hours, granted i will finish the system sooner but this will mean more hours i have to bill for, i'm not sure how a client might handle that bit of information.
I would never accept an assignment where I felt that the specs I was given could not result in a useful system that would benefit client. That's just asking for a bad rep.
Ditto; I've turned down projects where i felt that i didn't have the particular expertise because it's easy to get caught up in a situation where you offer something but cannot deliver it.