Definitely need to get a contract before you start any work. If it is a smaller job, you can rely on email messages, but even then, I at least like to send them a proposal and tell me they accept the proposal was sent so there is no confusion on either end.
As far as billing, the 1st month can be a bit lax to build the relationship, but after that, most large companies will want you to invoice them. I have found it a bit harder to get payment for leads upfront, so for most companies, we just invoice them weekly or monthly, depending on the volume.
Make sure to always get a cap so you know you will get paid for what you send them. If not, you will get the old excuse that you sent them too many and they can't afford that many at once (it has happened). For most local businesses, if you are doing anything more then 25 a month, then you should bill weekly.
We also bill for 80% of the amount generated to compensate for bad leads. You can have the cleanest traffic in the world, but you will still get junk leads, so to keep a solid relationship, we always give them that upfront. I've only ever had one complaint about bad leads with this model and it was resolved quickly without losing the client.
To get an idea of what to charge, just do some market research in our industry as to what they are going for. Once you get an idea, you know the low end that you can sell the leads for. The best opening question I have found when contacting a lead gen customer is to ask them what their customer's lifetime value is. When they tell you it is $1K, it is pretty easy to sell them leads for $25 to $50, if you have a solid salesperson. Sell the idea that these are extra customers and unrealized profit and you should have plenty of new clients.