We use separate deals for each renewal on a company, each with its own contract start and end date. I have logic on the deals to update a property called "Subscription status" with either "Active or Expired" subscriptiond depending on whether the contract end date is in the future or the past. I'd like to use this Subscription status field to update a property on the Company level called "Account Status" - so basically if someone has ANY active subscription on a deal, the company account status = active. If company as Expired subscriptions but no Active subscription on any deal, Account Status = Inactivated Customer. I can't quite figure out how to set up the if/then logic on the branches to evaluate ALL deals associated with the company. Any ideas?
Are the contract start and end dates a deal property?
Are all the contracts the same length, e.g. 12 months or do the terms vary?
My initial thinking without the full picture of your business processes would be to do the following:
A deal workflow checks for Any closed won deal - sets a company property "subscription status" to active and copies the contract end date from the deal to a company property of the same name.
I would then have a company workflow that checks if the company property contract end date has passed - should be possible I think but I haven't checked it myself yet. If it is in the past we set the company property "subscription status" to inactive.
The deal workflow will trigger with every new deal - if you have different contract lengths we might need to check if an existing contract end date is before or after the new deal contract end date before copying it over.
It is slightly different from your approach but would do what you want.
I hope that helps.
Frank
Found my comment helpful? Great! Please mark it as a solution to help other community users.