People and provider identities
How EngLedger maps GitHub, Bitbucket and Jira accounts to the people in your reports, and why unlinked identities mean unattributed work.
Updated 12 July 2026
The same person usually appears under different accounts across your tools: a Jira account, a GitHub username, sometimes a second Git author email from a laptop rebuild years ago. EngLedger separates the two ideas so this doesn't corrupt your reporting:
- A person is someone in your organisation, the unit your reports measure. People have a name, an email, an employment start date and a dated history of hourly rates.
- A provider identity is an account observed in synced data: a Jira user who logged time, the author of a commit, a pull request reviewer. Identities accumulate automatically as data syncs; you never create them by hand.
Linking identities to people is the bridge between raw tool activity and the person it belongs to.
How identities are discovered
Every sync records the accounts it sees. From Jira: ticket assignees, reporters, worklog authors and status-change authors. From GitHub and Bitbucket: commit authors, pull request authors and reviewers. Each unique account per provider becomes one identity, with whatever display name, username and email the provider exposes.
Automatic linking
After each sync, EngLedger compares unlinked identities against your people. When an identity's email exactly matches a person's primary email, it's linked automatically and shown under the Auto-linked tab on the Identities page. Matching is by exact email only: there's no fuzzy name-guessing, because a wrong automatic link silently misattributes one person's work to another.
Manual linking
Identities that can't be matched automatically (a Git author email like
dev@localhost, a Jira account with a hidden email) wait under the
Unlinked tab. Pick the person from the dropdown and link them, or add
a new person on the spot. Links can be undone at any time, and every
identity shows which person it resolves to.
What unlinked identities mean for your numbers
This is the part worth being precise about, because it changes report totals:
- Commit-based effort is only generated for linked identities. Commits from an unlinked author produce no effort at all until the identity is linked, after which the past year of their commits is processed retrospectively.
- Worklog-based effort is recorded, but without a person. The hours exist in the ledger, but with no person there's no hourly rate, so the entry carries no cost, and it won't appear in per-person or per-team breakdowns.
Either way, an unlinked identity means your reports understate someone's work. If a person's numbers look low, the Identities page is the first place to check. The same advice appears in troubleshooting.
Where this fits
Identity mapping is step four of getting started. Once identities resolve to people, the effort ledger can attribute hours, apply rates and roll everything up. See the effort model for what happens next, and teams and initiatives for how linked people group into reporting views. The full picture of engineering cost lives in the R&D ledger. Keeping identities current is one of the habits in the best practices guide.