The Compliance and audit preparation work is usually similar each time, but the timeline depends on the audit window or reporting deadline. With Easy Templates for Jira, you can create one reusable template and calculate all task dates automatically from a single Audit Date variable. Expressions can use template variables, parent fields, root fields, and supported date functions such as plusDays(), minusDays(), and minusWorkingDays().
This is useful for planning evidence collection, policy reviews, control checks, internal reviews, and final submission — without manually updating every issue for each audit cycle. Dynamic Fields are calculated during issue creation, so every new audit run starts with a ready-to-use timeline.
Example audit template structure
Example parent issue:
Compliance audit preparation
Example child issues or subtasks:
-
Define audit scope
-
Review policies and procedures
-
Collect evidence
-
Validate control ownership
-
Internal readiness review
-
Remediate missing items
-
Final audit package review
-
Submit evidence to auditor
-
Track auditor follow-up items
How to set it up
1. Create your audit template
Create a template with the issue structure you want to reuse for each audit or compliance review.
For example, add one parent issue and a set of child issues or subtasks for the main preparation steps.
2. Add an Audit Date variable
Create a template variable called:
Audit Date
This variable will be filled in when the template is applied and used to calculate dates across all audit tasks. Easy Templates supports variable references using variables() or the shorter var() form.
Use this syntax to reference it in expressions:
var("Audit Date")
3. Switch date fields to Expression mode
For each task where the date should be calculated automatically:
-
Open the field
...menu -
Choose Use expression
-
Enter your expression
-
Save the template
That field becomes a Dynamic Field, and its value is calculated automatically during issue creation.
Example expressions for audit tasks
Define audit scope
30 days before the audit date:
var("Audit Date").minusDays(30)
Review policies and procedures
20 days before the audit date:
var("Audit Date").minusDays(20)
Collect evidence
15 working days before the audit date:
var("Audit Date").minusWorkingDays(15)
Validate control ownership
10 working days before the audit date:
var("Audit Date").minusWorkingDays(10)
Internal readiness review
7 days before the audit date:
var("Audit Date").minusDays(7)
Remediate missing items
5 days before the audit date:
var("Audit Date").minusDays(5)
Final audit package review
2 days before the audit date:
var("Audit Date").minusDays(2)
Submit evidence to auditor
On the audit date:
var("Audit Date")
Track auditor follow-up items
5 days after the audit date:
var("Audit Date").plusDays(5)
Expression syntax used in this example
Reference the variable
var("Audit Date")
Add time
var("Audit Date").plusDays(5)
var("Audit Date").plusWeeks(1)
Subtract time
var("Audit Date").minusDays(7)
var("Audit Date").minusWorkingDays(10)
Easy Templates supports date adjustments including plusYears(), minusYears(), plusMonths(), minusMonths(), plusWeeks(), minusWeeks(), plusDays(), minusDays(), plusWorkingDays(), and minusWorkingDays().
Optional: calculate child tasks from the parent issue
Instead of using the variable in every child issue, you can set a date on the parent issue and calculate child task dates from that field.
Example:
parent.fields("Due Date").minusDays(5)
You can also use the short form:
parent.duedate
This is useful when all audit preparation tasks should depend on the main audit issue timeline. Easy Templates supports both parent.fields("Due Date") and parent.duedate references.
Result
With one Audit Date variable, you can generate a complete compliance or audit preparation plan with dates calculated automatically. This makes recurring audit work faster to launch, easier to maintain, and more consistent across different audit periods.