Yesterday, once again, I had the pleasure of being interviewed for the JoomStew podcast. This show was covering aspects of running your own Joomla business, including getting work, writing contracts, payment, and so forth.
One of the items discussed was how one collects payment for the job, particularly if you've bid a fixed price job.
Most developers will bid 50% upfront and 50% on launch. This is a time-honored tradition, if such a thing exists in a field as young as ours. The client gives you a check for 50% of the work before it starts. Then, typically as a condition of site launch, the client gives you the remaining 50%.