Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
  • Community
  • Q&A
  • Jira
  • Questions
  • What is the recommended approach to implement a custom calculated field (Savings) that reflects time

What is the recommended approach to implement a custom calculated field (Savings) that reflects time

Kalyani Gore
March 17, 2026
  1. What is the recommended approach to implement a custom calculated field (Savings) that reflects time spent in hours?
  2. Can Jira natively calculate this into a custom field, or would it require Automation rules, apps (Marketplace), or Jira Service Management / Assets / other features?
  3. Are there best practices or limitations we should be aware of if we want the value to update automatically based on worklogs or transitions?
  4. If we must keep Time Tracking unchanged, what are Atlassian-recommended alternatives to meet the requirement?

2 answers

0 votes
Paul Glantschnig [Appfire]
Atlassian Partner
March 17, 2026

Hi @Kalyani Gore

Good questions — this is a rather common one and there's no single "right" answer, so let me point out some options.

Can Jira natively calculate a custom field?

Actually, yes — Jira recently introduced formula fields (currently in beta, team-managed spaces only). These let you create a custom field that automatically calculates a value from other number fields on the same issue. You'd create one via Space settings > Fields > Add field > Formula, and write something like {Original Estimate} - {Time Spent}. You can format the output as a number, currency, or percentage.

Limitations to know about:

  • Beta and team-managed only — company-managed support is coming but not available yet
  • Single work item scope — the formula can only reference fields on the same issue. It can't aggregate across child issues or linked issues
  • Number fields only — it supports arithmetic (add, subtract, multiply, divide), statistical functions (AVG, MAX, MIN), and rounding, but can't work with text or date fields
  • It's unclear whether the time tracking fields (Original Estimate, Time Spent) are available as formula inputs in the current beta — you'll want to test that

If formula fields work for your setup, that's the cleanest native solution. If you're on a company-managed project or need cross-issue aggregation, than this is not (yet) possible.

Option 1: Automation rules

This is the most common native approach. You can create an automation rule that recalculates "Savings" whenever relevant data changes:

  • Trigger: "When worklog is added/updated" or "When issue transitions"
  • Action: Edit issue → set your Savings number field using smart values like {{issue.timespent}} or {{issue.timeoriginalestimate}}
  • Example formula: If Savings = Original Estimate − Time Spent, you'd set the field to {{issue.timeoriginalestimate.minus(issue.timespent)}}

Limitations to be aware of:

  • Smart values for time fields return milliseconds, so you'll need to divide by 3,600,000 to get hours (e.g., using a smart value expression or an intermediate step)
  • The field only updates when the automation fires — it's not truly real-time. If someone views the issue before the rule runs, they'll see stale data
  • Automation has execution limits depending on your plan (Free: 100/month, Standard: 500/month, Premium: 1,000/month)

Option 2: ScriptRunner or similar apps

If you're on a company-managed project (where formula fields aren't available yet), scripted field apps like ScriptRunner let you write Groovy or JS to compute values on the fly. These are more flexible than both formula fields and automation — they can reference any field type, work with dates and text, and update on every view.

Option 3: Keep it outside Jira custom fields

If you don't strictly need the value stored as a Jira field (e.g., for JQL filtering or SLA purposes), you can compute and display it using a Marketplace app without creating a custom field at all. This avoids the "stale data" problem entirely since the calculation runs at display time.

On that last point — another solution from the Atlassian Marketplace, the app that my team and I are working on, JXL for Jira, is built for exactly this kind of thing.

JXL gives you a spreadsheet-style view of your issues where you can add smart columns — calculated columns that don't require Jira custom fields. These include built-in time tracking calculations, but you can also write your own using JXL's formula language (JFL). For example, a "Savings" column could be as simple as:

(originalEstimate - timeSpent) / 3600

This computes at display time, so the value is always current — no automation lag. And unlike Jira's native formula fields, JXL formulas work across issues too — you can use sum-ups to aggregate savings across epics or any other hierarchy level, and conditional formatting to highlight issues where savings are negative.

Disclosure: I work for the team that builds JXL.

Hope that helps,

Cheers, Paul

0 votes
Rohan
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 17, 2026

Hey Kalyani,
Jira does not natively support real-time calculated custom fields (like "Savings" based on time spent) is out-of-the-box.

You can u
se an app like ScriptRunner for Jira | Atlassian Marketplace or Zephyr - Test Management and Automation for Jira | Atlassian Marketplace to create a calculated custom field.

Also you can use Jira's built-in automation to update a custom field whenever a worklog is added/updated.

 Please note that: 

  • Use Marketplace Apps for complex calculations or real-time updates.

  • Keep Calculations Simple if using Jira Automation (e.g., sum worklogs on issue events).

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events