Skip to content

Time tracking on Linux, with the invoice on the end of it

Linux is where this category thins out. The trackers that record your work without a timer are built for Windows and macOS and usually stop there; the tools that bill properly on Linux want you to type the hours in yourself. BillNotch is one desktop app compiled for all three platforms in the same release, and the hours it captures on Fedora or Ubuntu land on the same PDF invoice as everyone else’s.

.deb · .rpm · .AppImage

Start tracking free14 days, no card. Pro is $9/mo — less than one billable hour.

Does BillNotch run natively on Linux?

Yes, and in the ordinary sense of the word: a native desktop application, not the dashboard in a browser tab. It ships as a .deb, an .rpm and an .AppImage, so you install it the way you install anything else on your distribution.

Linux is not a port that trails the real builds by a version or two. Every release is compiled on Linux, Windows and macOS in the same run, from the same source, and the tracker’s core tests run on all three platforms in continuous integration. There is no reduced Linux feature set and no waiting list.

What the Linux app does while you work

It reads the focused window

The tracker records which application and window is in front of you and how long that stretch lasted, second by second. There is no timer to start, and nothing to reconstruct on Friday afternoon.

It leaves idle time off the bill

When you stop touching the machine the interval closes. Lunch, a phone call and an hour in a meeting room do not quietly accumulate against whatever window happened to be open.

It survives a dropped connection

Every captured interval is written to a local SQLite file first and uploaded in batches once the network is back. The uploads are idempotent, so a retry can never bill the same hour twice.

It sorts the work before it uploads

A keyword matcher runs on your own machine against your own project list and stamps a project when it is confident. Anything it is unsure of waits for you on the Review screen rather than being guessed at.

The rest of the loop happens in the browser, on any distribution: you confirm the day’s suggestions, the billable total adds itself up, and a client and date range become a PDF invoice. How the automatic capture works covers that end to end.

What about Wayland?

This is the question that decides whether a Linux tracker is any use to you, so here is the specific answer rather than a checkbox. On X11 the active window is readable and capture simply works. On Wayland it depends on your compositor, because Wayland deliberately does not let one application read another’s window by default.

BillNotch speaks the wlr-foreign-toplevel protocol, which covers the wlroots family including Sway and Hyprland, and KDE Plasma’s KWin. Where that is unavailable it falls back to reading the window through XWayland. GNOME’s Mutter offers neither, so on a GNOME Wayland session automatic capture cannot work — and the app says so on its own screen instead of recording a silent zero for the day. Your options there are an X11 session or the manual timer in the dashboard.

Compositor behavior varies more than any table can capture, so the honest advice is to install it and look: the tracker tells you within seconds whether it can see your session. Wayland is a limit every automatic tracker on Linux runs into, not a BillNotch quirk — the difference is only whether the app admits it.

Where the API key is kept

You connect the desktop app to your account with a key you issue and can revoke. On Linux that key goes into the Secret Service — GNOME Keyring or KWallet, whichever your desktop provides — and on a session without one, into the kernel keyring instead. It is never written to a dotfile, an environment variable or a config directory, and there is no plaintext fallback to fall back to.

When ActivityWatch or Kimai is the better pick

Linux has a better open-source tracking ecosystem than the commercial picture suggests, and two of those tools are the right answer often enough to name here.

If you want to see where your hours go and you do not bill anyone, ActivityWatch is free, open source, native on Linux, stores everything locally, and is hard to beat at that job. It has no invoicing, no rates and no client billing, because it was never trying to be that.

If self-hosting matters more to you than automatic capture, Kimai is AGPL, runs on your own server, and genuinely produces invoices from timesheets. Its tracking is manual entry, so the accuracy of the bill still rests on you remembering to log. BillNotch is the narrower case: automatic capture and invoicing in one product, hosted by us. Pick against that trade honestly. The full Linux field works through the rest of the options, commercial and open source.

What it will not do for you

The desktop app tracks; the invoicing lives in the BillNotch dashboard. They are connected, but they are not the same window, and if you wanted a Linux binary that emits PDFs on its own this is not it. BillNotch is also hosted software rather than something you run yourself, which for part of this audience is the whole conversation — see Kimai above.

The rest of the list: there is no mobile app, no free tier — a 14-day trial and then $9 a month — and the tracker only ever sees the machine it is installed on, so work done away from the keyboard needs a manual entry or a connected calendar.

Install it and work a normal day

A 14-day trial, no card, and you will know inside an afternoon whether capture works on your session. If you would rather read first, time tracking software for Linux compares the whole field, the automatic time tracker explains what gets recorded and what never does, and pricing lists both plans.

Start tracking free