I require a 50% non refundable deposit from residential customers on any job over $500.00. I have never had a problem with this. I do it to prevent the customer from hiring a low baller after we have scheduled a date for the job to be performed. I am usually scheduled 2-3 weeks out, and if the job is over $500.00, I just feel the the customer needs to make a committment just as I am with my schedule. It sort of locks them. If they don't want to do this, then I tell them I can call them during a slow period to see if they want it then.
90% of my jobs are paid before I do the job, including "new" cusotmers. This is done usually when I arrive on the job and the customer doesn"t want to hang out all day at the house, or has to go to work, and they ask me if they can pay me now because they are leaving and don't want to have to rush back. Also have many "new" cusotmers that I haven't even met that will just leave a check under the mat if they aren't going to be there when I arrive.
I am very active in the community, leave very proffesional and detailed proposals, return every phone call and I always show up on time for every appointment. And I am not saying that others here don't. Don't get me wrong on this. What I am saying is that I work real hard to develop trust with each customer from the very first phone call, and I believe that helps in securing deposits, payed up front, etc.
Totally different situation. This is how we work as well.