TELCOMA Global  /  Budget & Cost Tracking for Jira  /  Documentation

A budget per project, and the cost of the work logged on it.

Budget & Cost Tracking adds a budget to a Jira Cloud project, turns logged work into cost with hourly rates, adds expense lines, and shows planned against actual month by month. The app only reads Jira. It has no permission to change issues or work logs.

Install

Two steps, both inside Jira.

STEP 1

Find the app

In Jira go to Settings → Apps → Find new apps and search for Budget & Cost Tracking. The listing is not public yet; request access until it is.

STEP 2

Start the free trial

Approve the permissions. They are read permissions only. There is no write permission, so the app cannot change anything in Jira.

The app adds two pages. Budget & Cost appears in the sidebar of every project. Budget & Cost Tracking appears under Settings → Apps, for Jira administrators only. A small Trial: N days left label shows on both pages during the trial.

Who can see what

Jira's own permissions decide, checked on every request.

People who can browse the projectCan open Budget & Cost. By default they see only a note: "Only project administrators and Jira administrators can see the budget and costs of this project." If a Jira admin allows it, they see the totals, the months and the expenses and can download the Excel export, but cannot change anything.
Project administratorsSee the money on their project's page, set, change and remove the budget, add and delete expense lines, and start a sync.
Jira administratorsEverything a project administrator can do, on every project. Only they can open the admin page: rates, the cost per person and the setting for who sees money on project pages.

The app asks Jira, as the person using the page, which of these permissions they hold. A check that fails or can't be confirmed refuses. The project page never returns a rate or a cost per person, whoever opens it.

Who can see money on project pages is set on the admin page's Settings tab, for the whole site. The choices are Project admins and Jira admins (the default) and Everyone who can browse the project. The default is the safer one: anyone who can browse a project can see the hours logged on it in Jira, and cost divided by hours is a rate. That is easy to work out when one person logs most of the work, and a few months of numbers are enough when a few people do. Rates and the cost per person stay on the admin page whatever you choose.

Set a budget

One budget per project, in one currency.

Open the project, click Budget & Cost in the sidebar and fill in the form:

  • Budget amount, for example 25000 or 25,000.50. Commas between thousands are fine. A comma as the decimal mark (25000,50) is refused rather than misread.
  • Currency: AED, AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MXN, MYR, NOK, NZD, PHP, PLN, SAR, SEK, SGD, THB, TRY, USD or ZAR. JPY, KRW, HUF and IDR take whole amounts only. Currencies with three decimals are not offered.
  • First month (YYYY-MM). Work logged from this month on counts.
  • Last month (YYYY-MM, optional). Leave it empty for a budget with no end month.

Click Save budget. The app starts reading the project's work logs at once. Until the first read is done, the page says the numbers are not complete yet.

Change budget opens the same form. Changing the currency does not convert the budget or the expenses already entered; their numbers stay the same. If the new first month is earlier, the app reads the project's work logs again from that month.

Remove budget asks first, then deletes the budget and its expense lines at once, and the hours the app has read for the project at the next sync. Work logs in Jira are not changed.

If someone else changed the budget since your page loaded, the save is refused with a message and a Reload button, so one person's change never silently overwrites another's.

The project page

Budget, spent, remaining, and every month.

  • The top line shows the budget months and the currency, then Budget, Spent, Remaining and Used with a bar, and a line with the work cost, the hours and the expenses.
  • Close to the budget shows when spending reaches 80% of the budget. Over budget shows from 100%. These notes are on the page only; the app sends no emails.
  • Some work has no rate shows the hours logged by people with no rate. Those hours are not in the cost until a Jira admin adds a rate.
  • Month by month: Month, Hours, Work cost, Expenses, Total and Running total, from the first month to the last month (or to this month, for a budget with no end).
  • Expenses: the expense lines, with the form to add one (below).
  • Work logs: when the app last read them. Project administrators and Jira admins get Sync now and Read all work logs again here, and the page says who changed the budget last and when.
  • The export row at the bottom: Download Excel.

