Turn the time your team logs in Jira into invoice files for Xero, QuickBooks Online or Sage. Clients, rates and rounding rules live in Jira; the files are built in your browser. Nothing leaves Atlassian.
Why "native"?
Built on Jira's own worklogs. No separate time tracking to adopt. If your team already logs time in Jira, you can invoice from it.
Runs on Atlassian. The app is built on Atlassian Forge and is eligible for the Runs on Atlassian programme. It has no servers of ours, no connection to your accounting system, and makes no calls outside Atlassian.
Files, not integrations. You download a CSV and import it the way your accountant already does. There is no OAuth link to break and nothing that can post to your ledger by mistake.
Features
Clients and rates. Each client has its Jira projects, a currency, a default hourly rate, optional tax rate and type, account code, customer reference and payment terms. Set a different rate per project or per person; the most specific rate wins.
Rounding you choose. Round each worklog or each invoice line to 6, 15 or 30 minutes, up or to nearest. Or don't round at all.
Non-billable rules. Leave out time by issue type, by label, or on specific issues.
Invoice run with preview. Pick a period and clients, and see one draft invoice per client before you export, with warnings for anything that needs attention: a missing rate, an unmapped project, a project you can't see.
Lines the way you want them. Group per issue, per project, per person or per worklog, with a line-description template.
Invoice numbering. A prefix and a counter that never issues the same number twice, even if two people finalise at once.
Already-invoiced tracking. Finalised runs remember their worklogs, so the next run leaves them out. Void a run to release them.
Exports. Xero sales invoices CSV, QuickBooks Online invoices CSV, Sage Business Cloud Accounting CSV, a generic invoice-lines CSV, a detailed worklogs CSV, and a printable invoice summary.
Project page. Unbilled hours and value for a project, with a link to run its export.
Getting started
Install Native Billing Export for Jira from the Atlassian Marketplace.
A Jira admin opens Apps → Manage apps → Native Billing Export to add clients, map their Jira projects, set rates, and choose who else may run billing (the billing users).
Open Apps → Billing export, pick a period and clients, and preview.
When the preview looks right, Finalise to reserve invoice numbers and mark the worklogs as invoiced, then download the file for your accounting system.
Import the file. In Xero, the rows arrive as draft invoices; in QuickBooks Online, through Import data → Invoices; in Sage, as quick entries.
How it works
Rates
Every worklog is priced by the first rate it finds: a rate for that person, then a rate for the issue's project, then the client's default. A worklog with no rate at all stays off the invoice and shows a warning, so nothing is silently billed at zero. A rate that is explicitly 0 bills at zero.
Amounts
Hours on a line are shown to two decimals, and the line amount is that printed quantity times the rate. That is deliberate: Xero, QuickBooks and Sage recalculate the amount from the quantity and unit price columns on import, and this way their figure matches ours to the cent. The consequence is that 20 minutes at 150.00 an hour bills 0.33 × 150 = 49.50, not 50.00. If you want exact fractions, turn on 6-, 15- or 30-minute rounding for that client.
Tax is calculated per line and summed. Amounts are tax-exclusive. Your accounting system recalculates tax from the tax type when it imports the file, and is the source of truth.
What each file contains
Format
Notes
Xero
Xero's sales invoice template columns. Rows with the same invoice number form one draft invoice. Split into files of 500 lines.
QuickBooks Online
Columns for QuickBooks' invoice import. QuickBooks shows a mapping step, so you can match columns if your account's import expects different names. Split at 1,000 rows or 100 invoices. If sales tax is set up in your QuickBooks account, Intuit does not allow invoice import by file; use the generic CSV instead.
Sage Business Cloud Accounting
A quick-entry layout. Compare the first file with the template from your own Sage account before relying on it; the app labels this format as unverified.
Generic invoice lines
One row per line: dates, quantity, unit amount, amount, tax, total.
Detailed worklogs
One row per worklog the run looked at, with its status (billable, non-billable and why, or no rate) and the invoice it landed on. Useful for checking a client's query.
Printable
A print view, one client per page, and a standalone HTML download.
Every file is plain UTF-8 CSV, with cell text protected against spreadsheet formula injection.
Who can do what
Jira admins can do everything.
Billing users, chosen by an admin, can see rates, preview, export, finalise and void.
Everyone else sees a "no access" message.
Worklogs are read with the signed-in user's own Jira permissions. A billing user can only bill time on issues they can see; if a client has projects they can't see, the run says so.
Limits
A run covers up to 92 days, 60,000 worklogs and 200 invoices.
Up to 200 clients, 200 projects and 200 per-person rates per client, and 100 billing users.
A project belongs to one client. One currency and one tax rate per client.
No discounts, expenses or fixed-fee lines; the app invoices time.
Editing a worklog in Jira after it was invoiced does not change the finalised run. Void the run and run it again.
FAQ
Does the app connect to my Xero or QuickBooks account?
No. It produces files you import. There is nothing to authorise and nothing that can write to your ledger on its own.
Does it change anything in Jira?
No. The app only reads worklogs; it has no permission to write Jira data. Its own records (clients, rates, runs) are stored in Atlassian's Forge storage for your site.
Can two people finalise at the same time?
Yes. Invoice numbers are claimed one at a time, so no two invoices ever get the same number. If a browser closes mid-way, the run shows as incomplete, still reserves its worklogs, and can be voided.
Where is our data stored?
In Atlassian's Forge storage for your site, hosted by Atlassian. The app stores account IDs for billing users, per-person rates and who finalised a run, and nothing else personal. See the privacy policy.
What happens if our licence lapses?
The app becomes read-only: settings and run history stay visible, and preview, finalise and void are paused until a Jira admin renews. Nothing is deleted.