A client project runs in the WEB space with a budget of 48,000 USD and an end date of 31 October. It's mid-October. Finance asks two questions: how much have we spent, and will the money last?
Jira holds half the answer, because the hours are already there as worklogs. This article shows the native month-end routine that most teams build, step by step, and then where it breaks. Disclosure: I'm Marcin, founder of Radrly, which builds MarginRadar, a budget and margin app for Jira Cloud. It appears in the last part.
The native routine, step by step
1. Make sure time is logged in Jira. Time tracking is configured under Settings > Work items > Time tracking, and people need the Work on work items permission to log time. See Configure time tracking.
2. Find the work items with time logged in the period. In advanced search:
space = WEB AND worklogDate >= startOfMonth(-1) AND worklogDate < startOfMonth()
Add AND worklogAuthor in membersOf("designers") to narrow it to one group. Field reference: JQL fields.
Watch out: this query finds the work items, but the Time spent column shows all time ever logged on them, including other months.
3. Export the worklogs. Export the results as CSV with all fields. Each worklog arrives as a "Log Work" column with the comment, date, author and seconds packed into one cell, so you split them in the spreadsheet.
4. Apply rates. Add a lookup table of hourly cost per person or role, multiply, sum by month. Add a second table with billable rates if you bill time.
5. Compare with the budget. Budget minus cost to date, divided by days remaining, gives a rough burn check.
The built-in time tracking report helps with step 2 for a single space: it compares estimates with logged time. It reports hours only, with no money.
Where the spreadsheet breaks
- Rates change. When a developer's rate rises in September, updating the lookup table silently reprices July.
- Sensitive numbers travel. The spreadsheet holds salaries or cost rates, and it gets forwarded.
- It's always a month old. The budget question comes mid-month; the export happens at month end.
- Expenses live elsewhere. Licences and contractor invoices sit in another file.
- No early warning. Nobody sees "the budget runs out four days before the end date" until it has.
The same check with MarginRadar
MarginRadar reads the native Jira worklogs you already have and multiplies them by rate cards. If you track time in another app, that app needs to sync into Jira worklogs. It's a Forge app that runs on Atlassian with zero egress and stores its data in Forge SQL and the Forge Key-Value Store.
Setup, once. Set a base currency, then rates for roles, people and individual spaces, each with a cost and a billable rate. When several rates apply, the most specific wins, starting with a space rate for that person.
Rates are versioned. Each has an effective date, so a new rate applies from that day and past months keep their original cost.
Role rates with cost, billable rate and effective date.
For the project manager:
- A Budget & profitability page in each space with budget, spent, remaining, percentage used, burn rate and margin
- Budgets in money, hours or both, with alert thresholds (80% and 100% by default)
- A panel on work items and epics showing their cost
- Expenses recorded next to labour, with CSV import
Budget and profitability page for one space. The Forecast panel and fixed-price figures are Advanced.
For finance:
- A period report for this month, last month, this quarter or a custom range, grouped by role, epic, day or person
- CSV export as a summary or as worklog lines
- An audit log of every change to rates, budgets, access and data
Period report for this quarter, grouped by epic, with CSV download.
For everyone else: the Viewer role sees budget usage as a percentage and status, without amounts, margin or rates, and can't export. By default site admins are Finance, space admins are PM for their space and everyone else is a Viewer. You can change that under Access in the admin settings.
| Standard | Advanced |
|---|
Rate cards, budgets, burn rate, margin | Yes | Yes |
Expenses and period report | Yes | Yes |
Forecast: estimate at completion, P50 and P90 run-out | No | Yes |
Fixed-price and retainer budgets | No | Yes |
Epic budgets and scoped budgets by version, label, component or JQL | No | Yes |
Portfolio page, Budget risk gadget, real-time alerts | No | Yes |
MarginRadar agent and skills in Rovo | No | Yes |
The forecast on Advanced takes average daily cost over the last 14 days and projects it to the end date. It's an estimate. On Advanced, alerts and the weekly digest can also post Jira comments. Those comments are the only writes MarginRadar makes to Jira. MarginRadar is a reporting tool and doesn't replace accounting or invoicing software.
Listing: MarginRadar on the Atlassian Marketplace.
If you run budget checks from Jira worklogs another way, I'd like to hear which step costs you the most time.