How can I speed-up the collection of receivables?
Should I offer extra discounts for prompt payments?
Payment for your services is a completely fair transaction. Payment in advance is reasonable if you need to do a lot of work or have unrecoverable outlays before you can deliver. Payment on delivery is a reasonable demand under any circumstances.
What guarantee do you have of being paid after you have delivered the goods? For established trading relationships (i.e. dealing with someone you know you can trust) extending limited credit might be OK. Are you in the business of providing credit? No. There are banks that do that and that is where people can go to get the money they need to pay you for the services you are providing. If the bank won't take teh risk, why shoudl you? The is a cost and a risk to extending credit. You should pass that cost on to your client. The risk is that you will not get paid. Why incur the cost or take the risk when you have the option not to.
Discounting to get paid early is not a good idea. It could imply that the price was loaded to start with or that you really need the money and are prepared to take less than your job was worth. Not only that, you are demeaning yourself by appealing to greed in order to get paid. Just don't do it.
Some people will try an argue about what terms they can get elsewhere, standard business practice and so on - any reason that they can try on you to walk away without paying you. There are no standard There is no accepted norm. People specify their own terms these days. As long as it's fair and ethical, it's OK. If you clients are insistent on not paying you then they're really not the clients you want. Let them ruin someone else's business.
In every business there are good clients and bad clients. Keep the good ones. Lose the bad ones.