I'm saying this as a data point for people just getting started who might be nervous about asking for payment up front. If we'll do it, I'm sure many other people will too. It's a reasonable request.
On the other hand, just so you know: we never ask for payment up front for our services, ever. That's because we'd almost never get it. Most companies with in-house finance and/or counsel aren't going to pay you anything in advance.
If I were freelancing, I'd ask for up-front payment, but I'd let the issue drop for any company I knew was large/established enough to pay me; if I was in a relationship with such a company and doubted the project really had legs, I'd just walk from the project.
Since a lot of contract work is time-sensitive, waiting for payment to clear before starting work or handing over an initial milestone might not be an option. There's a tension between the desire to make a good impression on a first-time client and the desire to make sure they're not taking you for a ride.
Fortunately there are often warning signs when a client is going to be particularly difficult, and there are far more decent clients than unsavory ones.
At my first contracting gig using a body shop way larger than I was, well, they'd kinda sort of start thinking about paying me 30 days after they got my net 30 invoice. This /really/ bothered me. In fact I made a lot of unprofessional noise to the client, and ended up staying home, once, until they paid me. The thing was, I was really worried that they weren't going to pay me at all.
It did not occur to me that this was just standard operating practice, and that they were planning on paying me; they just wanted to stretch it out a bit.
In any case, yeah: some of your best clients will do a terrible job paying you on time. 'slife in the big leagues.
It was, however, a reputable, well known firm and I had no reason to believe that they where playing games or trying to bullshit me.
I was right and got payed in full when the glitches got ironed out. Nevertheless, it was a tad annoying and part of the perils of a freelancer, I guess. Thankfully, while being persistent with their accounting department I never blew up and always stayed civil.
Very much second that setting up the invoicing for a new supplier can take time, especially at multinationals or other large firms. I can understand this due to the fact, that procurement is one of the most sensitive areas when it comes to fraud and dodgy invoicing. Thus firms set up a lot of safeguards before actual money flows.
* Refuse to sign unless the BigCo agrees to your payment terms.
* Actually expect the BigCo to perceive time elapsing in a way that will get you paid in 30 +/- small n days.
They won't get offended when you ask for net+15. They might even agree. But you're getting paid when the stars align, not when you think the contract says you're getting paid. Established consultancies devote a small but palpable bit of effort managing this issue.
I asked for clarification, and they were apologetic about it. They could only run payments on a 60 day schedule. Solution: I billed net-30, 15% monthly surcharge for late payments, which they happily paid.
The lesson was that sometimes a client has no choice but to drag their feet, so be sure to give them that option (for a fee).
Sums up my life as a contractor. The most profitable projects were also the most time-sensitive(the start now types).
Then again, I sucked at this. And so I took my first full-time job.
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.