You and some buddies finally launched a killer product. It's starting to scale in beta, TechCrunch has been poking around and you're getting inbound VC interest. Whoo hoo! Sooner or later (probably sooner) you'll think about launching the business model. When's the right time to make some money? If you're going to be charging someone directly (users, advertisers, enterprises), the answer is likely NOW (or as soon as you've reached minimum viable product). This advice is independent of your funding situation - it has nothing to do w/ profitability. Rather it's about turning users into customers which validates your product and stress tests your technology and culture.
1) Validating your product
The dreaded penny gap - can you actually get people to pay anything? Market research, existence of competitors, love notes from your beta users - they don't mean poop. Ask someone to whip out a credit card and you'll get real data.
At Second Life there were plenty of discussions about leaving beta. Our users were building a world - it would never be "finished" but we settled on charging once the authoring tools were sufficient. In early summer 2003 we pre-announced the end of beta and once the day came to start processing credit cards there was an internal pool betting on what percentage would convert. If i recall correctly, the estimates ranged from 150% to 5% as the optimistic thought we'd not only get everyone to pay but some would bring friends along. And the more pessimistic (me) wondered whether this early adopter crowd would pony up for an experience which was still forming (remember, this was 2003 pre-freemium, pre-virtual goods and in the midst of an economic malaise).
Well after 24hrs unfortunately i had won the pool (thankfully that wasn't the end of the story and in the years since Second Life has grown many times over). Our founder Philip Rosedale looked dejected for a moment but then remarked "well, i guess it's a good sign that our product/business guy got the number right" (since i was also the holder of our traffic models maybe this meant my future more rosy forecasts were likely to be accurate).
So if we had tried to link our launch to "having something of value to sell" and only a fraction of users agreed with us, did we exit beta too early? Absolutely not! In recounting the experience w/ Cory Ondrejka (Cory's Blog), Second Life's former CTO, he remembered "we got there about as fast as we could and then did a good job completely changing the way we billed when we were wrong. Could have been easy to wait another 6 months w/o launching, fortunate we didn't as we'd have then run through our burn w/o knowing we had the wrong business model." [in fall of 2003 Second Life made a fundamental shift to focus on virtual property rights and letting users "own" their land/objects, charging them essentially for server space]
Now this early product validation might be more common these days but Cory notes that "video games (which SL owed a significant part of its cultural dna to) have traditionally been secret as hell."
2) Stress Test Your Tech and Culture
So let's assume the best and people actually want to pay for your product. Awesome. Now you just need to see if two other essential components scale: your technology and your culture. Prior to charging you might think that "users" can deal with the occasional outage or be dismissed as "people who are getting something for free so they shouldn't complain." And while this is clearly NOT a healthy attitude even at this stage, nothing changes it all faster than flipping the bit to "customer." You can't treat "customers" that way because they get mad, they only give you once chance, they have a boss waiting to see the results from the latest campaign and an ISE when trying to get the data off dashboard.yoursite.com isn't going to win you love.
It might be a valid argument to suggest that companies which don't treat their users as customers from Day One are already screwed but nothing stress tests your entire org and systems like pushing some money through the system. In fact you're likely to find lots of weak points that previously went unexposed - be prepared to help your team prioritize these and be upfront with any customers about known issues. Lack of reliability is the killer in customer relationships above and beyond not being feature complete or five 9's stable.
So it's simple. Start charging people as soon as you've got that Minimum Viable Product. Now you just need to go build one :)