I've about five customers who pay me by standing order (I used to have about twenty; but most of these were army personell, and they've moved on). I clean their properties once-per-calandar month for a payment once-per-calandar-month.
I get their payments during the first few days of each month; and clean their properties during that month. I always leave a note when I've cleaned.
On a few occassions I've been really late, therefore have received two payments and only done one clean. When I turn up to clean I just pop the cash through their letter box with a note explaining why. One customer I've had for two years, I've only ever met once when he first took me on!
I commented to one customer who was in - after I was over a month late - that it felt really strange cleaning their windows - THEN PAYING THEM. He told me to stop whining and that the price was going up next month.

It's a good system though; standing orders.