Our Legal department's guidance that agreements entered into perpetuity still require review every five years had us facing the same problem not too long ago. I considered option two, but had some challenges with notification tasks (likely user error not Ariba) running when the workspace was Published. Instead, we opted for the first option, instructing category managers via help tip text that if the contract is perpetual, the expiration date should be set to be five years from the effective date or last amendment date. At the five year mark, category managers are asked to review the agreement, amend any legal clauses as needed, set the expiration date for another five years and publish (limited tasks based on conditions). As an additional quality check, I perform a quarterly audit to ensure that we're setting the expiration date properly. We had very little remediation needed early on and adoption has been very relatively easy.
I hope that helps!
Thanks for the answer. This is the approach we have opted for as well - not because it works better than the suggested best practice approach, but because we like to have as uniform processes as possible. After all, expiration and notification reminders for fixed and auto-renew contracts are designed to be set and sent out via the 'contract term attributes', not notification tasks. That way, we will not have two different spaces for setting reminders which I believe will reduce complexity for the end user.
I like the fact that you are running a quarterly quality check - do you just pull a report filtered on perpetual contracts and calculate the difference between effective date and expiration date in order to see where action is needed?
Ariba's best practice would be to set up a notify task with the due date based on the effective date. So, if you want to review every 3 years, you would set up the reminder for maybe 30 days before the due date. Then you need to determine if the notify task is just a reminder or if it needs to be completed and who the recipients will be.