Just to add a +1, we're also totally OK with paying half upfront and half on delivery. Milestones are fine too if that's what vendors prefer, but I think 50/50 is easiest.
Once we've worked together, I'm happy to pay 100% upfront for anything < $2k. Its an easy (~free) way to improve the relationship. I recommend it to anyone who contracts out.
On the other side, we usually ask for 50% from new clients, but will let it drop if there's a good contract in place and/or we've worked together a bit. Much more concerned with getting paid than cashflow.
Agree that big companies are never going to pay upfront, it will be net 30 at best, take it or leave it. But never do anything on net 30 without a purchase order (PO). It can take a while (months, damn the invoice date) but you'll get paid eventually.