While a sync runs, the page checks again every 15 seconds.

Expenses

Licences, travel, outside work.

Under Expenses, a project administrator or Jira admin fills in Date (YYYY-MM-DD), Description and Amount, then clicks Add expense.

  • The date must fall in the budget months. Each line counts in the month of its date.
  • A minus amount is a refund.
  • Descriptions are up to 200 characters. A project can have up to 1,000 lines; fewer if the descriptions are long.
  • The table shows Date, Description, Amount and Added by. If you later change the budget months so a line falls outside them, it is marked not counted: outside the budget months.
  • Delete asks first. A deleted line can't be brought back.

Rates

Hourly rates per person or per group, for Jira admins.

Open Settings → Apps → Budget & Cost Tracking and go to the Rates tab. Under Add a rate:

  • Rate for: A person (pick them in the Person field) or A group (type in Find a group, click Search, then pick it under Group).
  • Rate per hour: a plain number, for example 85, above 0 and at most 1,000,000.
  • From month (YYYY-MM, optional): the month the rate starts. Leave it empty for all months.

Click Save rate. The table lists Type, Name, Rate per hour and From for each rate, and for groups whether the members have been read yet. Remove asks first; costs that used the rate are worked out again without it.

To change a rate from a given month, add a new rate for the same person or group with that start month. Past months keep the old rate. The app keeps up to 2,000 rates.

How cost is worked out

Hours times the rate that applied that month.

  • Which rate. A personal rate wins. Without one, the app uses the highest rate among the groups with a rate that the person is in. A rate applies from its start month until a newer rate for the same person or group starts. Before a person's first personal rate starts, their group rate applies.
  • Which month. A work log counts in the month of its start date, as Jira gives it to the app. Work that runs past midnight at the end of a month counts fully in the month it started.
  • The sum. Cost is hours times rate, per person and month, rounded to the cent (to the whole unit for JPY, KRW, HUF and IDR). Hours without a rate are shown and not counted.
  • Spent is work cost plus expense lines, in the budget months. Used is rounded down to 0.1%, so 79.96% shows as 79.9% and never as 80% before the note.
  • Currency. Rates are plain numbers, read in each project's currency. There is no currency conversion: if projects use different currencies, the same rate is read as a different currency in each.
  • Groups. Members are read as they are now, because Jira keeps no history of group membership. A person who leaves a group loses its rate for past months too. Give them a personal rate to keep it.

Costs are worked out each time a page opens, from the stored hours and the current rates. They are never stored, so a rate change shows at once.

The admin page

Every budget, the rates and the cost per person.

At the top: when work logs were last read, and Sync now. Below it, four tabs:

  • Projects: every project with a budget, with Budget, Spent, Remaining, Used, Hours without a rate and a status: On budget, Reached 80%, Over budget, Reading or Not read. A project that could not be read is listed below the table with the reason. The page and the export list the first 200 projects with a budget. Budgets themselves are set on each project's page.
  • Rates: see Rates.
  • Cost per person: pick a Project to see each person's Hours, Rate per hour, Cost and Hours without a rate in the budget months. This can reveal what someone is paid, so only Jira administrators see it.
  • Settings: Who can see money on project pages. See Who can see what.

How work logs are read

In the background, every hour.

When a budget is saved, the app reads every work log in the project from the first month on. After that it reads, every hour, only the work logs changed or deleted since the last read. It also reads the members of every group that has a rate.

  • A sync also starts when a budget's first month moves earlier, when a group gets its first rate, and when someone clicks Sync now. If one of these happens during a sync, another sync runs when it ends.
  • Jira lists a change to a work log about a minute after it is made, so a change from the last minute shows at the next read.
  • Read all work logs again forgets the hours read for the project and reads them all again. Use it after issues are moved into or out of the project. Until it finishes, the numbers are not complete.
  • If a sync makes no progress for 20 minutes, the button becomes Restart the sync.
  • If Jira refuses to show some work logs, or a project can't be read (for example it was deleted or archived), the page says so. The other projects still sync, and the next sync tries again.
  • On a site whose subscription or trial has ended, the hourly sync stops. It picks up again when the licence is active.

