Automatic WF State Transition Based on Quarter End Dates Without Year Dependency

Hello everyone,

We have a workflow (WF) that allows several users to create objects.
An object starts in the "Under Review" state, and the requirement is that it automatically transitions to the "Approved" state at the end of the nearest quarter based on the object's creation date.

The quarter-end dates are fixed:

  • 31/3
  • 30/6
  • 30/9
  • 31/12

Example:
If an object is created on 1/2/2025, its state should automatically change to "Approved" on 31/3/2025.

The Challenge:
We want to configure this condition in a way that works generically, without referencing a specific year. The goal is to avoid updating the configuration every year.

Key Questions:

  1. Is it possible to define a date-based condition that ignores the year?
  2. Can this be achieved using Automatic Transitions alone?
  3. If not, would a VBScript or an add-on be a better solution?
  4. Has anyone implemented a similar solution and can recommend an approach?

Thank you in advance for your help! Blush

  • I would advice against using Automatic Transitions for this purpose. You can create a vbscript to allow transition but the server will check this every hour for 3 months before the transition is allowed. If you have many objects in that workflow it creates a heavy and completely unnecessary workload on the server.

    If you have the Extension Kit, you can configure a scheduled transition to run quarterly as desired. That would be the simplest option. Extension Kit may be a bit expensive if you only intend to use it for this purpose. But it has so many valuable functions that come in handy for many other purposes. I am sure will can make it worth while if you want to automate repetitive processes of almost any kind in your daily work.

    You might be able to build a solution using some combination of rules in Property Calculator. This module can be configured to check automatic transitions once a day as a nightly routine relieving the standard automatic transition of its hourly duties. I am not sure how you could create the appropriate rule, but it is probably possible with the use of an extra (hidden) property and some creative thinking.