Documentation
Budget Tracker for Jira (Team Cost vs. Budget Reporting)
Roll up worklog cost against budget and share it with your team as a live, permissioned view, without ever exposing individual pay rates.
Roll up worklog cost against budget and share it with your team as a live, permissioned view — without ever exposing individual pay rates.
- Marketplace listing: Budget Tracker for Jira (Team Cost vs. Budget Reporting)
- Current version: 3.0.0 (published 2026-08-23)
- Works with: Jira Cloud
- Pricing: £7.90 per month, flat, billed by Atlassian through the Marketplace
- Support: layercell.com/support
- Privacy notice: layercell.com/privacy
What it does
The app lives on each Jira project page as Project Cost vs Budget. You group projects into a portfolio, set a budget per project, assign hourly rates per person or per Jira project role, and the app rolls logged worklog cost up against that budget on a grid you can share with the team.
Cost is computed read-only from Jira worklogs: hours × applicable rate. The app never writes to Jira and never touches your finance systems.
Install
- Click Get app on the Marketplace listing.
- Approve the permissions. The app requests exactly four scopes:
read:jira-work(read worklogs),read:jira-user(resolve group membership for permissions),storage:app(its own storage), andreport:personal-data. It requests no Jira write scope at all. - Open any Jira project. Project Cost vs Budget appears in the project's left sidebar.
Getting started
- Create a portfolio. Opening the page on a project with no portfolio
shows the create form directly. Give it a name ("Delivery — Q3") and list
the Jira project keys it covers, comma-separated (
ACME, PLAT). A portfolio covers at most 200 projects. - Set a budget per project from the grid (Edit budget).
- Add rates. A rate applies either to one person or to a Jira project role, in pounds per hour. Where a person has their own rate, it wins over their role rate.
- Wait for the first rollup. Cost figures refresh on an hourly schedule; the Figures column shows how fresh each row's numbers are.
Reading the grid
| Column | Meaning |
|---|---|
| Project | Jira project key |
| Logged cost | Σ worklog hours × applicable rate |
| Budget | The figure an editor set |
| Remaining | Budget − logged cost |
| Budget status | Over budget is signalled by more than colour |
| Figures | Freshness of this row's cached totals |
Sort by project, cost, budget, or remaining by clicking a column header. The whole grid is operable by keyboard alone; every control and status message is exposed to screen readers.
Sharing and permissions
Share opens the permission editor. Grants are Jira facts — a user, a Jira group, or a project role within one project — so the app can never widen someone's Jira access.
- Who can view sees cost against budget.
- Who can edit budgets and rates can also view (you cannot set a rate you are forbidden to read).
- Rate visibility is separate: a viewer without it sees rolled-up totals but never any individual's pay rate. Granting rate visibility without view grants nothing.
A write attempt by someone who may only view returns 403, and the edit controls are not rendered for them at all.
REST API for your own reporting
A small documented read surface serves the same cached aggregates the grid uses, plus write endpoints for budgets and rates, so a figure in your own tooling cannot disagree with the screen. Requests are authenticated either by the Forge context (from the app UI) or by a per-person app token issued from within the app; a token sees exactly what its holder sees and can never widen their access. Full endpoint reference and schemas: docs/rest-api.md.
Data handling
- Pay rates are compensation data. They are masked at the resolver, not just hidden in the UI.
- Every request is scoped to your Jira site by the Forge context; there is no code path where a caller-supplied value selects another tenant.
- Worklogs are read on an hourly schedule, nothing more often, and nothing is written back to Jira.
- Each person can export or erase everything the app holds about them via
GET /rest/self/DELETE /rest/self. - Uninstalling purges your site's data; a daily retention sweep catches the remainder.
Limits and non-goals
- Currency is GBP only; rates are whole pence per hour internally.
- Tempo-logged time is excluded — only Jira core worklogs are ingested.
- No bidirectional sync: cost flows one way, from worklogs to the app.
- No rules engine or automated alerting: the app reports, it does not act.
- A portfolio covers at most 200 projects.
- Totals are served from a cache refreshed hourly, so a figure lags very recent worklog edits until the next run.
Pricing and billing
£7.90 per month flat, billed monthly by Atlassian through your Atlassian billing account. There is no per-user charge and no usage metering.
Layercell Ltd is a company registered in England and Wales, company number 17363808. Registered office: 111 Upper Grosvenor Road, Royal Tunbridge Wells, TN1 2EA.
Stuck
Ask a person.
If this guide does not answer your question, email us and a human answers. Name the product, what you were doing, and what happened instead. That is genuinely all we need to start.