Now that I have a dozen steady Web Clients and am freelancing full time, I bill all of my clients on a monthly basis.
On several occasions, my very client has taken over a year to pay me; a few months ago, she asked for more updates. I told her my hands were tied until she paid. I gave her until October 31 to remit even partial payment and have sent her several e-mail and text reminders...She has a domain name up for renewal; guess it's going to expire. I am also putting all four of the websites on my web server on lock down, so no one else can make update until I'm paid!
I really hate to do it, but sometimes the only way to get paid is by being mean!