GitHours vs GitInvoiced
Two tools that both turn git history into paperwork — only one of them connects to your repository host directly.
At a glance
- How hours are producedGitHours and GitInvoiced
- GitHours derives hours from commit timestamps. GitInvoiced parses a pasted git log --shortstat output, using a fixed or auto-detected per-commit time window and a session-break threshold the user sets.
- Repository connectionGitInvoiced
- No GitHub/GitLab integration
- Where the commit data is processedGitHours and GitInvoiced
- GitHours clones the repository to a temporary directory on its own server and analyzes commit metadata there. GitInvoiced runs entirely in the browser, with no server round-trip of the commit log.
- OutputGitHours and GitInvoiced
- GitHours produces PDF and CSV reports plus an expiring client-shareable link. GitInvoiced produces a client-side-rendered PDF invoice.
- Stated accuracy methodologyGitHours and GitInvoiced
- GitHours publishes its session-reconstruction methodology and gap-threshold default on its own documentation and accuracy pages. GitInvoiced states none on its page.
Facts verified 2026-07-29
Paste a log, or connect a repository
GitInvoiced (tagline: “Generate invoices from your git commits.”, footer credit “© 2024 Nick Payne”) asks the user to run git log --shortstat themselves and paste the output into the page. From there it lets the user pick a fixed or auto-detected per-commit time window and set a session-break threshold. GitHours instead connects directly — by cloning a repository URL or accepting an uploaded git bundle — so a repeat monthly report is a fresh run against the current history, not a new paste every time.
Where the analysis happens
The two tools draw the line between your machine and their servers in different places. GitInvoiced draws it furthest, and states its position this way:
“100% in-browser: nothing ever leaves your computer.”
GitHours draws that line somewhere else, and it is worth stating exactly where. To analyze a repository, GitHours clones it into a temporary directory on its own server — a full working copy, file contents included — or expands an uploaded git bundle into one. The analysis reads only commit metadata: timestamps, authors, messages and parent hashes. No file content is read into a report, a share link, or an export. That working copy stays on the server after the analysis so a repeat report can reuse it. Nothing in the application deletes it automatically; it is removed only when the environment the server runs in replaces or clears its temporary storage. GitInvoiced's in-browser model avoids that step altogether; GitHours trades it for a direct repository connection and a report a client can open without installing anything.
What comes out the other end
GitInvoiced's output is a client-side-rendered PDF invoice, generated directly in the browser. GitHours produces PDF and CSV reports plus an expiring link a client can open to review the work themselves — a time report built to be checked, not just an invoice to be paid. GitInvoiced states no accuracy methodology on its page; GitHours publishes its methodology on its own documentation and accuracy pages — the gap threshold, the session-reconstruction rule, and the assumptions behind them.