Your second point is also a good way to deal with late payment penalties - something which it can be hard to add to a contract (as in, $x if you pay within 30 days $x + 10% if you're late).
Selling it as a discount for paying early is generally going to be easier to get a client to agree to - who doesn't like a discount? So it's $y normally, but $y - 10% if you pay within 30 days.
It's no effect on your bottom line, but it does make for happier clients!