I recently decided to get serious about establishing my freelance web development business and one of my biggest issues thus far is with the payment procedures. In the past, I used to charge my clients by the service with 25% to 50% as down payment. I learned the hard way that this method is highly inefficient as I have no good way of knowing how much time is needed for a service, and how much I should actually be getting paid for it.
Eventually I ended up missing deadlines and working much more for much less. Therefore I decided that I want to charge by the hour and ideally, I want to have an arrangement in which I get paid for the time before I start with the work so I wouldn't waste my hours like in the scenario below.
I agreed on a project with a client, did work which wasn't fully covered by the down payment I received and when I finished, said client disappeared and left me with no payment and with finished project files that I can't reuse without heavy modification.
After a few days of research, I've learned that each project should be divided into several stages like Research & Development (R&A), Design, and Programming for example. I also learned that before sending out the actual quote to the client, first I must complete the R&A stage so that I would know exactly what the client wants and charge accordingly and in a fair manner to both parties.
I'm aware that there's the risk where the client is "just looking around" and I end up wasting several hours for nothing. Charging the client before actually starting the R&A stage would just get me a lot of bad words as I haven't reached that level of professionalism yet. With that in mind, I would like to somehow be compensated for my hours in the R&A stage while also getting the payment for the next stage so my hours wouldn't be a waste even if my client decides to go all David Copperfield on me. Any suggestions please?