I wanted to respond to your post to let you know that eCart does not support subscription or recurring payments so that would have to be worked out as a custom part of the checkout. If you are trying to manually determine when to charge again I think it would be best to work with timestamps and make use of the mktime and date functions to allow you to manipulate values for comparing the dates. One thing you could do would be to add a year to the current time then when you are checking it you would just compare to the current time, if the date is equal to or less than the current time then it has passed already.