Export

One Excel workbook per project.

Summary

Project, currency, first and last month, budget, spent, work cost, expenses, remaining, used, hours logged, hours without a rate, and when it was exported.

By month and Expenses

By month: hours, work cost, expenses, total, running total and hours without a rate. Expenses: date, description, amount, whether it is counted, and who added it.

Cost per person (admin page only)

The admin page export adds Cost per person (person, hours, cost, hours without a rate) and Person by month (the rate used each month, and whether it came from a personal or a group rate).

Safe files

Amounts are written as numbers in the project's currency, so you can sum them. Text is always written as text, so a description can never run as a formula.

On the project page the export covers that project. On the admin page, pick the project first. The file is built in your browser and named budget-KEY-date.xlsx. Whoever can't see the money on a project page gets no export there either.

What it can't see

Things to know before you rely on the numbers.

  • Restricted work logs. Jira only returns work logs the app can see. Work logs limited to a group or role the app is not in may be left out. The page says when Jira refused some.
  • Moved issues. Moving an issue to another project doesn't change its work logs, so the app doesn't see the move until one of them changes. Read all work logs again fixes it.
  • Deleted issues. Jira may not report the work logs of a deleted issue as deleted. If it doesn't, they stay counted until Read all work logs again.
  • Past group membership. Jira keeps no history of it, so group rates follow today's members.
  • Mid-month rate changes. Rates apply by whole month.
  • Deleted groups. If a group with a rate is deleted, its rate stops applying. Deactivated people stay in their groups and keep their rates.
  • Not in this version: budgets per epic, currency conversion, rates per project, and emails or Jira notifications when a budget passes 80% or 100%.
  • Numbers are at most about an hour old, unless someone clicks Sync now.

Your data

Nothing leaves Atlassian.

What it reads

Project names and keys, the work logs of projects with a budget (who logged how long, and when), and the members of groups that have a rate. It does not read issue text, comments or attachments, and does not use or store email addresses.

What it changes

Nothing in Jira. The app has no write permission. It writes only to its own storage.

What it stores

Budgets, expense lines, rates, and hours per person per month, with people as account IDs only. Names are looked up from Jira when a page is shown. Costs are worked out when a page opens, not stored. All of it in Atlassian's own storage for your site.

Where it goes

Nowhere. No servers of our own, no requests outside Atlassian. Exports are built in your browser and saved to your device.

Full details in the privacy policy.

Frequently asked

The questions teams ask first.

How is it priced?

Per user, billed through Atlassian, with a free trial. The price will be on the Atlassian Marketplace listing.

Can people work out someone's rate?

Anyone who sees the money on a project page can compare it with the hours in Jira. That is why, by default, only project administrators and Jira administrators see it. Project administrators can still work out the rates of their own team.

Does it change work logs or issues?

No. It has no write permission in Jira. Budgets, expenses and rates are kept in the app's own storage.

We use two currencies. What happens?

Each project has one currency, and rates are read in it. There is no conversion, so a rate of 85 is 85 EUR in a EUR project and 85 USD in a USD project. Rates per project are not in this version.

Why does a number look wrong after an issue moved?

Moving an issue doesn't change its work logs, so the app doesn't notice. Click Read all work logs again on the project page.

Can I budget per epic or per sprint?

Not in this version. A budget belongs to a whole project.

Support

Ask the people who built it.

When reporting a problem, include your site URL, the project key and what you expected to happen. We never need passwords or tokens.

Get help

One business day, usually much less.

Email
[email protected]
Support page
Known limits, what to include, status
Response time
Within one business day
Email support