A one-time fee incentives them to not pay late, but once they are already late, there is no more incentive since they have already incurred the 5% fee.
Indeed, still exploring carrot and stick options here to get clients to pay on time.
One nice idea we've come across is a trivial discount for early / on time payment (~1-3%). We've heard anecdotally that it helps!
I hope that's coming out of your share.
You just quote high enough that the "discounted" rate is the real rate and the not "discounted" rate is the penalty rate. Then you're just rephrasing things (discount vs. penalty) to put a better spin on it.