When our clients didn't pay us, we stopped all work on that project until we had their money in our bank account. That's really the best incentive: send out invoices once a month, and stop work on whoever doesn't pay you. People don't want to see all that money they paid go down the toilet. Getting 10-20% up front eradicates situations where people who don't want to send you the last payment for a finished project.
There's also nothing wrong with actually paying them a visit and politely demanding your money (only if they're in town of course). This can make you seem a bit more like you actually exist and you're not some piece of paper asking for money.
This is really the most professional solution in my opinion. Once payment is past due, then all work stops. If you have been consulting for a while, you can easily change gears and focus on something else.
There's also nothing wrong with actually paying them a visit and politely demanding your money (only if they're in town of course). This can make you seem a bit more like you actually exist and you're not some piece of paper asking for money.