Ian,
When I wrote my database software many years ago, I included two fields, one called "Cycle" and the other "Memo_req".
At any point I can run an applet which compares the current or up-comming month with the date last cleaned and the cycle period (eg 12 months), then if memo_req is set to "true", that customer will appear on a reminders list.
Having said this, for the past several years I have not bothered as customers tend to mark their calendars and phone me a couple of months before the clean is due.