Plumbworks

Plumbworks / Instance Ledger / Jira Cloud

Find out what your Jira instance is charging you for and nobody uses.

Instance Ledger finds the seats you are paying for that nobody is using, and puts an annual cost next to each one. Built for the week before renewal: one scan, one number, and the seat-count argument is over.

Licence report  ·  90-day inactivity threshold 1,840 seats billed
217 users, no issue activity in 90 days, still licensed Longest dormant: 611 days $26,040 / yr
82 seats with no recorded issue activity anywhere in the window Often granted automatically by group membership and never opened $9,840 / yr
9 directory accounts with no Jira licence — excluded Confluence-only users hold no Jira seat; they are detected and never counted $0 / yr
Total recoverable at next renewal $35,880

Costs are calculated from the per-seat rate you set from your own Atlassian invoice, not a generic average. Activity means Jira issue activity — Jira Cloud does not expose login data to apps, and we say so rather than guess.

What it checks

The licence ledger first, then the configuration debris around it — projects, fields, admin rights, headroom. Scans run weekly in the background or on demand, and every finding exports to CSV so you can hand it to whoever owns the budget.

  • licencesDormant seats. Users with no issue activity inside your chosen window, with the annual cost of each one at the per-seat rate you set.
  • licencesOnly licensed users counted. Directory accounts with no Jira product access — Confluence-only users, for instance — are verified and excluded, so the dollar figure never includes seats you aren't paying for.
  • thresholdsYour definition of dormant. Set the dormancy threshold and the activity window to match how your organisation actually works; seasonal users need a longer leash.
  • scheduleWeekly scan. Runs automatically in the background once a week, or on demand when renewal is next Tuesday — with live progress, and the previous report stays usable while it runs.
  • exportCSV out. Dormant users or the full user list, with activity dates and per-seat cost, ready for finance or your IdP team. Every file states the scan date and the assumptions used.
  • projectsDormant projects. Projects with no issue activity in your window, with last activity dates — archive candidates, listed separately because they cost attention, not money.
  • fieldsUnused and duplicate custom fields. Custom fields with no value on any issue, ranked by how many screens and contexts each is wired into, plus duplicate definitions grouped by name and type. Atlassian's locked default fields are excluded, not accused.
  • adminsAdmin sprawl. Who holds site and project admin rights, least recently active first — measured by issue activity, stated as such. Org-admin roles live outside Jira and are labelled as not visible.
  • headroomHeadroom. Where your site sits against Atlassian's published guardrails — work items and projects gauged against the real site-wide numbers; fields, statuses and work types counted with their per-configuration limits for context.
  • honestyNo confident wrong numbers. If a scan is incomplete, the app suppresses the dollar figure and says so. Unconfirmed access is labelled, not hidden.
acme.atlassian.net / settings / apps / instance-ledger Licences Settings Dormant seats THRESHOLD: 90 D GROUP: ALL EXPORT RUN SCAN USER LAST ISSUE ACTIVITY SEAT COST STATUS AR Anika Rao 611 days $120 / yr DORMANT TW Tom Whitfield 402 days $120 / yr DORMANT MO Marta Okonkwo 233 days $120 / yr DORMANT SB Sam Bergström 180+ days $120 / yr DORMANT PN Priya Nair no activity since access granted 97 days $120 / yr DORMANT + 294 more — export to CSV for the full list 299 DORMANT SEATS $35,880 / YR RECOVERABLE
Instance Ledger, dormant-seats view — simplified rendering, not a screenshot

On the roadmap

The rest of the ledger, planned but not yet built. Listed so you know where the app is heading — buy it for the licence report it is today, not for this list. If one of these would change your decision, email us and say so; that is genuinely how the order gets set.

  • plannedIdP drift. Accounts disabled in your identity provider that still hold paid Atlassian product access — disabling in the IdP does not stop Atlassian billing, and this is where the most expensive surprises live.
  • plannedPermission exposure. Schemes granting browse or edit to anonymous users, "anyone on the internet" links, and groups with unexpectedly broad reach. Requires deeper read permissions than the base install, so it will ship behind a separate optional grant.
  • plannedOrphaned workflows and screens. Schemes attached to no active project, with a preview of what unlinking each one would touch. Same optional-grant tier as permission exposure.

Read-only until you say otherwise

The default installation requests no write permissions. Instance Ledger physically cannot change your instance, which is the answer to the first question every change board asks.

Cleanup actions — bulk-deactivating dormant users, for instance — are planned rather than shipped. When they arrive, they will sit behind a separate permission grant you approve later, if you want them at all, and every action will open an impact preview and write an entry to your Atlassian audit log when it runs.

Pricing

Billed by Atlassian at the same user tier as your largest Jira product, and charged on your existing Atlassian invoice. Free for instances of 10 users or fewer.

UsersPer user / monthMonthly
1 – 10free$0
11 – 100$1.30$130 at 100
101 – 500$0.75$375 at 500
501 – 1,000$0.45$450 at 1,000
1,001 +$0.28$515 at 1,840

At 1,840 users the app costs about $6,180 a year. The sample report above finds $35,880.

Questions

How long does a scan take?

Seconds on most instances, a few minutes on large sites with heavy issue history. Scans run in the background with live progress, and the previous report stays visible and usable throughout.

Does it measure logins?

No — and no Forge app can. Jira Cloud does not expose login data to apps, so Instance Ledger measures issue activity: creating, commenting and transitioning work. A user who only reads boards will look dormant. We state this openly because a licence tool that hides its measurement isn't one you should trust.

What about bots and service accounts?

App accounts (Marketplace apps, integrations, bots) and Jira Service Management portal customers don't consume Jira licences and never appear in the dormant list. Issue activity created through the API by a real user account counts the same as activity in the browser.

How does the report reach whoever owns the budget?

Export it as CSV from the admin page — dormant users or the full list, with the scan date and cost assumptions stated in the file. Scheduled email delivery is not built today.

What happens to my data if I uninstall?

Nothing to delete on our side, because nothing left your tenant. Forge app storage is removed by Atlassian when the app is uninstalled.