Skip to content

An automatic time tracker that ends at the invoice

Most trackers described as automatic still hand you a timeline to sort out later. BillNotch is built around the whole distance: a desktop app records your work while you do it, the activity is matched to client projects, you approve anything the tracker is unsure about, and the billable total becomes a PDF invoice. The only step that asks for your attention is the one where your judgement actually matters.

capture → categorize → review → invoice

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

Passive vs automatic time tracking

The two names describe the same thing from different angles. Passive time tracking means the record is made without you starting or stopping anything: the software watches the active window (the app, document, or site in front of you) and turns it into time entries. Automatic time tracking is that same capture read as a workflow, the tracker doing the logging so you don’t have to. Both are the opposite of a manual timer, where you press start when a task begins and stop when it ends, and the record is only ever as complete as your memory was that day.

The distinction that matters is not the label but what happens after capture. A passive log that stops at a timeline still leaves you sorting a wall of activity by hand. BillNotch carries the same automatic capture through categorization, review, and an invoice, so the record becomes a bill rather than another report to read.

How does automatic time tracking work?

Four stages, and you are only present for the third.

  1. 01

    The desktop app records the active window

    Install it once on Windows, macOS, or Linux and sign the device in with an API key you issue. From then on it records which app and window is in front of you, second by second, and notices when you go idle. Nothing to start, nothing to stop.

  2. 02

    The activity is matched to a project

    A keyword matcher runs on your own machine first and stamps a project on the upload when it is confident. On the server, new activity is matched by similarity against the entries you have already confirmed, so the tracker gets more accurate at your work specifically, not at work in general.

  3. 03

    Anything uncertain waits for you on Review

    A suggested project is stored as a draft, never written silently onto the entry. Review shows the day’s drafts (plus any calendar meetings you connected) and you confirm, correct, or reject each one. Every correction becomes a rule that handles the next occurrence on its own.

  4. 04

    The billable total becomes an invoice

    Billable status is inherited from the project, so the total is already correct. Generate a PDF invoice for a client and period, or export the CSV. The Revenue Leak Finder then scans for billable time that was tracked and never invoiced.

How active-window time tracking works

The capture underneath all of this is simple. At any moment your operating system has exactly one window in the foreground, the app you are focused on, and it publishes a label for it: the application name and the window title. Windows exposes this through GetForegroundWindow and GetWindowText, macOS through NSWorkspace and the Accessibility API, and Linux through the active-window property on X11 or the compositor on Wayland. These are the documented interfaces that accessibility tools and window managers already use. The tracker polls them every few seconds, notices any change, and records how long each window stayed in front. That is the whole of active window time tracking: an application, a title, and a duration, sampled across your day.

A window title is the text in the title bar, and it is often descriptive: the document name in Figma, the workspace folder in VS Code, the tab open in a browser. That is what makes the capture useful, because a keyword on a project or a client name sorts the time on its own. It is also why the title is the sensitive part, so BillNotch lets you keep window titles on the device that recorded them.

What the method leaves out is the line between measurement and surveillance. There are no screenshots, no keystroke logs, no mouse tracking, and no screen recording. The tracker reads a label the operating system already publishes; it never reaches inside the app to read the body of a document, an email, or a message. A keylogger answers what you typed. Active-window tracking answers which app, for how long. Pointed at your own work and shown only to you, it is a measurement tool, not a monitor.

What the tracker records, and what it never touches

What it records

  • The application in the foreground and its window title.
  • How long each stretch of work lasted, to the second.
  • When you stopped touching the machine, so idle time is not billed.
  • Optionally, the domain of the tab you are on, via the browser extension.

What it does not

  • No screenshots. The tracker never captures your screen.
  • No keystrokes. Nothing you type is read or stored.
  • No webcam, microphone, or location.
  • No page URLs or tab titles unless you opt in: the extension sends domains only.

Is an automatic time tracker private?

It depends entirely on where the data goes, so here is where ours goes. Activity syncs to your own BillNotch account over an API key you issue and can revoke; on the desktop that key lives in your operating system’s keychain, never in a config file. You choose the sync mode per device, and window titles can stay on the machine that recorded them.

The matching that makes categorization work is deliberately local to the server: activity is compared against your organization’s own confirmed history using an embedder that runs in-process, so window titles are never sent to a model provider to be embedded. A language model is only involved for genuinely novel activity, and it never runs while your time is being ingested. Data is processed on EU servers and is never sold. This is a tracker built for the person doing the work, not for someone watching them.

How it differs from a timer-based tracker

A stopwatch measures the time you remembered to measure. That is a different quantity from the time you worked, and the gap is where hourly revenue quietly goes.

With a manual timer

  • You start it, or you don’t, and the hour is gone.
  • The five-minute jobs never get one at all.
  • Friday is spent reconstructing Tuesday from memory.
  • The record is as good as your discipline was that week.

With automatic capture

  • The work is recorded whether or not you thought about it.
  • Short tasks land in the log like everything else.
  • Friday is spent confirming a list, not rebuilding a week.
  • The record is what happened; your job is to price it.

The manual timer is still there on the dashboard when you want one. Some work is easier to bracket by hand. It is simply no longer the thing your income depends on. It also answers a narrower question cleanly, like how much time you actually spend in Notion, because the app you were in is part of every record.

Why another time tracker?

It is a fair question, and the category is genuinely crowded. But the tools in it tend to solve one half of the job. The timer apps built around invoicing still need you to press start, which is the exact moment the hour goes missing. The trackers that do fix the timer problem usually pay for it with surveillance (screen recording, screenshots on an interval, keystroke counts) and most of them stop at a report, leaving the bill to a second tool and a spreadsheet in between. Memtime is the honest exception on privacy, automatic and offline with no screenshots, but it still stops before the invoice, which the Memtime review works through.

BillNotch is the answer to both at once: capture that needs nothing from you, with no screenshots and no keystroke logging, and an invoice at the end of it. That combination is the whole claim: not that nobody else tracks time, but that the version which records your hours without watching you, and then bills them, is the one that was missing. A time tracker without screenshots sets out that half in detail, down to where the window titles go.

Where it runs

The desktop tracker is a native app for Windows, macOS, and Linux: the third one matters, because most of this category skips it. Every release is built and tested on all three, and the native Linux app gets its own page on packaging and Wayland. Two optional companions feed the same log: a Chrome extension that reports the domain of your active tab to sharpen categorization, and a Google or Microsoft calendar connection that turns your meetings into suggested entries on the same review screen.

What it will not do for you

The review step is not a rough edge waiting to be smoothed away. It is the design. A suggested project sits in a draft column until you accept it, because an invoice is a claim you are making to a client and software should not make it on your behalf. If you want a tracker that decides silently and hopes you never audit it, this is the wrong one.

The rest of the honest list: the tracker only sees the machine it is installed on, so work done on paper or in a meeting room needs a manual entry or a connected calendar. There is no mobile app. There is no free tier: a 14-day trial, then $9 a month. And on day one the categorization knows nothing about your clients; it earns its accuracy from the corrections you make in the first week.

Start with the tracked hours you already lost

A 14-day trial, no card. If you would rather read first: how to track billable hours accurately. Weighing it against a timer you already use? BillNotch vs Toggl Track puts the two side by side, and pricing lists both plans.

Start tracking free