Ubercart Roles: Expire to another role I use Ubercart Roles to manage access to parts of a member site, but I want to be able to keep track of users who's role has expired.

We have generic authenticated users, who are able to make purchases, but are unable to access member pages, and we have a 'member' role, that expires at the end of the year. At role expiration, I would like to have the 'member' role removed and an 'expired' role added. If they renew their membership from 'expired', I would like their role to go back to 'member'.

Is there a module that will help me with this?
Using Ubercart Roles, there is an event defined to trigger on sending the user a notification that their role has expired. You can use that event to trigger a rule, or you can define a role expiration event if you wish to tie it to a discrete event rather than the sending of an email. There is a proposed patch for Role Expire which creates a Rules event upon role expiration that you might use as a model.

Once you have created your rule, it is a simple action to assign a role (Add user role action) to the expiration:user.