I am not in favor of this kind of discount unless you think there's a concern that you're not going to get paid in the future.
Look at the math:
Let's say the rent is $500 and you offer a 5% discount for paying in advance. And let's say, for the sake of discussion, that you're willing to give someone a 10 day grace period before you charge them a late charge (overly generous in my opinion, but run with it).
That means you're willing to give up 5% of your income for basically "borrowing" the money (the rent that you haven't collected) for only 10 days. That's a half-percent per day, or a 180%-plus cost of funds.
In dollar terms, you're giving up $300 a year on a $500/month property. Why are you giving away 18 days worth of rent each year when you plan to collect that rent only days thereafter anyway?
And if you're like me with a zero-tolerance on late payments -- even one day late -- then you really have no incentive to give a discount for prepayment because that money is getting there on or before the 1st of the month anyway.
Again, all of this assumes that you view the rent as 100% collectible in a reasonable amount of time.