Track time. Sell it as prepaid hours. Invoice it.
TimeWren is open-source time tracking for freelancers and small agencies. Clients buy a block of hours, every time entry draws it down, and the invoice is built from the same entries.
AGPL-3.0. Every feature in every install.

Prepaid hours, built in
In Denmark this is called a klippekort: a punch card for hours. A client buys 20 hours up front. Each time entry punches out the time it used, the client sees the balance in their own portal, and you are warned before it runs out.
- Hour packages per client
- Time entries deduct from the package automatically
- A warning when the balance runs low
- Clients see hours used, hours left and invoices in the client portal
Example: a 20-hour package

No locked features
There is one edition of TimeWren, and all of it is open source. A self-hosted instance has no plans, seat limits, trials or licence keys. TimeWren Cloud runs the same code. You pay Cloud to run it for you, not to unlock anything.
- Time tracking
- Live timer, manual entries, week timesheet, CSV import
- Prepaid hours
- Packages per client with automatic deduction and alerts
- Invoicing
- PDF invoices, email delivery, sync to Billy, Dinero and e-conomic
- Client portal
- Clients see hours, packages and invoices
- Tasks
- Kanban board, and email to task over IMAP
- Teams
- Organisations, roles, weekly timesheets and approval
Self-host it, or let us run it
| Self-hosted | TimeWren CloudComing soon | |
|---|---|---|
| Price | Free, forever | Monthly subscription |
| Features | All of them | All of them |
| Who runs it | You, with Docker Compose | We do |
| Updates | You pull and rebuild | Applied for you |
| Backups | Scripts included, you schedule them | Included |
| Support | Community, on GitHub | Email support |
| Telemetry | Off by default, with listed exceptions | Error reports and analytics |
Install on a server with Docker
The script checks Docker, writes fresh secrets to .env, builds and starts the stack. It never uses sudo and never prints the secrets.
git clone https://github.com/timewren/timewren.git
cd timewren
./scripts/install.shWhere you track
Web app
In any browser, and installable as an app on desktop and phone.
AvailableBrowser extension
Start and stop the timer from any tab. Chrome and Firefox, MIT licence.
AvailableDesktop app
macOS and Windows.
ComingMobile app
iOS and Android.
Coming
Read it, run it, change it
TimeWren is licensed under the GNU AGPL-3.0, and the browser extension under MIT. Issues, discussions and pull requests happen in the open. Contributions are signed off under the Developer Certificate of Origin.
Questions
Is self-hosting really free?
Yes. The self-hosted version has every feature, with no time limit, seat limit or licence key. You pay for your own server.
What does TimeWren Cloud cost?
Prices are not published yet. The pricing page will show them in EUR, USD and DKK when Cloud opens.
What do I need to self-host?
A Linux server with Docker and Compose v2.24 or newer, 2 GB of RAM to run it and 4 GB to build the image. For anything beyond trying it on localhost you also need a domain and TLS.
Does a self-hosted instance send data anywhere?
Analytics and error reporting are off until you configure them. A few requests still leave the browser or server by default, for example a Google Ads tag in the page and a check for new releases on GitHub. The telemetry section of the guide lists all of them and how to remove them.
Which accounting systems does it work with?
Billy, Dinero and e-conomic, which are Danish. Every invoice is also available as a PDF.
How is TimeWren related to TimeTrack?
TimeTrack is the Danish product at timetrack.dk that TimeWren grew out of. It is the same code under a new name.