Repeating task for contract cancelation reminder

I’d like to know if it is possible to use OmniFocus as a regular reminder for possible contract cancelations.

For that I’d like to do the following: Create an entry for each contract (insurances, cable TV, ISP, whatever …), which will be due on the next end of the cancelation period. It could become active e.g. one month before that. If the date passes without doing anything, the item should be repeated/moved to one year later for the next cancelation period. If I check the item, it should stop repeating.

It seems to me that I could do something like the inverse of what I want, i.e. check each item in the cancelation period if I want to keep and simply remove the item if I have canceled the contract. By checking the item it would move to one year later. But that’s not quite what I want because it involves the manual step each time.

I’m not quite sure if what I want is possible with the current features of OmniFocus. How would I use it for that purpose?

This sounds like something that would have to be accomplished with some kind of Applescript that is triggered on a repeating basis (daily or monthly). It would probably search your tasks for a keyword such as cancel and then reset the dates for you.

Wouldn’t it be easier to have an annually repeating task deferred to one month before due date and due at the time called “Evaluate cancellation of x service”? Then it would repeat after being checked off, and if you decide to cancel your service, you can delete the task?

I hear what you’re trying to achieve, but automating it seems like more work than it saves.