Also, to the OP, is a few weeks really enough time? If those were 200 billable hours it seems like it's worth a tad more hunting.
The freelance kit from www.sitepoint.com is where I learned a lot about techniques for freelancing. That's where I picked up the technique for deposits and milestones. In fact, one of the best pieces of advice I got from there was never to be the lowest bidder. There was a project we were bidding on, and the client ended up going with us even though we were the highest bid ($8000). He showed us the other bids, and they came in at ($1600, $2800, and $4500). He liked our proposal for a few reasons: One, the other 3 bids were just Word documents or PDFs attached to email. Ours was printed in color, bound, and sent FedEx overnight. Another, we had detailed writeups of 3 previous projects with testimonials and phone numbers of the clients (used with permission). Lastly, we had suggestions for additional features to add, with a cost/benefits analysis on each, along with suggestions of features that could be cut to reduce the timeline or cost. All of these were suggestions from sitepoint's ebook.
How you structure up front payment is always up to you. We've always had a setup fee, typically a few thousand dollars, which is due before any work starts. However, there has been one single thing which has kept our revenue flowing month after month for years: Freshbooks.com
I seriously love that site. We use it for:
1. Making estimates
2. Tracking hours worked against estimates
3. Invoicing based on hours and services rendered
4. Making sure the client indeed noticed the invoice - it says "viewed" when you send by email and they actually log in and view, so you can call bullshit when they say "I didn't get it yet!" :D
5. Automatically adding late fees to invoices. We charge a relatively nasty fee each month for a late invoice and it automatically adds it to each one.
6. Tracking payment; clients get notified via email when payment has been received, something many have commented on as a great feature.
Quickbooks and other tools are all well and good, but imho I think Freshbooks pretty much handles 90% of what you need to be successful independently :)
Side question, what (in percentage terms) do you call a 'nasty fee'?
This is a good video about contracts. It's targeted for designers, but I think most of it still applies to developers. I think the best point in the video, have a good lawyer.
And never ever ever start work without a contract in place!
Also, the magic words to avoid the described scenario are "intellectual property will transfer on receipt of payment". The parents video covers this in more detail.
It's more an issue of customer relations than contracts. Contract specifics should be a reflection of that relationship (or lack thereof).
The way most people really learn customer relations or contracts is The School of Hard Knocks. The introductory sequence consists of SHK101 - Get it in Writing, SHK190 - Retainers, SHK225 - Applying Retainers to Final Invoice, and SHK230 - Termination Fees.
You might almost be better off trying to sneak in under the MSA with the "simplest contract that could possibly work" than you'd be by formalizing the relationship with an MSA. It is very possible to get a one-off contract executed, especially for one-off services. On the other hand, if you ignite the "MSA" neuroreceptors, you may find yourself far worse off than if you had simply gotten a Nolo-style work-for-hire contract signed; for instance, it's the MSA that's going to have IP clauses, noncompetes, insurance requirements, and things like that.
Be careful and don't wave things like "MSA"s around just because they seem like best practices. They are, for a company like ours or like Hashrockets; we're set up to negotiate and review MSA change bars. You on the other hand may not want to round trip with a lawyer several times just to do an $8000 PHP contract.
Law school. ;)
Okay, okay. Seriously, besides getting a lawyer and have them draw you up a standard contract, there isn't much you can do to "wrap your head around [contract negotiation] for good" as there's just too much to learn. Some of it comes from experience (you'll start getting a radar for certain kinds of clauses), and there's no quick fix for getting experience besides the passage of time. Specifically, make sure there is a provision in there for getting some of the payment up-front (as grandparent suggests), and specify a late fee % for any overdue bills.
Nolo press has a variety of books that are probably relevant. Your local library likely has an assortment of them.
Message board cynicism is a poor excuse for bad business practices.
I did some freelance without a contract once and because I didn't have an agreement in writing I didn't have much recourse to tell them there'd be a charge for additional services.
A contract will never be a quick and easy solution to stop people doing a runner but you can at least limit the damage caused with one.
If your client ends up using your work, your contract is going to end up plenty enforceable.
If your client ends up using your work and you don't have a contract, don't expect to get paid this year, and expect a painful obstacle course of unreasonable support demands. They'll pay you eventually, but since you've reduced the worst case outcome to "amount we agreed on" from "treble damages and site downtime", they have every incentive to drag things out.